跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅“关于 API 版本控制”。

用于自托管运行器的 REST API 端点

使用 REST API 与 GitHub Actions 中的自托管运行器进行交互。

关于 GitHub Actions 中的自托管运行器

您可以使用 REST API 在 GitHub Actions 中注册、查看和删除自托管运行器。自托管运行器允许您托管自己的运行器并自定义用于在 GitHub Actions 工作流中运行作业的环境。有关更多信息,请参阅“托管您自己的运行器”。

列出组织的自托管运行器

列出在组织中配置的所有自托管运行器。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“列出组织的自托管运行器”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(读取)

“列出组织的自托管运行器”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

查询参数
名称、类型、描述
name 字符串

自托管运行器的名称。

per_page 整数

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认值: 30

page 整数

要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认值: 1

“列出组织的自托管运行器”的 HTTP 响应状态代码

状态代码描述
200

OK

“列出组织的自托管运行器”的代码示例

请求示例

get/orgs/{org}/actions/runners
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners

响应

状态: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" } ] } ] }

列出组织的运行器应用程序

列出您可以下载并运行的运行器应用程序的二进制文件。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“列出组织的运行器应用程序”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(读取)

“列出组织的运行器应用程序”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

“列出组织的运行器应用程序”的 HTTP 响应状态代码

状态代码描述
200

OK

“列出组织的运行器应用程序”的代码示例

请求示例

get/orgs/{org}/actions/runners/downloads
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/downloads

响应

状态:200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

为组织创建即时运行器的配置

生成可以在启动时传递给运行器应用程序的配置。

经过身份验证的用户必须具有对组织的管理员访问权限。

OAuth 令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则 OAuth 令牌和个人访问令牌(传统)需要 repo 范围才能使用此端点。

“为组织创建即时运行器的配置”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“为组织创建即时运行器的配置”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

主体参数
名称、类型、描述
name 字符串 必需

新运行器的名称。

runner_group_id 整数 必需

要将运行器注册到的运行器组的 ID。

labels 字符串数组 必需

要添加到运行器的自定义标签的名称。最小项数:1。最大项数:100。

work_folder 字符串

用于作业执行的工作目录,相对于运行器安装目录。

默认值: _work

“为组织创建即时运行器的配置”的 HTTP 响应状态代码

状态代码描述
201

已创建

404

资源未找到

422

验证失败或端点已被滥用。

“为组织创建即时运行器配置”的代码示例

请求示例

post/orgs/{org}/actions/runners/generate-jitconfig
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/generate-jitconfig \ -d '{"name":"New runner","runner_group_id":1,"labels":["self-hosted","X64","macOS","no-gpu"],"work_folder":"_work"}'

响应

状态:201
{ "runner": { "id": 23, "name": "New runner", "os": "unknown", "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" } ] }, "encoded_jit_config": "abc123" }

为组织创建注册令牌

返回您可以传递给config脚本的令牌。该令牌在一小时后过期。

例如,您可以将以下示例中的TOKEN替换为此端点提供的注册令牌,以配置您的自托管运行器

./config.sh --url https://github.com/octo-org --token TOKEN

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则 OAuth 令牌和个人访问令牌(传统)需要 repo 范围才能使用此端点。

“为组织创建注册令牌”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“为组织创建注册令牌”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

“为组织创建注册令牌”的HTTP响应状态代码

状态代码描述
201

已创建

“为组织创建注册令牌”的代码示例

请求示例

post/orgs/{org}/actions/runners/registration-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/registration-token

响应

状态:201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

为组织创建删除令牌

返回您可以传递给config脚本的令牌,以从组织中删除自托管运行器。该令牌在一小时后过期。

例如,您可以将以下示例中的TOKEN替换为此端点提供的注册令牌,以从组织中删除您的自托管运行器

./config.sh remove --token TOKEN

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则 OAuth 令牌和个人访问令牌(传统)需要 repo 范围才能使用此端点。

“为组织创建删除令牌”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“为组织创建删除令牌”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

“为组织创建删除令牌”的HTTP响应状态代码

状态代码描述
201

已创建

