自托管运行器组
使用 REST API 与 GitHub Actions 的自托管运行器组交互。
关于 GitHub Actions
中的自托管运行器组
可以使用 REST API 管理 GitHub Actions 中的自托管运行器组。 有关详细信息,请参阅“使用组管理对自托管运行程序的访问”。
这些终结点适用于经过身份验证的用户、OAuth apps 和 GitHub Apps。 对于专用存储库,访问令牌需要 repo
范围,对于 内部 存储库,则需要 public_repo
范围。 GitHub Apps必须具有对存储库的 administration
权限,或具有对组织的 organization_self_hosted_runners
权限。 经过身份验证的用户必须具有对存储库或组织的管理员访问权限或者企业的 manage_runners:enterprise
作用域才能使用这些终结点。
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.
“List self-hosted runner groups for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
名称, 类型, 说明 |
---|
per_page integer The number of results per page (max 100). 默认: |
page integer Page number of the results to fetch. 默认: |
visible_to_organization string Only return runner groups that are allowed to be used by this organization. |
“List self-hosted runner groups for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“List self-hosted runner groups for an enterprise”的示例代码
curl -L \
-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,
"restricted_to_workflows": false,
"selected_workflows": [],
"workflow_restrictions_read_only": 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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
},
{
"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,
"restricted_to_workflows": false,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
]
}
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.
“Create a self-hosted runner group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
名称, 类型, 说明 |
---|
name string 必须Name of the runner group. |
visibility string Visibility of a runner group. You can select all organizations or select individual organization. 可以是以下选项之一: |
selected_organization_ids array of integers List of organization IDs that can access the runner group. |
runners array of integers List of runner IDs to add to the runner group. |
allows_public_repositories boolean Whether the runner group can be used by 默认: |
“Create a self-hosted runner group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
201 | Created |
“Create a self-hosted runner group for an enterprise”的示例代码
curl -L \
-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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": 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.
“Get a self-hosted runner group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
“Get a self-hosted runner group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a self-hosted runner group for an enterprise”的示例代码
curl -L \
-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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": 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.
“Update a self-hosted runner group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
名称, 类型, 说明 |
---|
name string Name of the runner group. |
visibility string Visibility of a runner group. You can select all organizations or select individual organizations. 默认: 可以是以下选项之一: |
allows_public_repositories boolean Whether the runner group can be used by 默认: |
“Update a self-hosted runner group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Update a self-hosted runner group for an enterprise”的示例代码
curl -L \
-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,
"restricted_to_workflows": false,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
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.
“Delete a self-hosted runner group from an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
“Delete a self-hosted runner group from an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
“Delete a self-hosted runner group from an enterprise”的示例代码
curl -L \
-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.
“List self-hosted runners in a group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
名称, 类型, 说明 |
---|
per_page integer The number of results per page (max 100). 默认: |
page integer Page number of the results to fetch. 默认: |
“List self-hosted runners in a group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“List self-hosted runners in a group for an enterprise”的示例代码
curl -L \
-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.
“Set self-hosted runners in a group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
名称, 类型, 说明 |
---|
runners array of integers 必须List of runner IDs to add to the runner group. |
“Set self-hosted runners in a group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
“Set self-hosted runners in a group for an enterprise”的示例代码
curl -L \
-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.
“Add a self-hosted runner to a group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
runner_id integer 必须Unique identifier of the self-hosted runner. |
“Add a self-hosted runner to a group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
“Add a self-hosted runner to a group for an enterprise”的示例代码
curl -L \
-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.
“Remove a self-hosted runner from a group for an enterprise”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
enterprise string 必须The slug version of the enterprise name. You can also substitute this value with the enterprise id. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
runner_id integer 必须Unique identifier of the self-hosted runner. |
“Remove a self-hosted runner from a group for an enterprise”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
“Remove a self-hosted runner from a group for an enterprise”的示例代码
curl -L \
-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.
“List self-hosted runner groups for an organization”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
名称, 类型, 说明 |
---|
per_page integer The number of results per page (max 100). 默认: |
page integer Page number of the results to fetch. 默认: |
“List self-hosted runner groups for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“List self-hosted runner groups for an organization”的示例代码
curl -L \
-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,
"restricted_to_workflows": false,
"selected_workflows": [],
"workflow_restrictions_read_only": false
},
{
"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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": 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,
"restricted_to_workflows": false,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
]
}
Create a self-hosted runner group for an organization
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.
“Create a self-hosted runner group for an organization”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
名称, 类型, 说明 |
---|
name string 必须Name of the runner group. |
visibility string Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. 默认: 可以是以下选项之一: |
selected_repository_ids array of integers List of repository IDs that can access the runner group. |
runners array of integers List of runner IDs to add to the runner group. |
allows_public_repositories boolean Whether the runner group can be used by 默认: |
restricted_to_workflows boolean If 默认: |
selected_workflows array of strings List of workflows the runner group should be allowed to run. This setting will be ignored unless |
“Create a self-hosted runner group for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
201 | Created |
“Create a self-hosted runner group for an organization”的示例代码
curl -L \
-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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
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.
“Get a self-hosted runner group for an organization”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
“Get a self-hosted runner group for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a self-hosted runner group for an organization”的示例代码
curl -L \
-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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
Update a self-hosted runner group for an organization
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.
“Update a self-hosted runner group for an organization”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
名称, 类型, 说明 |
---|
name string 必须Name of the runner group. |
visibility string Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. 可以是以下选项之一: |
allows_public_repositories boolean Whether the runner group can be used by 默认: |
restricted_to_workflows boolean If 默认: |
selected_workflows array of strings List of workflows the runner group should be allowed to run. This setting will be ignored unless |
“Update a self-hosted runner group for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Update a self-hosted runner group for an organization”的示例代码
curl -L \
-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,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
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.
“Delete a self-hosted runner group from an organization”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
“Delete a self-hosted runner group from an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
“Delete a self-hosted runner group from an organization”的示例代码
curl -L \
-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.
“Add a self-hosted runner to a group for an organization”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
runner_group_id integer 必须Unique identifier of the self-hosted runner group. |
runner_id integer 必须Unique identifier of the self-hosted runner. |
“Add a self-hosted runner to a group for an organization”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
204 | No Content |
“Add a self-hosted runner to a group for an organization”的示例代码
curl -L \
-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