Why
When reconciling issue counts on a release group against the sum of its
member projects, the very first thing a support engineer or internal tool
needs to do is resolve a release-group title/ID to its member projects and
their pinned revisions. fossapi has no commands for this today, so every
investigation starts with raw curl against /api/project_group/....
Current workaround
curl -H "Authorization: Bearer $FOSSA_API_KEY" \
https://app.fossa.com/api/project_group # list
curl -H "Authorization: Bearer $FOSSA_API_KEY" \
https://app.fossa.com/api/project_group/<id> # detail + member projects
Sample response (detail, abbreviated):
{
"id": 1234,
"title": "My Release Group",
"policyId": 1001,
"securityPolicyId": 1002,
"qualityPolicyId": 1003,
"releases": [{
"id": 5678,
"title": "1.0",
"unresolved_security_issue_count": 2,
"unresolved_licensing_issue_count": 4,
"unresolved_quality_issue_count": 0,
"projects": [{
"projectId": "custom+<orgId>/<repo>",
"branch": "main",
"revisionId": "custom+<orgId>/<repo>$<sha>"
}]
}]
}
Proposed CLI surface
fossapi list release-groups [--title <substring>] [--json] [--page N] [--count N]
fossapi get release-group <id> [--json]
# Exits non-zero if the RG has no releases; otherwise prints release metadata
# and member projects with their pinned revisions.
Repro that currently can't be done via fossapi
# "Show me the member projects (with pinned revisions) for RG 1234"
# Today:
curl -sH "Authorization: Bearer $FOSSA_API_KEY" \
https://app.fossa.com/api/project_group/1234 | jq '.releases[0].projects'
# Desired:
fossapi get release-group 1234 --json | jq '.releases[0].projects'
Why
When reconciling issue counts on a release group against the sum of its
member projects, the very first thing a support engineer or internal tool
needs to do is resolve a release-group title/ID to its member projects and
their pinned revisions. fossapi has no commands for this today, so every
investigation starts with raw
curlagainst/api/project_group/....Current workaround
Sample response (detail, abbreviated):
{ "id": 1234, "title": "My Release Group", "policyId": 1001, "securityPolicyId": 1002, "qualityPolicyId": 1003, "releases": [{ "id": 5678, "title": "1.0", "unresolved_security_issue_count": 2, "unresolved_licensing_issue_count": 4, "unresolved_quality_issue_count": 0, "projects": [{ "projectId": "custom+<orgId>/<repo>", "branch": "main", "revisionId": "custom+<orgId>/<repo>$<sha>" }] }] }Proposed CLI surface
Repro that currently can't be done via fossapi