“为组织创建删除令牌”的代码示例

请求示例

post/orgs/{org}/actions/runners/remove-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/remove-token

响应

状态:201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

获取组织的自托管运行器

获取在组织中配置的特定自托管运行器。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“获取组织的自托管运行器”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(读取)

“获取组织的自托管运行器”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“获取组织的自托管运行器”的HTTP响应状态代码

状态代码描述
200

OK

“获取组织的自托管运行器”的代码示例

请求示例

get/orgs/{org}/actions/runners/{runner_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID

响应

状态:200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "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" } ] }

从组织中删除自托管运行器

强制从组织中删除自托管运行器。当您使用的机器不再存在时,您可以使用此端点完全删除运行器。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则 OAuth 令牌和个人访问令牌(传统)需要 repo 范围才能使用此端点。

“从组织中删除自托管运行器”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“从组织中删除自托管运行器”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“从组织中删除自托管运行器”的HTTP响应状态代码

状态代码描述
204

无内容

“从组织中删除自托管运行器”的代码示例

请求示例

delete/orgs/{org}/actions/runners/{runner_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID

响应

状态:204

列出组织中自托管运行器的标签

列出在组织中配置的自托管运行器的所有标签。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“列出组织中自托管运行器的标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(读取)

“列出组织中自托管运行器的标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“列出组织中自托管运行器的标签”的HTTP响应状态代码

状态代码描述
200

OK

404

资源未找到

“列出组织中自托管运行器的标签”的代码示例

请求示例

get/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels

响应

状态:200
{ "total_count": 4, "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" } ] }

向组织中的自托管运行器添加自定义标签

向在组织中配置的自托管运行器添加自定义标签。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(经典)需要admin:org范围才能使用此端点。

“向组织中的自托管运行器添加自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“向组织中的自托管运行器添加自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

主体参数
名称、类型、描述
labels 字符串数组 必需

要添加到运行器的自定义标签的名称。

“向组织中的自托管运行器添加自定义标签”的HTTP响应状态代码

状态代码描述
200

OK

404

资源未找到

422

验证失败或端点已被滥用。

“向组织中的自托管运行器添加自定义标签”的代码示例

请求示例

post/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

响应

状态:200
{ "total_count": 4, "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" } ] }

为组织中的自托管运行器设置自定义标签

删除所有以前的自定义标签,并为在组织中配置的特定自托管运行器设置新的自定义标签。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“为组织中的自托管运行器设置自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“为组织中的自托管运行器设置自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

主体参数
名称、类型、描述
labels 字符串数组 必需

要为运行器设置的自定义标签的名称。您可以传递一个空数组以删除所有自定义标签。

“为组织中的自托管运行器设置自定义标签”的HTTP响应状态代码

状态代码描述
200

OK

404

资源未找到

422

验证失败或端点已被滥用。

“为组织中的自托管运行器设置自定义标签”的代码示例

请求示例

put/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

响应

状态:200
{ "total_count": 4, "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" } ] }

从组织中的自托管运行器中删除所有自定义标签

从在组织中配置的自托管运行器中删除所有自定义标签。返回运行器中剩余的只读标签。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“从组织中的自托管运行器中删除所有自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“从组织中的自托管运行器中删除所有自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“从组织中的自托管运行器中删除所有自定义标签”的HTTP响应状态代码

状态代码描述
200

OK

404

资源未找到

“从组织中的自托管运行器中删除所有自定义标签”的代码示例

请求示例

delete/orgs/{org}/actions/runners/{runner_id}/labels
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels

响应

状态:200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

从组织中的自托管运行器中删除自定义标签

从在组织中配置的自托管运行器中删除自定义标签。返回运行器中剩余的标签。

如果运行器上不存在自定义标签,则此端点返回404 未找到状态。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(传统)需要 admin:org 范围才能使用此端点。如果代码仓库为私有,则还需要 repo 范围。

“从组织中的自托管运行器中删除自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “自托管运行器”组织权限(写入)

“从组织中的自托管运行器中删除自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org 字符串 必需

组织名称。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

name 字符串 必需

