GitHub Actions 工件的 REST API 端点
使用 REST API 与 GitHub Actions 中的工件进行交互。
关于 GitHub Actions 中的工件
您可以使用 REST API 下载、删除和检索有关 GitHub Actions 中工作流工件的信息。工件使您能够在工作流中的作业之间共享数据,并在工作流完成后存储数据。有关更多信息,请参阅 "将工作流数据存储为工件."
列出存储库的工件
列出存储库的所有工件。
任何具有存储库读取权限的用户都可以使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 repo
范围才能将此端点与私有存储库一起使用。
用于“列出存储库的工件”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Actions”存储库权限(读取)
如果仅请求公共资源,则可以在没有身份验证或上述权限的情况下使用此端点。
用于“列出存储库的工件”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
名称、类型、描述 |
---|
per_page 整数 每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数 要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
name 字符串 工件的名称字段。指定此字段后,将仅返回具有此名称的工件。 |
“列出仓库的工件”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
“列出仓库的工件”的代码示例
请求示例
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 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
artifact_id 整数 必需工件的唯一标识符。 |
获取工件的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
获取工件的代码示例
请求示例
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 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
artifact_id 整数 必需工件的唯一标识符。 |
删除工件的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
204 | 无内容 |
删除工件的代码示例
请求示例
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 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
artifact_id 整数 必需工件的唯一标识符。 |
archive_format 字符串 必需 |
下载工件的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
302 | 已找到 |
410 | 已消失 |
“下载工件”的代码示例
请求示例
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 建议设置为 |
名称、类型、描述 |
---|
owner string 必需存储库的帐户所有者。名称不区分大小写。 |
repo string 必需存储库的名称,不带 |
run_id 整数 必需工作流运行的唯一标识符。 |
名称、类型、描述 |
---|
per_page 整数 每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数 要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
name 字符串 工件的名称字段。指定此字段后,将仅返回具有此名称的工件。 |
“列出工作流运行工件”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
“列出工作流运行工件”的代码示例
请求示例
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" } } ] }