Skip to main content
我们经常发布文档更新,此页面的翻译可能仍在进行中。 有关最新信息,请访问英语文档

GitHub Actions 构件

使用 REST API 与 GitHub Actions 上的项目进行交互。

关于 GitHub Actions 中的项目

你可使用 REST API 下载、删除和检索 GitHub Actions 中的工作流项目的相关信息。 构件允许您在工作流程完成后,分享工作流程中作业之间的数据并存储数据。 有关详细信息,请参阅“将工作流程数据存储为构件”。

这些终结点适用于经过身份验证的用户、OAuth Apps 和 GitHub Apps。 对于专用存储库,访问令牌需要 repo 范围,对于 公共给 存储库,则需要 public_repo 范围。 GitHub Apps 必须具有 actions 权限才可使用这些终结点。

List artifacts for a repository

适用于 GitHub Apps

Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

“List artifacts for a repository”的参数

标头
名称, 类型, 说明
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

查询参数
名称, 类型, 说明
per_pageinteger

The number of results per page (max 100).

默认: 30

pageinteger

Page number of the results to fetch.

默认: 1

“List artifacts for a repository”的 HTTP 响应状态代码

状态代码说明
200

OK

“List artifacts for a repository”的示例代码

get/repos/{owner}/{repo}/actions/artifacts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/artifacts

Response

Status: 200
{ "total_count": 2, "artifacts": [ { "id": 11, "node_id": "MDg6QXJ0aWZhY3QxMQ==", "name": "Rails", "size_in_bytes": 556, "url": "https://HOSTNAME/repos/octo-org/octo-docs/actions/artifacts/11", "archive_download_url": "https://HOSTNAME/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://HOSTNAME/repos/octo-org/octo-docs/actions/artifacts/13", "archive_download_url": "https://HOSTNAME/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" } } ] }

Get an artifact

适用于 GitHub Apps

Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

“Get an artifact”的参数

标头
名称, 类型, 说明
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

artifact_idinteger必选

The unique identifier of the artifact.

“Get an artifact”的 HTTP 响应状态代码

状态代码说明
200

OK

“Get an artifact”的示例代码

get/repos/{owner}/{repo}/actions/artifacts/{artifact_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/artifacts/ARTIFACT_ID

Response

Status: 200
{ "id": 11, "node_id": "MDg6QXJ0aWZhY3QxMQ==", "name": "Rails", "size_in_bytes": 556, "url": "https://HOSTNAME/repos/octo-org/octo-docs/actions/artifacts/11", "archive_download_url": "https://HOSTNAME/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" } }

Delete an artifact

适用于 GitHub Apps

Deletes an artifact for a workflow run. You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

“Delete an artifact”的参数

标头
名称, 类型, 说明
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

artifact_idinteger必选

The unique identifier of the artifact.

“Delete an artifact”的 HTTP 响应状态代码

状态代码说明
204

No Content

“Delete an artifact”的示例代码

delete/repos/{owner}/{repo}/actions/artifacts/{artifact_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/artifacts/ARTIFACT_ID

Response

Status: 204

Download an artifact

适用于 GitHub Apps

Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for Location: in the response header to find the URL for the download. The :archive_format must be zip. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

“Download an artifact”的参数

标头
名称, 类型, 说明
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

artifact_idinteger必选

The unique identifier of the artifact.

archive_formatstring必选

“Download an artifact”的 HTTP 响应状态代码

状态代码说明
302

Found

410

Gone

“Download an artifact”的示例代码

get/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/artifacts/ARTIFACT_ID/ARCHIVE_FORMAT

Response

Status: 302

List workflow run artifacts

适用于 GitHub Apps

Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

“List workflow run artifacts”的参数

标头
名称, 类型, 说明
acceptstring

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
ownerstring必选

The account owner of the repository. The name is not case sensitive.

repostring必选

The name of the repository. The name is not case sensitive.

run_idinteger必选

The unique identifier of the workflow run.

查询参数
名称, 类型, 说明
per_pageinteger

The number of results per page (max 100).

默认: 30

pageinteger

Page number of the results to fetch.

默认: 1

“List workflow run artifacts”的 HTTP 响应状态代码

状态代码说明
200

OK

“List workflow run artifacts”的示例代码

get/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/actions/runs/RUN_ID/artifacts

Response

Status: 200
{ "total_count": 2, "artifacts": [ { "id": 11, "node_id": "MDg6QXJ0aWZhY3QxMQ==", "name": "Rails", "size_in_bytes": 556, "url": "https://HOSTNAME/repos/octo-org/octo-docs/actions/artifacts/11", "archive_download_url": "https://HOSTNAME/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://HOSTNAME/repos/octo-org/octo-docs/actions/artifacts/13", "archive_download_url": "https://HOSTNAME/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" } } ] }