Points de terminaison d’API REST pour les hooks de pré-réception du référentiel
Utilisez l’API REST pour visualiser et modifier l’application des hooks de pré-réception qui sont disponibles pour un référentiel.
À propos des hooks de préréception du référentiel
Remarque
Ces points de terminaison prennent uniquement en charge l’authentification à l’aide d’un personal access token (classic). Pour plus d’informations, consultez « Gestion de vos jetons d’accès personnels ».
| Nom | Type | Description |
|---|---|---|
name | string | Nom du crochet. |
enforcement | string | État d’application du hook sur ce référentiel. |
configuration_url | string | URL du point de terminaison où la mise en application est définie. |
Les valeurs possibles pour enforcement sont enabled, disabled et testing.
disabled indique que le hook pré-réception ne s’exécute pas.
enabled indique qu’il s’exécute et rejette tous les envois qui entraînent un état différent de zéro.
testing signifie que le script s’exécute, mais n’entraîne pas de rejet des envois.
`configuration_url` peut être un lien vers ce référentiel, son propriétaire d’organisation ou sa configuration globale. L’autorisation d’accéder au point de terminaison sur `configuration_url` est déterminée au niveau du propriétaire ou de l’administrateur de 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Repository pre-receive hooks" repository permissions (read)
Paramètres pour «List pre-receive hooks for a repository »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
owner string RequisThe account owner of the repository. The name is not case sensitive. |
repo string RequisThe name of the repository without the |
| Nom, Type, Description |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Par défaut: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Par défaut: |
direction string The direction to sort the results by. Par défaut: Peut être l'un des: |
sort string Par défaut: Peut être l'un des: |
HTTP response status codes for "List pre-receive hooks for a repository"
| Status code | Description |
|---|---|
200 | OK |
Code samples for "List pre-receive hooks for a repository"
Request example
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-hooksResponse
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Repository pre-receive hooks" repository permissions (read)
Paramètres pour «Get a pre-receive hook for a repository »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
owner string RequisThe account owner of the repository. The name is not case sensitive. |
repo string RequisThe name of the repository without the |
pre_receive_hook_id string RequisThe unique identifier of the pre-receive hook. |
HTTP response status codes for "Get a pre-receive hook for a repository"
| Status code | Description |
|---|---|
200 | OK |
Code samples for "Get a pre-receive hook for a repository"
Request example
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_IDResponse
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Repository pre-receive hooks" repository permissions (write)
Paramètres pour «Update pre-receive hook enforcement for a repository »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
owner string RequisThe account owner of the repository. The name is not case sensitive. |
repo string RequisThe name of the repository without the |
pre_receive_hook_id string RequisThe unique identifier of the pre-receive hook. |
| Nom, Type, Description |
|---|
enforcement string The state of enforcement for the hook on this repository. Peut être l'un des: |
HTTP response status codes for "Update pre-receive hook enforcement for a repository"
| Status code | Description |
|---|---|
200 | OK |
Code samples for "Update pre-receive hook enforcement for a repository"
Request example
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Repository pre-receive hooks" repository permissions (write)
Paramètres pour «Remove pre-receive hook enforcement for a repository »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
owner string RequisThe account owner of the repository. The name is not case sensitive. |
repo string RequisThe name of the repository without the |
pre_receive_hook_id string RequisThe unique identifier of the pre-receive hook. |
HTTP response status codes for "Remove pre-receive hook enforcement for a repository"
| Status code | Description |
|---|---|
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
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_IDResponds 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"
}