自托管运行器的自定义标签的名称。

“从组织中的自托管运行器中删除自定义标签”的HTTP响应状态代码

状态代码描述
200

OK

404

资源未找到

422

验证失败或端点已被滥用。

“从组织中的自托管运行器中删除自定义标签”的代码示例

请求示例

delete/orgs/{org}/actions/runners/{runner_id}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/runners/RUNNER_ID/labels/NAME

响应

状态:200
{ "total_count": 4, "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" } ] }

列出存储库的自托管运行器

列出在存储库中配置的所有自托管运行器。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“列出存储库的自托管运行器”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”存储库权限(读取)

“列出存储库的自托管运行器”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

查询参数
名称、类型、描述
name 字符串

自托管运行器的名称。

per_page 整数

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认值: 30

page 整数

要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认值: 1

“列出存储库的自托管运行器”的HTTP响应状态代码

状态代码描述
200

OK

“列出存储库的自托管运行器”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/runners
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners

响应

状态: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" } ] } ] }

列出存储库的运行器应用程序

列出您可以下载并运行的运行器应用程序的二进制文件。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“列出存储库的运行器应用程序”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”存储库权限(读取)

“列出仓库的运行器应用程序”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

“列出仓库的运行器应用程序”的 HTTP 响应状态码

状态代码描述
200

OK

“列出仓库的运行器应用程序”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/runners/downloads
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/downloads

响应

状态:200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

为仓库创建即时运行器的配置

生成可以在启动时传递给运行器应用程序的配置。

经过身份验证的用户必须对仓库具有管理员访问权限。

OAuth 令牌和个人访问令牌(经典)需要repo 范围才能使用此端点。

“为仓库创建即时运行器的配置”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“为仓库创建即时运行器的配置”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

主体参数
名称、类型、描述
name 字符串 必需

新运行器的名称。

runner_group_id 整数 必需

要将运行器注册到的运行器组的 ID。

labels 字符串数组 必需

要添加到运行器的自定义标签的名称。最小项数:1。最大项数:100。

work_folder 字符串

用于作业执行的工作目录,相对于运行器安装目录。

默认值: _work

“为仓库创建即时运行器的配置”的 HTTP 响应状态码

状态代码描述
201

已创建

404

资源未找到

422

验证失败或端点已被滥用。

“为仓库创建即时运行器的配置”的代码示例

请求示例

post/repos/{owner}/{repo}/actions/runners/generate-jitconfig
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/generate-jitconfig \ -d '{"name":"New runner","runner_group_id":1,"labels":["self-hosted","X64","macOS","no-gpu"],"work_folder":"_work"}'

响应

状态:201
{ "runner": { "id": 23, "name": "New runner", "os": "unknown", "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" } ] }, "encoded_jit_config": "abc123" }

为仓库创建注册令牌

返回您可以传递给config脚本的令牌。该令牌在一小时后过期。

例如,您可以将以下示例中的TOKEN替换为此端点提供的注册令牌,以配置您的自托管运行器

./config.sh --url https://github.com/octo-org --token TOKEN

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(经典)需要repo 范围才能使用此端点。

“为仓库创建注册令牌”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“为仓库创建注册令牌”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

“为仓库创建注册令牌”的 HTTP 响应状态码

状态代码描述
201

已创建

“为仓库创建注册令牌”的代码示例

请求示例

post/repos/{owner}/{repo}/actions/runners/registration-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/registration-token

响应

状态:201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

为仓库创建删除令牌

返回一个令牌,您可以将其传递给config 脚本以从仓库中删除自托管运行器。该令牌在一小时后过期。

例如,您可以将以下示例中的TOKEN替换为此端点提供的注册令牌,以从组织中删除您的自托管运行器

./config.sh remove --token TOKEN

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(经典)需要repo 范围才能使用此端点。

“为仓库创建删除令牌”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“为仓库创建删除令牌”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

“为仓库创建删除令牌”的 HTTP 响应状态码

状态代码描述
201

已创建

“为仓库创建删除令牌”的代码示例

请求示例

post/repos/{owner}/{repo}/actions/runners/remove-token
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/remove-token

