Skip to main content

Enterprise Server 3.21 está disponível no momento como versão candidata a lançamento.

A API REST agora é versionada. Para obter mais informações, confira "Sobre o controle de versão da API".

Pontos de extremidade da API REST para ganchos de pré-recebimento do repositório

Use a API REST para exibir e modificar a aplicação dos ganchos de pré-recebimento disponíveis para um repositório.

Sobre os ganchos de pré-recebimento de repositório

Observação

Esses pontos de extremidade só dão suporte à autenticação por meio de um personal access token (classic). Para saber mais, confira Gerenciar seus tokens de acesso pessoal.

NomeTipoDescrição
namestringO nome do hook.
enforcementstringO estado de aplicação para o hook neste repositório.
configuration_urlstringURL para o ponto de extremidade em que a aplicação é definida.

Os possíveis valores para aplicação são enabled, disabled e testing. disabled indica que o gancho de pré-recebimento não será executado. enabled indica que ele será executado e rejeitará os pushes que resultem em um status diferente de zero. testing significa que o script será executado, mas não fará com que nenhum push seja rejeitado.

          `configuration_url` pode ser um link para esse repositório, o proprietário da organização ou a configuração global. A autorização para acessar o ponto de extremidade em `configuration_url` é determinada no nível do proprietário ou do administrador do site.

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.

Fine-grained access tokens for "List pre-receive hooks for a repository"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Repository pre-receive hooks" repository permissions (read)

Parâmetros para "List pre-receive hooks for a repository"

Cabeçalhos
Nome, Tipo, Descrição
accept string

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

Parâmetros de caminho
Nome, Tipo, Descrição
owner string Obrigatório

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

repo string Obrigatório

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

Parâmetros de consulta
Nome, Tipo, Descrição
per_page integer

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

Padrão: 30

page integer

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

Padrão: 1

direction string

The direction to sort the results by.

Padrão: desc

Pode ser um dos: asc, desc

sort string

Padrão: created

Pode ser um dos: created, updated, name

HTTP response status codes for "List pre-receive hooks for a repository"

Status codeDescrição
200

OK

Code samples for "List pre-receive hooks for a repository"

Request example

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: 2026-03-10" \ 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

Fine-grained access tokens for "Get a pre-receive hook for a repository"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Repository pre-receive hooks" repository permissions (read)

Parâmetros para "Get a pre-receive hook for a repository"

Cabeçalhos
Nome, Tipo, Descrição
accept string

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

Parâmetros de caminho
Nome, Tipo, Descrição
owner string Obrigatório

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

repo string Obrigatório

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

pre_receive_hook_id string Obrigatório

The unique identifier of the pre-receive hook.

HTTP response status codes for "Get a pre-receive hook for a repository"

Status codeDescrição
200

OK

Code samples for "Get a pre-receive hook for a repository"

Request example

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: 2026-03-10" \ 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

Fine-grained access tokens for "Update pre-receive hook enforcement for a repository"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Repository pre-receive hooks" repository permissions (write)

Parâmetros para "Update pre-receive hook enforcement for a repository"

Cabeçalhos
Nome, Tipo, Descrição
accept string

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

Parâmetros de caminho
Nome, Tipo, Descrição
owner string Obrigatório

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

repo string Obrigatório

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

pre_receive_hook_id string Obrigatório

The unique identifier of the pre-receive hook.

Parâmetros do corpo
Nome, Tipo, Descrição
enforcement string

The state of enforcement for the hook on this repository.

Pode ser um dos: enabled, disabled, testing

HTTP response status codes for "Update pre-receive hook enforcement for a repository"

Status codeDescrição
200

OK

Code samples for "Update pre-receive hook enforcement for a repository"

Request example

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: 2026-03-10" \ 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.

Fine-grained access tokens for "Remove pre-receive hook enforcement for a repository"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Repository pre-receive hooks" repository permissions (write)

Parâmetros para "Remove pre-receive hook enforcement for a repository"

Cabeçalhos
Nome, Tipo, Descrição
accept string

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

Parâmetros de caminho
Nome, Tipo, Descrição
owner string Obrigatório

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

repo string Obrigatório

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

pre_receive_hook_id string Obrigatório

The unique identifier of the pre-receive hook.

HTTP response status codes for "Remove pre-receive hook enforcement for a repository"

Status codeDescrição
200

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

Code samples for "Remove pre-receive hook enforcement for a repository"

Request example

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: 2026-03-10" \ 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" }