Skip to content

GitHub: List concurrency groups for a workflow run

GitHub actions.actionsListConcurrencyGroupsForWorkflowRun: arguments, response, policy and SDK examples.

← Actions operations · Get started

Operation github.actions_list_concurrency_groups_for_workflow_run

Provider route: GET /repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/github with npm, or alter-sdk-github with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { GitHubIntegration } from "@alter-ai/github";
async function execute(input: Parameters<GitHubIntegration["actions"]["actionsListConcurrencyGroupsForWorkflowRun"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new GitHubIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.actions.actionsListConcurrencyGroupsForWorkflowRun(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_github import GitHubIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = GitHubIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.actions.actions_list_concurrency_groups_for_workflow_run(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.ownerstringRequired within parent
path.repostringRequired within parent
path.run_idintegerRequired within parent
queryobjectOptionalAdditional keys: not allowed
query.per_pageintegerOptionalDefault: 30
query.beforestringOptional
query.afterstringOptional

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand List concurrency groups for a workflow run — response body

Referenced models: List concurrency groups for a workflow run — response body

List concurrency groups for a workflow run — response body
FieldTypePresenceDescription and constraints
$objectRootA list of concurrency groups associated with a workflow run.
concurrency_groupsarrayRequired within parent
concurrency_groups[]objectEach item
concurrency_groups[].group_membersarrayRequired within parentItems belonging to this workflow run that are either currently holding or
waiting for the concurrency group lease. May be empty if the run no
longer has any active or queued items in this group.
concurrency_groups[].group_members[]objectEach item
concurrency_groups[].group_members[].job_html_urlJSONOptional
concurrency_groups[].group_members[].job_html_url (anyOf 1)stringAlternativeWeb URL for the job.
Format: uri
concurrency_groups[].group_members[].job_html_url (anyOf 2)nullAlternative
concurrency_groups[].group_members[].job_idJSONOptional
concurrency_groups[].group_members[].job_id (anyOf 1)JSONAlternative
concurrency_groups[].group_members[].job_id (anyOf 1) (anyOf 1)integerAlternativeThe ID of the job, when the item represents a job-level or reusable-workflow-level lease.
concurrency_groups[].group_members[].job_id (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
concurrency_groups[].group_members[].job_id (anyOf 2)nullAlternative
concurrency_groups[].group_members[].job_nameJSONOptional
concurrency_groups[].group_members[].job_name (anyOf 1)stringAlternativeThe display name of the job, when the item represents a job-level or reusable-workflow-level lease.
concurrency_groups[].group_members[].job_name (anyOf 2)nullAlternative
concurrency_groups[].group_members[].job_urlJSONOptional
concurrency_groups[].group_members[].job_url (anyOf 1)stringAlternativeAPI URL for the job.
Format: uri
concurrency_groups[].group_members[].job_url (anyOf 2)nullAlternative
concurrency_groups[].group_members[].positionJSONRequired within parent
concurrency_groups[].group_members[].position (anyOf 1)integerAlternativeQueue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending).
concurrency_groups[].group_members[].position (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
concurrency_groups[].group_members[].position_urlstringRequired within parentAPI URL to get items ahead of this item in the concurrency group.
Format: uri
concurrency_groups[].group_members[].run_html_urlJSONRequired within parent
concurrency_groups[].group_members[].run_html_url (anyOf 1)stringAlternativeWeb URL for the workflow run.
Format: uri
concurrency_groups[].group_members[].run_html_url (anyOf 2)nullAlternative
concurrency_groups[].group_members[].run_idJSONRequired within parent
concurrency_groups[].group_members[].run_id (anyOf 1)integerAlternativeThe ID of the workflow run.
concurrency_groups[].group_members[].run_id (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
concurrency_groups[].group_members[].run_namestringRequired within parentThe name of the workflow run.
concurrency_groups[].group_members[].run_urlJSONRequired within parent
concurrency_groups[].group_members[].run_url (anyOf 1)stringAlternativeAPI URL for the workflow run.
Format: uri
concurrency_groups[].group_members[].run_url (anyOf 2)nullAlternative
concurrency_groups[].group_members[].statusstringRequired within parentKnown values: in_progress, pending
concurrency_groups[].group_namestringRequired within parentThe name of the concurrency group.
concurrency_groups[].group_urlstringRequired within parentAPI URL for this concurrency group. May return 404 if the group
has no active items at the time it is requested, since the
get-by-name endpoint reports the live repo-wide state of a group
while this endpoint lists groups associated with a run by
configuration.
Format: uri
total_countJSONRequired within parent
total_count (anyOf 1)integerAlternativeThe total number of concurrency groups this workflow run participates in,
derived from the run's configuration. This count is not filtered by
whether the run currently holds or is waiting in each group, so it can
include groups whose `group_members` array is empty (for example, when
the run has already released its lease in that group).
total_count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

SDK function policy ID: github.actions_list_concurrency_groups_for_workflow_run. Catalog operation: actions/list-concurrency-groups-for-workflow-run. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"X-GitHub-Api-Version": "2026-03-10", "User-Agent": "Alter", "Accept": "application/vnd.github+json"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.