Skip to main content

Выпуск GitHub AE сейчас ограничен.

Недавно мы переехали некоторые из документации по 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

NameTypeDescription
namestringThe name of the environment as displayed in the UI.
image_urlstringURL to the tarball that will be downloaded and extracted.
default_environmentbooleanWhether this is the default environment that ships with GitHub AE.
downloadobjectThis environment's download status.
hooks_countintegerThe number of pre-receive hooks that use this environment.

Pre-receive Environment Download

NameTypeDescription
statestringThe state of the most recent download.
downloaded_atstringThe time when the most recent download started.
messagestringOn 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 application/vnd.github+json is recommended.

Параметры запроса
Имя, Type, Description
per_page integer

The number of results per page (max 100).

По умолчанию.: 30

page integer

Page number of the results to fetch.

По умолчанию.: 1

direction string

The direction to sort the results by.

По умолчанию.: desc

Возможные значения: asc, desc

sort string

По умолчанию.: created

Возможные значения: created, updated, name

Коды состояния http-ответа для "List pre-receive environments"

Код состоянияОписание
200

OK

Примеры кода для "List pre-receive environments"

get/admin/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 application/vnd.github+json is recommended.

Параметры запроса
Имя, 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"

post/admin/pre-receive-environments
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 application/vnd.github+json is recommended.

Параметры пути
Имя, 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"

get/admin/pre-receive-environments/{pre_receive_environment_id}
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 application/vnd.github+json is recommended.

Параметры пути
Имя, 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"

patch/admin/pre-receive-environments/{pre_receive_environment_id}
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 application/vnd.github+json is recommended.

Параметры пути
Имя, 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"

delete/admin/pre-receive-environments/{pre_receive_environment_id}
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 application/vnd.github+json is recommended.

Параметры пути
Имя, 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"

post/admin/pre-receive-environments/{pre_receive_environment_id}/downloads
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 application/vnd.github+json is recommended.

Параметры пути
Имя, 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"

get/admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest
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 }