Esta versão do GitHub Enterprise Server foi descontinuada em 2024-09-25. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.
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
Note
Esses pontos de extremidade só dão suporte à autenticação por meio de um personal access token (classic). Para obter mais informações, confira "Gerenciar seus tokens de acesso pessoal".
Nome | Tipo | Descrição |
---|---|---|
name | string | O nome do hook. |
enforcement | string | O estado de aplicação para o hook neste repositório. |
configuration_url | string | URL para o ponto de extremidade em que a aplicação é definida. |
Os possíveis valores para a imposiçã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.
Tokens de acesso refinados para "List pre-receive hooks for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Pre-receive hooks" repository permissions (read)
Parâmetros para "List pre-receive hooks for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
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: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Padrão: |
direction string The direction to sort the results by. Padrão: Pode ser um dos: |
sort string Padrão: Pode ser um dos: |
Códigos de status de resposta HTTP para "List pre-receive hooks for a repository"
Código de status | Descrição |
---|---|
200 | OK |
Exemplos de código para "List pre-receive hooks for a repository"
Exemplo de solicitação
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
Tokens de acesso refinados para "Get a pre-receive hook for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Pre-receive hooks" repository permissions (read)
Parâmetros para "Get a pre-receive hook for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
pre_receive_hook_id integer ObrigatórioThe unique identifier of the pre-receive hook. |
Códigos de status de resposta HTTP para "Get a pre-receive hook for a repository"
Código de status | Descrição |
---|---|
200 | OK |
Exemplos de código para "Get a pre-receive hook for a repository"
Exemplo de solicitação
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
Tokens de acesso refinados para "Update pre-receive hook enforcement for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Pre-receive hooks" repository permissions (write)
Parâmetros para "Update pre-receive hook enforcement for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
pre_receive_hook_id integer ObrigatórioThe unique identifier of the pre-receive hook. |
Nome, Tipo, Descrição |
---|
enforcement string The state of enforcement for the hook on this repository. Pode ser um dos: |
Códigos de status de resposta HTTP para "Update pre-receive hook enforcement for a repository"
Código de status | Descrição |
---|---|
200 | OK |
Exemplos de código para "Update pre-receive hook enforcement for a repository"
Exemplo de solicitação
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.
Tokens de acesso refinados para "Remove pre-receive hook enforcement for a repository"
Esse ponto de extremidade funciona com os seguintes tipos de token refinados:
- Tokens de acesso de usuário do aplicativo GitHub
- Tokens de acesso à instalação do aplicativo GitHub
- Tokens de acesso pessoal refinados
O token refinado deve ter os seguintes conjuntos de permissões:
- "Pre-receive hooks" repository permissions (write)
Parâmetros para "Remove pre-receive hook enforcement for a repository"
Nome, Tipo, Descrição |
---|
accept string Setting to |
Nome, Tipo, Descrição |
---|
owner string ObrigatórioThe account owner of the repository. The name is not case sensitive. |
repo string ObrigatórioThe name of the repository without the |
pre_receive_hook_id integer ObrigatórioThe unique identifier of the pre-receive hook. |
Códigos de status de resposta HTTP para "Remove pre-receive hook enforcement for a repository"
Código de status | Descrição |
---|---|
200 | Responds with effective values inherited from owner and/or global level. |
Exemplos de código para "Remove pre-receive hook enforcement for a repository"
Exemplo de solicitação
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"
}