用于 GitHub Actions 工件的 REST API 端点
使用 REST API 与 GitHub Actions 中的工件交互。
关于 GitHub Actions 中的工件
您可以使用 REST API 下载、删除和检索有关 GitHub Actions 中工作流工件的信息。工件使您能够在工作流中的作业之间共享数据,并在工作流完成后存储数据。有关更多信息,请参阅“存储和共享工作流数据”。
列出代码仓库的工件
列出代码仓库的所有工件。
任何拥有代码仓库读取权限的用户都可以使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 repo
范围才能使用此端点与私有代码仓库进行交互。
“列出代码仓库的工件”的细粒度访问令牌
此端点可与以下细粒度令牌类型配合使用:
细粒度令牌必须具有以下权限集
- “Actions” 代码仓库权限(读取)
如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。
“列出代码仓库的工件”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必需代码仓库的名称,不含 |
名称、类型、描述 |
---|
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 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必需代码仓库的名称,不含 |
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
范围才能使用此端点。
“删除工件”的细粒度访问令牌
此端点可与以下细粒度令牌类型配合使用:
细粒度令牌必须具有以下权限集
- “Actions” 代码仓库权限(写入)
“删除工件”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必需代码仓库的名称,不含 |
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 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必需代码仓库的名称,不含 |
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 字符串建议设置为 |
名称、类型、描述 |
---|
owner 字符串 必需代码仓库的账户所有者。名称不区分大小写。 |
repo 字符串 必需代码仓库的名称,不含 |
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" } } ] }