Puntos de conexión de la API REST para grupos de concurrencia de Acciones
Use la API REST para ver y administrar grupos de simultaneidad para flujos de trabajo de Acciones de GitHub.
Acerca de los grupos de simultaneidad en GitHub Actions
Puede usar la API REST para leer el estado de los grupos de GitHub Actions simultaneidad, lo que garantiza que solo se ejecutará un único trabajo o flujo de trabajo con el mismo grupo mientras que las ejecuciones adicionales están pendientes o canceladas en función de la configuración. Para obtener más información, vea Control de la simultaneidad de flujos de trabajo y tareas.
List concurrency groups for a repository
Lists the active concurrency groups for a repository.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Tokens de acceso granulares para "List concurrency groups for a repository"
Este punto de conexión funciona con los siguientes tipos de token pormenorizados:
- tokens de acceso de usuario de la aplicación de GitHub
- tokens de acceso de la aplicación de GitHub
- Tokens de acceso personal granulares
El token pormenorizado debe tener el siguiente conjunto de permisos:
- "Actions" repository permissions (read)
Este punto de conexión se puede usar sin autenticación o los permisos mencionados anteriormente si solo se solicitan recursos públicos.
Parámetros para "List concurrency groups for a repository"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
owner string ObligatorioThe account owner of the repository. The name is not case sensitive. |
repo string ObligatorioThe name of the repository without the |
| Nombre, Tipo, Descripción |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Valor predeterminado: |
after string A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see "Using pagination in the REST API." |
Códigos de estado de respuesta HTTP para "List concurrency groups for a repository"
| código de estado | Descripción |
|---|---|
200 | OK |
422 | Validation failed, or the endpoint has been spammed. |
Ejemplos de código para "List concurrency groups for a repository"
Ejemplo de solicitud
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/repos/OWNER/REPO/actions/concurrency_groupsResponse
Status: 200{
"total_count": 2,
"concurrency_groups": [
{
"group_name": "deploy-prod",
"group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod",
"last_acquired_at": "2026-01-15T16:14:23Z"
},
{
"group_name": "ci-build",
"group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build",
"last_acquired_at": "2026-01-15T16:13:55Z"
}
]
}Get a concurrency group for a repository
Gets a specific concurrency group for a repository, including all instances in the group's queue. Returns 404 if the group is inactive or does not exist.
Optionally, pass ahead_of_run or ahead_of_job to filter the results to only the items
ahead of the specified workflow run or job in the queue, plus the specified item itself
(returned as the last element). This is useful for determining what is blocking a particular
run or job. Returns 422 if the specified run or job is not in this concurrency group.
When using ahead_of_run, this matches workflow-level concurrency and any reusable-workflow
leases held on behalf of that run. Job-level leases within the run are not considered to
block the run as a whole. Use ahead_of_job to match job-level concurrency and reusable-workflow
leases on the job's ancestor paths.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Tokens de acceso granulares para "Get a concurrency group for a repository"
Este punto de conexión funciona con los siguientes tipos de token pormenorizados:
- tokens de acceso de usuario de la aplicación de GitHub
- tokens de acceso de la aplicación de GitHub
- Tokens de acceso personal granulares
El token pormenorizado debe tener el siguiente conjunto de permisos:
- "Actions" repository permissions (read)
Este punto de conexión se puede usar sin autenticación o los permisos mencionados anteriormente si solo se solicitan recursos públicos.
Parámetros para "Get a concurrency group for a repository"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
owner string ObligatorioThe account owner of the repository. The name is not case sensitive. |
repo string ObligatorioThe name of the repository without the |
concurrency_group_name string ObligatorioThe name of the concurrency group. |
| Nombre, Tipo, Descripción |
|---|
ahead_of_run integer Filter to items ahead of this workflow run ID in the queue, plus the run itself.
Matches workflow-level concurrency and reusable-workflow leases held on behalf of
the run. Mutually exclusive with |
ahead_of_job integer Filter to items ahead of this job ID in the queue, plus the job itself.
Matches job-level concurrency and reusable-workflow leases on the job's
ancestor paths. Mutually exclusive with |
Códigos de estado de respuesta HTTP para "Get a concurrency group for a repository"
| código de estado | Descripción |
|---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Ejemplos de código para "Get a concurrency group for a repository"
Ejemplo de solicitud
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/repos/OWNER/REPO/actions/concurrency_groups/CONCURRENCY_GROUP_NAMEResponse
Status: 200{
"group_name": "deploy-prod",
"group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod",
"total_count": 3,
"group_members": [
{
"run_id": 30433642,
"run_name": "Deploy to production",
"run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642",
"run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642",
"status": "in_progress"
},
{
"run_id": 30433643,
"run_name": "Deploy to production",
"run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643",
"run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643",
"status": "pending"
},
{
"run_id": 30433644,
"run_name": "Deploy hotfix",
"run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644",
"run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644",
"job_id": 798245260,
"job_name": "deploy",
"job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260",
"job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260",
"status": "pending"
}
]
}List concurrency groups for a workflow run
Lists all concurrency groups associated with a workflow run or its jobs.
The set of groups is derived from the run's configuration, so a group is
included even when the run no longer has any items currently holding or
waiting in it. In that case the group_members array will be empty.
total_count reflects the number of groups the run participates in by
configuration, not the number with active items.
This differs from GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name},
which returns 404 when a group has no active items. That endpoint reports
the live state of a group repo-wide, while this endpoint reports the
groups associated with a specific run by configuration.
Results are sorted by group name and support cursor-based pagination via
before and after. The after cursor paginates forward only and does
not emit a rel="prev" Link; use before to page backward from a
forward page's next cursor.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.
Tokens de acceso granulares para "List concurrency groups for a workflow run"
Este punto de conexión funciona con los siguientes tipos de token pormenorizados:
- tokens de acceso de usuario de la aplicación de GitHub
- tokens de acceso de la aplicación de GitHub
- Tokens de acceso personal granulares
El token pormenorizado debe tener el siguiente conjunto de permisos:
- "Actions" repository permissions (read)
Este punto de conexión se puede usar sin autenticación o los permisos mencionados anteriormente si solo se solicitan recursos públicos.
Parámetros para "List concurrency groups for a workflow run"
| Nombre, Tipo, Descripción |
|---|
accept string Setting to |
| Nombre, Tipo, Descripción |
|---|
owner string ObligatorioThe account owner of the repository. The name is not case sensitive. |
repo string ObligatorioThe name of the repository without the |
run_id integer ObligatorioThe unique identifier of the workflow run. |
| Nombre, Tipo, Descripción |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Valor predeterminado: |
before string A cursor, as given in the Link header. If specified, the query only searches for results before this cursor. For more information, see "Using pagination in the REST API." |
after string A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see "Using pagination in the REST API." |
Códigos de estado de respuesta HTTP para "List concurrency groups for a workflow run"
| código de estado | Descripción |
|---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Ejemplos de código para "List concurrency groups for a workflow run"
Ejemplo de solicitud
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/concurrency_groupsResponse
Status: 200{
"total_count": 2,
"concurrency_groups": [
{
"group_name": "deploy-prod",
"group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod",
"group_members": [
{
"run_id": 30433642,
"run_name": "Deploy to production",
"run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642",
"run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642",
"status": "in_progress",
"position": 0,
"position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642"
}
]
},
{
"group_name": "ci-build",
"group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build",
"group_members": [
{
"run_id": 30433642,
"run_name": "Deploy to production",
"run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642",
"run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642",
"status": "pending",
"position": 2,
"position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260",
"job_id": 798245260,
"job_name": "build",
"job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260",
"job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260"
}
]
}
]
}