Поддержка этой версии GitHub Enterprise была прекращена 2023-01-18. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.
We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the Actions REST API page.
Перехватчики предварительного получения
Используйте REST API для создания, перечисления, обновления и удаления перехватчиков предварительного получения.
Сведения о перехватчиках предварительного получения
Эти конечные точки доступны только администраторам сайта, прошедшим проверку подлинности . Обычные пользователи получат 404
ответ.
Атрибуты объектов
Перехватчик предварительного получения
Имя | Тип | Описание |
---|---|---|
name | string | Имя перехватчика. |
script | string | Скрипт, выполняемый перехватчиком. |
script_repository | object | Репозиторий GitHub, в котором хранится скрипт. |
environment | object | Среда предварительного получения, в которой выполняется скрипт. |
enforcement | string | Состояние принудительного применения этого перехватчика. |
allow_downstream_configuration | boolean | Возможность переопределения принудительного применения на уровне организации или репозитория. |
Возможные значения для принудительного применения: enabled
, disabled
и testing
. disabled
указывает, что перехватчик предварительного получения не будет выполняться. enabled
указывает, что он будет выполняться и отклонять все отправки, результатом которых является переход в ненулевое состояние. testing
означает, что скрипт будет выполняться, но отправки отклоняться не будут.
List pre-receive hooks
Parameters
Headers |
---|
Имя, Type, Описание |
accept stringSetting to |
Query parameters |
Имя, Type, Описание |
per_page integerThe number of results per page (max 100). Default: |
page integerPage number of the results to fetch. Default: |
direction stringThe direction to sort the results by. Default: Can be one of: |
sort stringThe property to sort the results by. Default: Can be one of: |
HTTP response status codes
Status code | Описание |
---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks
Response
Status: 200
[
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"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
}
},
"allow_downstream_configuration": false
}
]
Create a pre-receive hook
Parameters
Headers |
---|
Имя, Type, Описание |
accept stringSetting to |
Body parameters |
Имя, Type, Описание |
name stringRequiredThe name of the hook. |
script stringRequiredThe script that the hook runs. |
script_repository objectRequiredThe GitHub repository where the script is kept. |
environment objectRequiredThe pre-receive environment where the script is executed. |
enforcement stringThe state of enforcement for this hook. default: |
allow_downstream_configuration booleanWhether enforcement can be overridden at the org or repo level. default: |
HTTP response status codes
Status code | Описание |
---|---|
201 | Created |
Code samples
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks \
-d '{"name":"Check Commits","script":"scripts/commit_check.sh","enforcement":"disabled","allow_downstream_configuration":false,"script_repository":{"full_name":"DevIT/hooks"},"environment":{"id":2}}'
Response
Status: 201
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"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
}
},
"allow_downstream_configuration": false
}
Get a pre-receive hook
Parameters
Headers |
---|
Имя, Type, Описание |
accept stringSetting to |
Path parameters |
Имя, Type, Описание |
pre_receive_hook_id integerRequiredThe unique identifier of the pre-receive hook. |
HTTP response status codes
Status code | Описание |
---|---|
200 | OK |
Code samples
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_ID
Response
Status: 200
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"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
}
},
"allow_downstream_configuration": false
}
Update a pre-receive hook
Parameters
Headers |
---|
Имя, Type, Описание |
accept stringSetting to |
Path parameters |
Имя, Type, Описание |
pre_receive_hook_id integerRequiredThe unique identifier of the pre-receive hook. |
Body parameters |
Имя, Type, Описание |
name stringThe name of the hook. |
script stringThe script that the hook runs. |
script_repository objectThe GitHub repository where the script is kept. |
environment objectThe pre-receive environment where the script is executed. |
enforcement stringThe state of enforcement for this hook. |
allow_downstream_configuration booleanWhether enforcement can be overridden at the org or repo level. |
HTTP response status codes
Status code | Описание |
---|---|
200 | OK |
Code samples
curl \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \
-d '{"name":"Check Commits","environment":{"id":1},"allow_downstream_configuration":true}'
Response
Status: 200
{
"id": 1,
"name": "Check Commits",
"enforcement": "disabled",
"script": "scripts/commmit_check.sh",
"script_repository": {
"id": 595,
"full_name": "DevIT/hooks",
"url": "https://github.example.com/api/v3/repos/DevIT/hooks",
"html_url": "https://github.example.com/DevIT/hooks"
},
"environment": {
"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": 1,
"download": {
"url": "https://github.example.com/api/v3/admin/pre-receive-environments/1/downloads/latest",
"state": "success",
"downloaded_at": "2016-05-26T07:42:53-05:00",
"message": null
}
},
"allow_downstream_configuration": true
}
Delete a pre-receive hook
Parameters
Headers |
---|
Имя, Type, Описание |
accept stringSetting to |
Path parameters |
Имя, Type, Описание |
pre_receive_hook_id integerRequiredThe unique identifier of the pre-receive hook. |
HTTP response status codes
Status code | Описание |
---|---|
204 | No Content |
Code samples
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_ID
Response
Status: 204