Недавно мы переехали некоторые из документации по REST API. Если вы не можете найти нужные сведения, попробуйте воспользоваться страницей REST API Действия.
Среды предварительного получения
Используйте REST API для создания, перечисления, обновления и удаления сред для перехватчиков предварительного получения.
About pre-receive environments
These endpoints are only available to authenticated site administrators. Normal users will receive a 404
response.
Object attributes
Pre-receive Environment
Name | Type | Description |
---|---|---|
name | string | The name of the environment as displayed in the UI. |
image_url | string | URL to the tarball that will be downloaded and extracted. |
default_environment | boolean | Whether this is the default environment that ships with GitHub AE. |
download | object | This environment's download status. |
hooks_count | integer | The number of pre-receive hooks that use this environment. |
Pre-receive Environment Download
Name | Type | Description |
---|---|---|
state | string | The state of the most recent download. |
downloaded_at | string | The time when the most recent download started. |
message | string | On failure, this will have any error messages produced. |
Possible values for state
are not_started
, in_progress
, success
, failed
.
List pre-receive environments
Параметры для "List pre-receive environments"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, 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 По умолчанию.: Возможные значения: |
Коды состояния http-ответа для "List pre-receive environments"
Код состояния | Описание |
---|---|
200 | OK |
Примеры кода для "List pre-receive environments"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, Description |
---|
name string Обязательное полеThe new pre-receive environment's name. |
image_url string Обязательное полеURL from which to download a tarball of this environment. |
Коды состояния http-ответа для "Create a pre-receive environment"
Код состояния | Описание |
---|---|
201 | Created |
Примеры кода для "Create a pre-receive environment"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, Description |
---|
pre_receive_environment_id integer Обязательное полеThe unique identifier of the pre-receive environment. |
Коды состояния http-ответа для "Get a pre-receive environment"
Код состояния | Описание |
---|---|
200 | OK |
Примеры кода для "Get a pre-receive environment"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, Description |
---|
pre_receive_environment_id integer Обязательное полеThe unique identifier of the pre-receive environment. |
Имя, Type, Description |
---|
name string This pre-receive environment's new name. |
image_url string URL from which to download a tarball of this environment. |
Коды состояния http-ответа для "Update a pre-receive environment"
Код состояния | Описание |
---|---|
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>" \
https://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"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, Description |
---|
pre_receive_environment_id integer Обязательное полеThe unique identifier of the pre-receive environment. |
Коды состояния http-ответа для "Delete a pre-receive environment"
Код состояния | Описание |
---|---|
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>" \
https://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"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, Description |
---|
pre_receive_environment_id integer Обязательное полеThe unique identifier of the pre-receive environment. |
Коды состояния http-ответа для "Start a pre-receive environment download"
Код состояния | Описание |
---|---|
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>" \
https://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"
Имя, Type, Description |
---|
accept string Setting to |
Имя, Type, Description |
---|
pre_receive_environment_id integer Обязательное полеThe unique identifier of the pre-receive environment. |
Коды состояния http-ответа для "Get the download status for a pre-receive environment"
Код состояния | Описание |
---|---|
200 | OK |
Примеры кода для "Get the download status for a pre-receive environment"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
https://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
}