Skip to main content

自托管运行器组

自托管运行器组 API 允许您管理自托运行器组。

关于自托管运行器组 API

自托管运行器组 API 允许你管理自托管运行器组。 有关详细信息,请参阅“使用组管理对自托管运行器的访问”。

此 API 适用于经过身份验证的用户、OAuth Apps 和 GitHub Apps。 对于专用存储库,访问令牌需要 repo 范围,对于 内部 存储库,则需要 public_repo 范围。 GitHub Apps必须具有对存储库的 administration 权限,或具有对组织的 organization_self_hosted_runners 权限。 经过身份验证的用户必须具有对存储库或组织的管理员访问权限或者企业的 manage_runners:enterprise 作用域才能使用此 API。

List self-hosted runner groups for an enterprise

Lists all self-hosted runner groups for an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Query parameters
Name, Type, Description
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

get/enterprises/{enterprise}/actions/runner-groups
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups

Response

Status: 200
{ "total_count": 3, "runner_groups": [ { "id": 1, "name": "Default", "visibility": "all", "default": true, "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/1/runners", "allows_public_repositories": false }, { "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/organizations", "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/2/runners", "allows_public_repositories": true }, { "id": 3, "name": "expensive-hardware", "visibility": "private", "default": false, "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner_groups/3/runners", "allows_public_repositories": true } ] }

Create a self-hosted runner group for an enterprise

Creates a new self-hosted runner group for an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Body parameters
Name, Type, Description
namestringRequired

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all organizations or select individual organization.

Can be one of: selected, all

selected_organization_idsarray of integers

List of organization IDs that can access the runner group.

runnersarray of integers

List of runner IDs to add to the runner group.

allows_public_repositoriesboolean

Whether the runner group can be used by public repositories.

Default: false

HTTP 响应状态代码

状态代码说明
201

Created

代码示例

post/enterprises/{enterprise}/actions/runner-groups
curl \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups \ -d '{"name":"Expensive hardware runners","visibility":"selected","selected_organization_ids":[32,91],"runners":[9,2]}'

Response

Status: 201
{ "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", "allows_public_repositories": false }

Get a self-hosted runner group for an enterprise

Gets a specific self-hosted runner group for an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

get/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID

Response

Status: 200
{ "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", "allows_public_repositories": false }

Update a self-hosted runner group for an enterprise

Updates the name and visibility of a self-hosted runner group in an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

Body parameters
Name, Type, Description
namestring

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all organizations or select individual organizations.

Default: all

Can be one of: selected, all

allows_public_repositoriesboolean

Whether the runner group can be used by public repositories.

Default: false

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

patch/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
curl \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID \ -d '{"name":"Expensive hardware runners","visibility":"selected"}'

Response

Status: 200
{ "id": 2, "name": "Expensive hardware runners", "visibility": "selected", "default": false, "selected_organizations_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/organizations", "runners_url": "https://api.github.com/enterprises/octo-corp/actions/runner-groups/2/runners", "allows_public_repositories": true }

Delete a self-hosted runner group from an enterprise

Deletes a self-hosted runner group for an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

HTTP 响应状态代码

状态代码说明
204

No Content

代码示例

delete/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
curl \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID

Response

Status: 204

List self-hosted runners in a group for an enterprise

Lists the self-hosted runners that are in a specific enterprise group.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

Query parameters
Name, Type, Description
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

get/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners

Response

