GitHub Actions Artifacts
REST API를 사용하여 GitHub Actions의 아티팩트와 상호 작용합니다.
About artifacts in GitHub Actions
You can use the REST API to download, delete, and retrieve information about workflow artifacts in GitHub Actions. Artifacts enable you to share data between jobs in a workflow and store data once that workflow has completed. For more information, see "Storing workflow data as artifacts."
These endpoints are available for authenticated users, OAuth Apps, and GitHub Apps. Access tokens require repo
scope for private repositories and public_repo
scope for public repositories. GitHub Apps must have the actions
permission to use these endpoints.
List artifacts for a repository
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.
매개 변수
헤더 |
---|
속성, 형식, Description |
accept stringSetting to |
경로 매개 변수 |
속성, 형식, Description |
owner string필수The account owner of the repository. The name is not case sensitive. |
repo string필수The name of the repository. The name is not case sensitive. |
쿼리 매개 변수 |
속성, 형식, Description |
per_page integerThe number of results per page (max 100). 기본값: |
page integerPage number of the results to fetch. 기본값: |
name stringFilters artifacts by exact match on their name field. |
HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
코드 샘플
curl \
-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://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"
},
{
"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"
}
]
}
Get an artifact
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.
매개 변수
헤더 |
---|
속성, 형식, Description |
accept stringSetting to |
경로 매개 변수 |
속성, 형식, Description |
owner string필수The account owner of the repository. The name is not case sensitive. |
repo string필수The name of the repository. The name is not case sensitive. |
artifact_id integer필수The unique identifier of the artifact. |
HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
코드 샘플
curl \
-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://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"
}
Delete an artifact
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.
매개 변수
헤더 |
---|
속성, 형식, Description |
accept stringSetting to |
경로 매개 변수 |
속성, 형식, Description |
owner string필수The account owner of the repository. The name is not case sensitive. |
repo string필수The name of the repository. The name is not case sensitive. |
artifact_id integer필수The unique identifier of the artifact. |
HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
204 | No Content |
코드 샘플
curl \
-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
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.
매개 변수
헤더 |
---|
속성, 형식, Description |
accept stringSetting to |
경로 매개 변수 |
속성, 형식, Description |
owner string필수The account owner of the repository. The name is not case sensitive. |
repo string필수The name of the repository. The name is not case sensitive. |
artifact_id integer필수The unique identifier of the artifact. |
archive_format string필수 |
HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
302 | Found |
410 | Gone |
코드 샘플
curl \
-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
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.
매개 변수
헤더 |
---|
속성, 형식, Description |
accept stringSetting to |
경로 매개 변수 |
속성, 형식, Description |
owner string필수The account owner of the repository. The name is not case sensitive. |
repo string필수The name of the repository. The name is not case sensitive. |
run_id integer필수The unique identifier of the workflow run. |
쿼리 매개 변수 |
속성, 형식, Description |
per_page integerThe number of results per page (max 100). 기본값: |
page integerPage number of the results to fetch. 기본값: |
HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
코드 샘플
curl \
-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://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"
},
{
"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"
}
]
}