Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-03-26. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

После обновления экземпляра Enterprise Server администратором сайта до Enterprise Server 3.9 или более поздней версии, REST API будет версии. Сведения о том, как найти версию экземпляра, см. в разделе "Сведения о версиях документов GitHub". Дополнительные сведения см. в разделе "О управлении версиями API".

Конечные точки REST API для перехватчики предварительного получения репозитория

Используйте REST API для просмотра и изменения применения перехватчики предварительного получения, доступных в репозитории.

About repository pre-receive hooks

NameTypeDescription
namestringThe name of the hook.
enforcementstringThe state of enforcement for the hook on this repository.
configuration_urlstringURL for the endpoint where enforcement is set.

Possible values for enforcement are enabled, disabled andtesting. disabled indicates the pre-receive hook will not run. enabled indicates it will run and reject any pushes that result in a non-zero status. testing means the script will run but will not cause any pushes to be rejected.

configuration_url may be a link to this repository, it's organization owner or global configuration. Authorization to access the endpoint at configuration_url is determined at the owner or site admin level.

List pre-receive hooks for a repository

List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed.

Параметры для "List pre-receive hooks for a repository"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

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

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

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

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

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

direction string

The direction to sort the results by.

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

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

sort string

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

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

Коды состояния http-ответа для "List pre-receive hooks for a repository"

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

OK

Примеры кода для "List pre-receive hooks for a repository"

Пример запроса

get/repos/{owner}/{repo}/pre-receive-hooks
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/pre-receive-hooks

Response

Status: 200
[ { "id": 42, "name": "Check Commits", "enforcement": "disabled", "configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42" } ]

Get a pre-receive hook for a repository

Параметры для "Get a pre-receive hook for a repository"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

pre_receive_hook_id integer Обязательное поле

The unique identifier of the pre-receive hook.

Коды состояния http-ответа для "Get a pre-receive hook for a repository"

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

OK

Примеры кода для "Get a pre-receive hook for a repository"

Пример запроса

get/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/pre-receive-hooks/PRE_RECEIVE_HOOK_ID

Response

Status: 200
{ "id": 42, "name": "Check Commits", "enforcement": "disabled", "configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42" }

Update pre-receive hook enforcement for a repository

For pre-receive hooks which are allowed to be configured at the repo level, you can set enforcement

Параметры для "Update pre-receive hook enforcement for a repository"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

pre_receive_hook_id integer Обязательное поле

The unique identifier of the pre-receive hook.

Параметры запроса
Имя., Тип, Description
enforcement string

The state of enforcement for the hook on this repository.

Возможные значения: enabled, disabled, testing

Коды состояния http-ответа для "Update pre-receive hook enforcement for a repository"

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

OK

Примеры кода для "Update pre-receive hook enforcement for a repository"

Пример запроса

patch/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \ -d '{"enforcement":"enabled"}'

Response

Status: 200
{ "id": 42, "name": "Check Commits", "enforcement": "enabled", "configuration_url": "https://github.example.com/api/v3/repos/octocat/hello-world/pre-receive-hooks/42" }

Remove pre-receive hook enforcement for a repository

Deletes any overridden enforcement on this repository for the specified hook.

Responds with effective values inherited from owner and/or global level.

Параметры для "Remove pre-receive hook enforcement for a repository"

Заголовки
Имя., Тип, Description
accept string

Setting to application/vnd.github+json is recommended.

Параметры пути
Имя., Тип, Description
owner string Обязательное поле

The account owner of the repository. The name is not case sensitive.

repo string Обязательное поле

The name of the repository without the .git extension. The name is not case sensitive.

pre_receive_hook_id integer Обязательное поле

The unique identifier of the pre-receive hook.

Коды состояния http-ответа для "Remove pre-receive hook enforcement for a repository"

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

Responds with effective values inherited from owner and/or global level.

Примеры кода для "Remove pre-receive hook enforcement for a repository"

Пример запроса

delete/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/pre-receive-hooks/PRE_RECEIVE_HOOK_ID

Responds with effective values inherited from owner and/or global level.

Status: 200
{ "id": 42, "name": "Check Commits", "enforcement": "disabled", "configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42" }