Skip to main content
REST API теперь версия. Дополнительные сведения см. в разделе "О управлении версиями API".

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

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

Сведения о перехватчики предварительного получения репозитория

Эти конечные точки поддерживают проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Управление личными маркерами доступа.

Имя.ТипОписание
namestringИмя перехватчика.
enforcementstringСостояние принудительного применения перехватчика в этом репозитории.
configuration_urlstringURL-адрес конечной точки, в которой задано принудительное применение.

Возможные значения для принудительного применения: enabled, disabled и testing. disabled указывает, что перехватчик предварительного получения не будет выполняться. enabled указывает, что он будет выполняться и отклонять все отправки, результатом которых является переход в ненулевое состояние. testing означает, что скрипт будет выполняться, но отправки отклоняться не будут.

configuration_url может быть ссылкой на этот репозиторий, это владелец организации или глобальная конфигурация. Авторизация на доступ к конечной точке в configuration_url определяется на уровне владельца или администратора сайта.

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

Эта конечная точка работает со следующими типами маркеров:

Маркер должен иметь следующий набор разрешений.:

  • repository_pre_receive_hooks:read

Параметры для "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>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ 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

Эта конечная точка работает со следующими типами маркеров:

Маркер должен иметь следующий набор разрешений.:

  • repository_pre_receive_hooks:read

Параметры для "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>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ 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>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ 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

Эта конечная точка работает со следующими типами маркеров:

Маркер должен иметь следующий набор разрешений.:

  • repository_pre_receive_hooks:write

Параметры для "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>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ 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" }