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

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

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

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

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

列出组织的自托管运行器

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

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

OAuth 应用程序令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。如果存储库是私有的,则还需要 repo 范围。

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

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

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

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

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

标头
名称、类型、描述
accept string

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

路径参数
名称、类型、描述
org string 必需

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

查询参数
名称、类型、描述
name string

自托管运行器的名称。

per_page integer

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

默认: 30

page integer

要获取的结果的页码。有关更多信息,请参阅“在 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 string

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

路径参数
名称、类型、描述
org string 必需

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

针对“列出组织的运行器应用程序”的 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 string

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

路径参数
名称、类型、描述
org string 必需

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

主体参数
名称、类型、描述
name string 必需

新运行器的名称。

runner_group_id integer 必需

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

labels 字符串数组 必需

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

work_folder string

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

默认: _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 string

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

路径参数
名称、类型、描述
org string 必需

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

“为组织创建注册令牌”的 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 string

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

路径参数
名称、类型、描述
org string 必需

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

为组织创建移除令牌的 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 string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

获取组织的自托管运行器的 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 string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

从组织中删除自托管运行器的 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 string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

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

状态代码描述
200

OK

404

资源未找到

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

请求示例

获取/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 string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

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

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

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

状态代码描述
200

OK

404

资源未找到

422

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

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

请求示例

发布/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 string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

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

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

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

状态代码描述
200

OK

404

资源未找到

422

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

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

请求示例

放置/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 string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

用于“从组织的自托管运行器中删除所有自定义标签”的 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 Not Found 状态。

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

OAuth 应用程序令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。如果存储库是私有的,则还需要 repo 范围。

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

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

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

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

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

标头
名称、类型、描述
accept string

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

路径参数
名称、类型、描述
org string 必需

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

runner_id integer Required

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

name string 必需

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

用于“从组织的自托管运行器中删除自定义标签”的 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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

查询参数
名称、类型、描述
name string

自托管运行器的名称。

per_page integer

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

默认: 30

page integer

要获取的结果的页码。有关更多信息,请参阅“在 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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

仓库的名称,不包含.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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

主体参数
名称、类型、描述
name string 必需

新运行器的名称。

runner_group_id integer 必需

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

labels 字符串数组 必需

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

work_folder string

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

默认: _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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

仓库的名称,不包含.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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

仓库的名称,不包含.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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

获取仓库自托管运行器 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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

删除仓库自托管运行器 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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

列出仓库自托管运行器标签 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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

主体参数
名称、类型、描述
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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

主体参数
名称、类型、描述
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 string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

从仓库中删除自托管运行器上的所有自定义标签的 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 Not Found 状态。

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

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

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

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

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

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

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

标头
名称、类型、描述
accept string

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

路径参数
名称、类型、描述
owner string 必需

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

repo string 必需

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

runner_id integer Required

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

name string 必需

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

从仓库中删除自托管运行器上的自定义标签的 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" } ] }