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

GitHub Actions 工件的 REST API 端点

使用 REST API 与 GitHub Actions 中的工件进行交互。

关于 GitHub Actions 中的工件

您可以使用 REST API 下载、删除和检索有关 GitHub Actions 中工作流工件的信息。工件使您能够在工作流中的作业之间共享数据,并在工作流完成后存储数据。有关更多信息,请参阅 "将工作流数据存储为工件."

列出存储库的工件

列出存储库的所有工件。

任何具有存储库读取权限的用户都可以使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能将此端点与私有存储库一起使用。

用于“列出存储库的工件”的细粒度访问令牌

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

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

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

如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。

用于“列出存储库的工件”的参数

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

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

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

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

repo string 必需

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

查询参数
名称、类型、描述
per_page 整数

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

默认: 30

page 整数

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

默认: 1

name 字符串

工件的名称字段。指定此字段后,将仅返回具有此名称的工件。

“列出仓库的工件”的 HTTP 响应状态码

状态码描述
200

OK

“列出仓库的工件”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/artifacts
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/artifacts

响应

状态:200
{ "total_count": 2, "artifacts": [ { "id": 11, "node_id": "MDg6QXJ0aWZhY3QxMQ==", "name": "Rails", "size_in_bytes": 556, "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", "expired": false, "created_at": "2020-01-10T14:59:22Z", "expires_at": "2020-03-21T14:59:22Z", "updated_at": "2020-02-21T14:59:22Z", "workflow_run": { "id": 2332938, "repository_id": 1296269, "head_repository_id": 1296269, "head_branch": "main", "head_sha": "328faa0536e6fef19753d9d91dc96a9931694ce3" } }, { "id": 13, "node_id": "MDg6QXJ0aWZhY3QxMw==", "name": "Test output", "size_in_bytes": 453, "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13", "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip", "expired": false, "created_at": "2020-01-10T14:59:22Z", "expires_at": "2020-03-21T14:59:22Z", "updated_at": "2020-02-21T14:59:22Z", "workflow_run": { "id": 2332942, "repository_id": 1296269, "head_repository_id": 1296269, "head_branch": "main", "head_sha": "178f4f6090b3fccad4a65b3e83d076a622d59652" } } ] }

获取工件

获取工作流运行的特定工件。

任何具有存储库读取权限的用户都可以使用此端点。

如果仓库是私有的,则 OAuth 令牌和个人访问令牌(经典)需要repo范围才能使用此端点。

获取工件的细粒度访问令牌

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

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

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

如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。

获取工件的参数

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

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

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

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

repo string 必需

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

artifact_id 整数 必需

工件的唯一标识符。

获取工件的 HTTP 响应状态代码

状态码描述
200

OK

获取工件的代码示例

请求示例

获取/repos/{owner}/{repo}/actions/artifacts/{artifact_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/artifacts/ARTIFACT_ID

响应

状态:200
{ "id": 11, "node_id": "MDg6QXJ0aWZhY3QxMQ==", "name": "Rails", "size_in_bytes": 556, "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", "expired": false, "created_at": "2020-01-10T14:59:22Z", "expires_at": "2020-01-21T14:59:22Z", "updated_at": "2020-01-21T14:59:22Z", "workflow_run": { "id": 2332938, "repository_id": 1296269, "head_repository_id": 1296269, "head_branch": "main", "head_sha": "328faa0536e6fef19753d9d91dc96a9931694ce3" } }

删除工件

删除工作流运行的工件。OAuth 令牌和个人访问令牌(经典)需要 `repo` 范围才能使用此端点。

删除工件的细粒度访问令牌

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

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

  • “操作”存储库权限(写入)

删除工件的参数

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

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

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

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

repo string 必需

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

artifact_id 整数 必需

工件的唯一标识符。

删除工件的 HTTP 响应状态代码

状态码描述
204

无内容

删除工件的代码示例

请求示例

删除/repos/{owner}/{repo}/actions/artifacts/{artifact_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/artifacts/ARTIFACT_ID

响应

状态:204

下载工件

获取重定向 URL 以下载存储库的存档。此 URL 在 1 分钟后过期。在响应标头中查找 `Location:` 以找到下载的 URL。`:archive_format` 必须为 `zip`。

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

下载工件的细粒度访问令牌

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

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

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

如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。

下载工件的参数

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

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

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

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

repo string 必需

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

artifact_id 整数 必需

工件的唯一标识符。

archive_format 字符串 必需

下载工件的 HTTP 响应状态代码

状态码描述
302

已找到

410

已消失

“下载工件”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
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/artifacts/ARTIFACT_ID/ARCHIVE_FORMAT

响应

状态:302

列出工作流运行工件

列出工作流运行的工件。

任何具有存储库读取权限的用户都可以使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能将此端点与私有存储库一起使用。

用于“列出工作流运行工件”的细粒度访问令牌

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

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

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

如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。

“列出工作流运行工件”的参数

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

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

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

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

repo string 必需

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

run_id 整数 必需

工作流运行的唯一标识符。

查询参数
名称、类型、描述
per_page 整数

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

默认: 30

page 整数

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

默认: 1

name 字符串

工件的名称字段。指定此字段后,将仅返回具有此名称的工件。

“列出工作流运行工件”的 HTTP 响应状态代码

状态码描述
200

OK

“列出工作流运行工件”的代码示例

请求示例

get/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts
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/runs/RUN_ID/artifacts

响应

状态:200
{ "total_count": 2, "artifacts": [ { "id": 11, "node_id": "MDg6QXJ0aWZhY3QxMQ==", "name": "Rails", "size_in_bytes": 556, "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11", "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/11/zip", "expired": false, "created_at": "2020-01-10T14:59:22Z", "expires_at": "2020-03-21T14:59:22Z", "updated_at": "2020-02-21T14:59:22Z", "workflow_run": { "id": 2332938, "repository_id": 1296269, "head_repository_id": 1296269, "head_branch": "main", "head_sha": "328faa0536e6fef19753d9d91dc96a9931694ce3" } }, { "id": 13, "node_id": "MDg6QXJ0aWZhY3QxMw==", "name": "Test output", "size_in_bytes": 453, "url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13", "archive_download_url": "https://api.github.com/repos/octo-org/octo-docs/actions/artifacts/13/zip", "expired": false, "created_at": "2020-01-10T14:59:22Z", "expires_at": "2020-03-21T14:59:22Z", "updated_at": "2020-02-21T14:59:22Z", "workflow_run": { "id": 2332942, "repository_id": 1296269, "head_repository_id": 1296269, "head_branch": "main", "head_sha": "178f4f6090b3fccad4a65b3e83d076a622d59652" } } ] }