최근에 REST API 설명서 중 일부를 이동했습니다. 원하는 항목을 찾을 수 없는 경우 동작 REST API 페이지를 사용해 볼 수 있습니다.
사전 수신 환경
REST API를 사용하여 사전 수신 후크에 대한 환경을 만들고, 나열하고, 업데이트하고, 삭제합니다.
사전 수신 환경 정보
이러한 엔드포인트는 인증된 사이트 관리자만 사용할 수 있습니다. 일반 사용자는 응답을 받게 됩니다 404
.
개체 특성
사전 수신 환경
Name | 형식 | 설명 |
---|---|---|
name | string | UI에 표시되는 환경 이름입니다. |
image_url | string | 다운로드하고 추출할 tarball의 URL입니다. |
default_environment | boolean | GitHub Enterprise Server와 함께 제공되는 기본 환경인지 여부입니다. |
download | object | 이 환경의 다운로드 상태입니다. |
hooks_count | integer | 이 환경을 사용하는 사전 수신 후크 수입니다. |
사전 수신 환경 다운로드
Name | 형식 | 설명 |
---|---|---|
state | string | 가장 최근 다운로드의 상태입니다. |
downloaded_at | string | 가장 최근 다운로드가 시작된 시간입니다. |
message | string | 오류 발생 시 생성된 오류 메시지입니다. |
state
의 가능한 값은 not_started
, in_progress
, success
, failed
입니다.
List pre-receive environments
"List pre-receive environments"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
쿼리 매개 변수 |
속성, 형식, Description |
per_page integer The number of results per page (max 100). 기본값: |
page integer Page number of the results to fetch. 기본값: |
direction string The direction to sort the results by. 기본값: 다음 중 하나일 수 있습니다.: |
sort string 기본값: 다음 중 하나일 수 있습니다.: |
"List pre-receive environments"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
"List pre-receive environments"에 대한 코드 샘플
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments
Response
Status: 200
[
{
"id": 1,
"name": "Default",
"image_url": "githubenterprise://internal",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1",
"html_url": "https://github.example.com/admin/pre-receive-environments/1",
"default_environment": true,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 14,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1/downloads/latest",
"state": "not_started",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
}
]
Create a pre-receive environment
"Create a pre-receive environment"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
본문 매개 변수 |
속성, 형식, Description |
name string 필수The new pre-receive environment's name. |
image_url string 필수URL from which to download a tarball of this environment. |
"Create a pre-receive environment"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
201 | Created |
"Create a pre-receive environment"에 대한 코드 샘플
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments \
-d '{"name":"DevTools Hook Env","image_url":"https://my_file_server/path/to/devtools_env.tar.gz"}'
Response
Status: 201
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "not_started",
"downloaded_at": null,
"message": null
}
}
Get a pre-receive environment
"Get a pre-receive environment"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
경로 매개 변수 |
속성, 형식, Description |
pre_receive_environment_id integer 필수The unique identifier of the pre-receive environment. |
"Get a pre-receive environment"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
"Get a pre-receive environment"에 대한 코드 샘플
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments/PRE_RECEIVE_ENVIRONMENT_ID
Response
Status: 200
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "not_started",
"downloaded_at": null,
"message": null
}
}
Update a pre-receive environment
You cannot modify the default environment. If you attempt to modify the default environment, you will receive a 422 Unprocessable Entity
response.
"Update a pre-receive environment"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
경로 매개 변수 |
속성, 형식, Description |
pre_receive_environment_id integer 필수The unique identifier of the pre-receive environment. |
본문 매개 변수 |
속성, 형식, Description |
name string This pre-receive environment's new name. |
image_url string URL from which to download a tarball of this environment. |
"Update a pre-receive environment"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
422 | Client Errors |
"Update a pre-receive environment"에 대한 코드 샘플
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments/PRE_RECEIVE_ENVIRONMENT_ID \
-d '{"name":"DevTools Hook Env","image_url":"https://my_file_server/path/to/devtools_env.tar.gz"}'
Response
Status: 200
{
"id": 2,
"name": "DevTools Hook Env",
"image_url": "https://my_file_server/path/to/devtools_env.tar.gz",
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2",
"html_url": "https://github.example.com/admin/pre-receive-environments/2",
"default_environment": false,
"created_at": "2016-05-20T11:35:45-05:00",
"hooks_count": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
}
Delete a pre-receive environment
If you attempt to delete an environment that cannot be deleted, you will receive a 422 Unprocessable Entity
response.
The possible error messages are:
- Cannot modify or delete the default environment
- Cannot delete environment that has hooks
- Cannot delete environment when download is in progress
"Delete a pre-receive environment"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
경로 매개 변수 |
속성, 형식, Description |
pre_receive_environment_id integer 필수The unique identifier of the pre-receive environment. |
"Delete a pre-receive environment"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
204 | No Content |
422 | Client Errors |
"Delete a pre-receive environment"에 대한 코드 샘플
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments/PRE_RECEIVE_ENVIRONMENT_ID
Response
Status: 204
Start a pre-receive environment download
Triggers a new download of the environment tarball from the environment's image_url
. When the download is finished, the newly downloaded tarball will overwrite the existing environment.
If a download cannot be triggered, you will receive a 422 Unprocessable Entity
response.
The possible error messages are:
- Cannot modify or delete the default environment
- Can not start a new download when a download is in progress
"Start a pre-receive environment download"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
경로 매개 변수 |
속성, 형식, Description |
pre_receive_environment_id integer 필수The unique identifier of the pre-receive environment. |
"Start a pre-receive environment download"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
202 | Accepted |
422 | Client Errors |
"Start a pre-receive environment download"에 대한 코드 샘플
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments/PRE_RECEIVE_ENVIRONMENT_ID/downloads
Response
Status: 202
{
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/3/downloads/latest",
"state": "not_started",
"downloaded_at": null,
"message": null
}
Get the download status for a pre-receive environment
In addition to seeing the download status at the "Get a pre-receive environment" endpoint, there is also this separate endpoint for just the download status.
"Get the download status for a pre-receive environment"에 대한 매개 변수
헤더 |
---|
속성, 형식, Description |
accept string Setting to |
경로 매개 변수 |
속성, 형식, Description |
pre_receive_environment_id integer 필수The unique identifier of the pre-receive environment. |
"Get the download status for a pre-receive environment"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
"Get the download status for a pre-receive environment"에 대한 코드 샘플
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-environments/PRE_RECEIVE_ENVIRONMENT_ID/downloads/latest
Response
Status: 200
{
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/3/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}