Skip to main content
Die REST-API verfügt jetzt über eine Versionskontrolle. Weitere Informationen findest du unter Informationen zur API-Versionsverwaltung.

REST-API-Endpunkte für Repository-Pre-Receive-Hooks

Verwende die REST-API, um die Erzwingung der Pre-Receive-Hooks anzuzeigen und zu bearbeiten, die für ein Repository verfügbar sind.

Informationen zu Pre-Receive-Hooks für Repositorys

Note

Diese Endpunkte unterstützen nur die Authentifizierung über ein personal access token (classic). Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.

NameTypBESCHREIBUNG
namestringDer Name des Hooks.
enforcementstringDer Status der Erzwingung für den Hook in diesem Repository.
configuration_urlstringURL für den Endpunkt, an dem die Erzwingung festgelegt ist.

Mögliche Werte für die Erzwingung sind enabled, disabled undtesting. 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 ein Link zu diesem Repository, seinem Organisationsbesitzer oder der globalen Konfiguration sein. Die Autorisierung für den Zugriff auf den Endpunkt unter configuration_url wird auf Besitzer- oder Websiteadministratorebene bestimmt.

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.

Differenzierte Zugriffstoken für "List pre-receive hooks for a repository"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:

  • "Pre-receive hooks" repository permissions (read)

Parameter für „List pre-receive hooks for a repository“

Header
Name, type, BESCHREIBUNG
accept string

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

Pfadparameter
Name, type, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

Abfrageparameter
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: 30

page integer

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

Standard: 1

direction string

The direction to sort the results by.

Standard: desc

Kann eine der Folgenden sein: asc, desc

sort string

Standard: created

Kann eine der Folgenden sein: created, updated, name

HTTP-Antwortstatuscodes für „List pre-receive hooks for a repository“

StatuscodeBESCHREIBUNG
200

OK

Codebeispiele für „List pre-receive hooks for a repository“

Anforderungsbeispiel

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

Differenzierte Zugriffstoken für "Get a pre-receive hook for a repository"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:

  • "Pre-receive hooks" repository permissions (read)

Parameter für „Get a pre-receive hook for a repository“

Header
Name, type, BESCHREIBUNG
accept string

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

Pfadparameter
Name, type, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

pre_receive_hook_id integer Erforderlich

The unique identifier of the pre-receive hook.

HTTP-Antwortstatuscodes für „Get a pre-receive hook for a repository“

StatuscodeBESCHREIBUNG
200

OK

Codebeispiele für „Get a pre-receive hook for a repository“

Anforderungsbeispiel

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

Differenzierte Zugriffstoken für "Update pre-receive hook enforcement for a repository"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:

  • "Pre-receive hooks" repository permissions (write)

Parameter für „Update pre-receive hook enforcement for a repository“

Header
Name, type, BESCHREIBUNG
accept string

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

Pfadparameter
Name, type, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

pre_receive_hook_id integer Erforderlich

The unique identifier of the pre-receive hook.

Textparameter
Name, type, BESCHREIBUNG
enforcement string

The state of enforcement for the hook on this repository.

Kann eine der Folgenden sein: enabled, disabled, testing

HTTP-Antwortstatuscodes für „Update pre-receive hook enforcement for a repository“

StatuscodeBESCHREIBUNG
200

OK

Codebeispiele für „Update pre-receive hook enforcement for a repository“

Anforderungsbeispiel

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.

Differenzierte Zugriffstoken für "Remove pre-receive hook enforcement for a repository"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss einen der folgenden Berechtigungssätze aufweisen.:

  • "Pre-receive hooks" repository permissions (write)

Parameter für „Remove pre-receive hook enforcement for a repository“

Header
Name, type, BESCHREIBUNG
accept string

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

Pfadparameter
Name, type, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

pre_receive_hook_id integer Erforderlich

The unique identifier of the pre-receive hook.

HTTP-Antwortstatuscodes für „Remove pre-receive hook enforcement for a repository“

StatuscodeBESCHREIBUNG
200

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

Codebeispiele für „Remove pre-receive hook enforcement for a repository“

Anforderungsbeispiel

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" }