Skip to content

Get a concurrency group for a repository

GET
/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}

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.

API method documentation

owner
required
string

The account owner of the repository. The name is not case sensitive.

repo
required
string

The name of the repository without the .git extension. The name is not case sensitive.

concurrency_group_name
required
string

The name of the concurrency group.

ahead_of_run
integer
>= 1

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.

ahead_of_job
integer
>= 1

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 ahead_of_run.

Response

Media type application/json
Concurrency Group

A concurrency group with the workflow runs and jobs that are either currently holding or waiting for the concurrency group lease.

object
group_name
required

The name of the concurrency group.

string
group_url
required

API URL for this concurrency group.

string format: uri
total_count
required
integer
group_members
required
Array<object>
object
run_id
required

The ID of the workflow run.

integer
run_name
required

The name of the workflow run.

string
run_url
required

API URL for the workflow run.

string format: uri
nullable
run_html_url
required

Web URL for the workflow run.

string format: uri
nullable
job_id

The ID of the job, when the item represents a job-level or reusable-workflow-level lease.

integer
job_name

The display name of the job, when the item represents a job-level or reusable-workflow-level lease.

string
job_url

API URL for the job.

string format: uri
nullable
job_html_url

Web URL for the job.

string format: uri
nullable
status
required
string
Allowed values: in_progress pending
Examples
Example default
{
"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"
}
]
}

Resource not found

Media type application/json
Basic Error

Basic Error

object
message
string
documentation_url
string
url
string
status
string
Example generated
{
"message": "example",
"documentation_url": "example",
"url": "example",
"status": "example"
}

Validation failed, or the endpoint has been spammed.

Media type application/json
Validation Error

Validation Error

object
message
required
string
documentation_url
required
string
errors
Array<object>
object
resource
string
field
string
message
string
code
required
string
index
integer
value
One of:
string
nullable
Example generated
{
"message": "example",
"documentation_url": "example",
"errors": [
{
"resource": "example",
"field": "example",
"message": "example",
"code": "example",
"index": 1,
"value": [
"example"
]
}
]
}