Status: 200
{ "total_count": 2, "runners": [ { "id": 23, "name": "linux_runner", "os": "linux", "status": "online", "busy": true, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 11, "name": "Linux", "type": "read-only" } ] }, { "id": 24, "name": "mac_runner", "os": "macos", "status": "offline", "busy": false, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" }, { "id": 21, "name": "no-gpu", "type": "custom" } ] } ] }

Set self-hosted runners in a group for an enterprise

Replaces the list of self-hosted runners that are part of an enterprise runner group.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

Body parameters
Name, Type, Description
runnersarray of integersRequired

List of runner IDs to add to the runner group.

HTTP 响应状态代码

状态代码说明
204

No Content

代码示例

put/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners
curl \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners \ -d '{"runners":[9,2]}'

Response

Status: 204

Add a self-hosted runner to a group for an enterprise

Adds a self-hosted runner to a runner group configured in an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP 响应状态代码

状态代码说明
204

No Content

代码示例

put/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
curl \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_ID

Response

Status: 204

Remove a self-hosted runner from a group for an enterprise

Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP 响应状态代码

状态代码说明
204

No Content

代码示例

delete/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
curl \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_ID

Response

Status: 204

List self-hosted runner groups for an organization

Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. You must authenticate using an access token with the admin:org scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

get/orgs/{org}/actions/runner-groups
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups

Response

Status: 200
{ "total_count": 3, "runner_groups": [ { "id": 1, "name": "Default", "visibility": "all", "default": true, "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/1/runners", "inherited": false, "allows_public_repositories": true }, { "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/repositories", "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", "inherited": true, "allows_public_repositories": true }, { "id": 3, "name": "expensive-hardware", "visibility": "private", "default": false, "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/3/runners", "inherited": false, "allows_public_repositories": true } ] }

Create a self-hosted runner group for an organization

The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "GitHub's products."

Creates a new self-hosted runner group for an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

Body parameters
Name, Type, Description
namestringRequired

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.

Default: all

Can be one of: selected, all, private

selected_repository_idsarray of integers

List of repository IDs that can access the runner group.

runnersarray of integers

List of runner IDs to add to the runner group.

allows_public_repositoriesboolean

Whether the runner group can be used by public repositories.

Default: false

HTTP 响应状态代码

状态代码说明
201

Created

代码示例

post/orgs/{org}/actions/runner-groups
curl \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups \ -d '{"name":"Expensive hardware runners","visibility":"selected","selected_repository_ids":[32,91],"runners":[9,2]}'

Response

Status: 201
{ "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories", "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", "inherited": false, "allows_public_repositories": true }

Get a self-hosted runner group for an organization

Gets a specific self-hosted runner group for an organization. You must authenticate using an access token with the admin:org scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

get/orgs/{org}/actions/runner-groups/{runner_group_id}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID

Response

Status: 200
{ "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/repositories", "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", "inherited": false, "allows_public_repositories": true }

Update a self-hosted runner group for an organization

The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "GitHub's products."

Updates the name and visibility of a self-hosted runner group in an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

Body parameters
Name, Type, Description
namestringRequired

Name of the runner group.

visibilitystring

Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.

Can be one of: selected, all, private

allows_public_repositoriesboolean

Whether the runner group can be used by public repositories.

Default: false

HTTP 响应状态代码

状态代码说明
200

OK

代码示例

patch/orgs/{org}/actions/runner-groups/{runner_group_id}
curl \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID \ -d '{"name":"Expensive hardware runners","visibility":"selected"}'

Response

Status: 200
{ "id": 2, "name": "octo-runner-group", "visibility": "selected", "default": false, "selected_repositories_url": "https://api.github.com/orgs/octo-org/actions/runner-groups/2/repositories", "runners_url": "https://api.github.com/orgs/octo-org/actions/runner_groups/2/runners", "inherited": false, "allows_public_repositories": true }

Delete a self-hosted runner group from an organization

Deletes a self-hosted runner group for an organization. You must authenticate using an access token with the admin:org scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

HTTP 响应状态代码

状态代码说明
204

No Content

代码示例

delete/orgs/{org}/actions/runner-groups/{runner_group_id}
curl \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID

Response

Status: 204

Add a self-hosted runner to a group for an organization

Adds a self-hosted runner to a runner group configured in an organization. You must authenticate using an access token with the admin:org scope to use this endpoint.

参数

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
orgstringRequired

The organization name. The name is not case sensitive.

runner_group_idintegerRequired

Unique identifier of the self-hosted runner group.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP 响应状态代码

状态代码说明
204

No Content

代码示例

put/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
curl \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_ID

Response

Status: 204