REST-API-Endpunkte für Pre-Receive-Hooks in Organisationen
Verwende die REST-API, um die Erzwingung der Pre-Receive-Hooks anzuzeigen und zu bearbeiten, die für eine Organisation verfügbar sind.
Informationen zu Pre-Receive-Hooks für Organisationen
Note
Diese Endpunkte unterstützen nur die Authentifizierung über ein personal access token (classic). Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.
Objektattribute
Name | Typ | BESCHREIBUNG |
---|---|---|
name | string | Der Name des Hooks. |
enforcement | string | Der Status der Erzwingung für den Hook in diesem Repository. |
allow_downstream_configuration | boolean | Gibt an, ob Repositorys die Erzwingung außer Kraft setzen können |
configuration_url | string | URL für den Endpunkt, an dem die Erzwingung festgelegt ist. |
Mögliche Werte für enforcement
sind enabled
, disabled
und testing
. disabled
gibt an, dass der Pre-Receive-Hook nicht ausgeführt wird. enabled
gibt an, dass alle Pushs ausgeführt und abgelehnt werden, die zu einem anderen Status als null (0) führen. testing
bedeutet, dass das Skript zwar ausgeführt wird, aber keine Ablehnung von Pushs auslösen wird.
configuration_url
kann eine Verknüpfung zu diesem Endpunkt oder der globalen Konfiguration dieses Hooks sein. Nur Websiteadministratoren können auf die globale Konfiguration zugreifen.
List pre-receive hooks for an organization
List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed.
Differenzierte Zugriffstoken für "List pre-receive hooks for an organization"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Pre-receive hooks" organization permissions (read)
Parameter für „List pre-receive hooks for an organization“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
org string ErforderlichThe organization name. The name is not case sensitive. |
Name, type, BESCHREIBUNG |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Standard: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Standard: |
direction string The direction to sort the results by. Standard: Kann eine der Folgenden sein: |
sort string The sort order for the response collection. Standard: Kann eine der Folgenden sein: |
HTTP-Antwortstatuscodes für „List pre-receive hooks for an organization“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „List pre-receive hooks for an organization“
Anforderungsbeispiel
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/orgs/ORG/pre-receive-hooks
Response
Status: 200
[
{
"id": 42,
"name": "Check Commits",
"enforcement": "disabled",
"configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42",
"allow_downstream_configuration": true
}
]
Get a pre-receive hook for an organization
Differenzierte Zugriffstoken für "Get a pre-receive hook for an organization"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Pre-receive hooks" organization permissions (read)
Parameter für „Get a pre-receive hook for an organization“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
org string ErforderlichThe organization name. The name is not case sensitive. |
pre_receive_hook_id integer ErforderlichThe unique identifier of the pre-receive hook. |
HTTP-Antwortstatuscodes für „Get a pre-receive hook for an organization“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Get a pre-receive hook for an organization“
Anforderungsbeispiel
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/orgs/ORG/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/admin/pre-receive-hooks/42",
"allow_downstream_configuration": true
}
Update pre-receive hook enforcement for an organization
For pre-receive hooks which are allowed to be configured at the org level, you can set enforcement
and allow_downstream_configuration
Differenzierte Zugriffstoken für "Update pre-receive hook enforcement for an organization"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Pre-receive hooks" organization permissions (write)
Parameter für „Update pre-receive hook enforcement for an organization“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
org string ErforderlichThe organization name. The name is not case sensitive. |
pre_receive_hook_id integer ErforderlichThe unique identifier of the pre-receive hook. |
Name, type, BESCHREIBUNG |
---|
enforcement string The state of enforcement for the hook on this repository. |
allow_downstream_configuration boolean Whether repositories can override enforcement. |
HTTP-Antwortstatuscodes für „Update pre-receive hook enforcement for an organization“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Update pre-receive hook enforcement for an organization“
Anforderungsbeispiel
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/orgs/ORG/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \
-d '{"enforcement":"enabled","allow_downstream_configuration":false}'
Response
Status: 200
{
"id": 42,
"name": "Check Commits",
"enforcement": "enabled",
"configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42",
"allow_downstream_configuration": false
}
Remove pre-receive hook enforcement for an organization
Removes any overrides for this hook at the org level for this org.
Differenzierte Zugriffstoken für "Remove pre-receive hook enforcement for an organization"
Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:
- GitHub-App-Benutzerzugriffstoken
- Zugriffstoken für GitHub App-Installation
- Differenzierte persönliche Zugriffstoken
Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:
- "Pre-receive hooks" organization permissions (write)
Parameter für „Remove pre-receive hook enforcement for an organization“
Name, type, BESCHREIBUNG |
---|
accept string Setting to |
Name, type, BESCHREIBUNG |
---|
org string ErforderlichThe organization name. The name is not case sensitive. |
pre_receive_hook_id integer ErforderlichThe unique identifier of the pre-receive hook. |
HTTP-Antwortstatuscodes für „Remove pre-receive hook enforcement for an organization“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Remove pre-receive hook enforcement for an organization“
Anforderungsbeispiel
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/orgs/ORG/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/admin/pre-receive-hooks/42",
"allow_downstream_configuration": true
}