响应

状态:201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

获取仓库的自托管运行器

获取在仓库中配置的特定自托管运行器。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“获取仓库的自托管运行器”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”存储库权限(读取)

“获取仓库的自托管运行器”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“获取仓库的自托管运行器”的 HTTP 响应状态码

状态代码描述
200

OK

“获取仓库的自托管运行器”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/runners/{runner_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID

响应

状态:200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "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" } ] }

从仓库中删除自托管运行器

强制从仓库中删除自托管运行器。当您使用的机器不再存在时,您可以使用此端点完全删除运行器。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(经典)需要repo 范围才能使用此端点。

“从仓库中删除自托管运行器”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“从仓库中删除自托管运行器”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“从仓库中删除自托管运行器”的 HTTP 响应状态码

状态代码描述
204

无内容

“从仓库中删除自托管运行器”的代码示例

请求示例

delete/repos/{owner}/{repo}/actions/runners/{runner_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID

响应

状态:204

列出仓库的自托管运行器的标签

列出在仓库中配置的自托管运行器的所有标签。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“列出仓库的自托管运行器的标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”存储库权限(读取)

“列出仓库的自托管运行器的标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“列出仓库的自托管运行器的标签”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

“列出仓库的自托管运行器的标签”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels

响应

状态:200
{ "total_count": 4, "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" } ] }

向仓库的自托管运行器添加自定义标签

向在仓库中配置的自托管运行器添加自定义标签。

经过身份验证的用户必须具有对组织的管理员访问权限才能使用此端点。

OAuth 令牌和个人访问令牌(经典)需要repo 范围才能使用此端点。

“向仓库的自托管运行器添加自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“向仓库的自托管运行器添加自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

主体参数
名称、类型、描述
labels 字符串数组 必需

要添加到运行器的自定义标签的名称。

“向仓库的自托管运行器添加自定义标签”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

422

验证失败或端点已被滥用。

“向仓库的自托管运行器添加自定义标签”的代码示例

请求示例

post/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

响应

状态:200
{ "total_count": 4, "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" } ] }

设置仓库的自托管运行器的自定义标签

删除所有以前的自定义标签,并为在仓库中配置的特定自托管运行器设置新的自定义标签。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“设置仓库的自托管运行器的自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“设置仓库的自托管运行器的自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

主体参数
名称、类型、描述
labels 字符串数组 必需

要为运行器设置的自定义标签的名称。您可以传递一个空数组以删除所有自定义标签。

“设置仓库的自托管运行器的自定义标签”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

422

验证失败或端点已被滥用。

“设置仓库的自托管运行器的自定义标签”的代码示例

请求示例

put/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

响应

状态:200
{ "total_count": 4, "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" } ] }

从仓库的自托管运行器中删除所有自定义标签

从在仓库中配置的自托管运行器中删除所有自定义标签。返回运行器中剩余的只读标签。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“从仓库的自托管运行器中删除所有自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“从仓库的自托管运行器中删除所有自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

“从仓库的自托管运行器中删除所有自定义标签”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

“从仓库的自托管运行器中删除所有自定义标签”的代码示例

请求示例

delete/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels

响应

状态:200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

从仓库的自托管运行器中删除自定义标签

从在仓库中配置的自托管运行器中删除自定义标签。返回运行器中剩余的标签。

如果运行器上不存在自定义标签,则此端点返回404 未找到状态。

经过身份验证的用户必须对存储库具有管理员访问权限才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

“从仓库的自托管运行器中删除自定义标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型:

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“从仓库的自托管运行器中删除自定义标签”的参数

标头
名称、类型、描述
accept 字符串

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不含.git扩展名。名称不区分大小写。

runner_id 整数 必需

自托管运行器的唯一标识符。

name 字符串 必需

自托管运行器的自定义标签的名称。

“从仓库的自托管运行器中删除自定义标签”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

422

验证失败或端点已被滥用。

“从仓库的自托管运行器中删除自定义标签”的代码示例

请求示例

delete/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels/NAME

响应

状态:200
{ "total_count": 4, "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" } ] }