Skip to main content

We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the Actions REST API page.

Pre-Receive-Hooks

Verwende die REST-API, um Pre-Receive-Hooks zu erstellen, aufzulisten, zu aktualisieren und zu löschen.

Informationen zu Pre-Receive-Hooks

Diese Endpunkte sind nur für authentifizierte Websiteadministratorinnen verfügbar. Normale Benutzerinnen erhalten eine 404-Antwort.

Objektattribute

Pre-Receive-Hook

NametypeBESCHREIBUNG
namestringDer Name des Hooks.
scriptstringDas Skript, das der Hook ausführt
script_repositoryobjectDas GitHub Repository, in dem das Skript aufbewahrt wird
environmentobjectDie vorab empfangene Umgebung, in der das Skript ausgeführt wird
enforcementstringDer Status der Erzwingung für diesen Hook
allow_downstream_configurationbooleanInformation, ob die Erzwingung auf Organisations- oder Repositoryebene außer Kraft gesetzt werden kann

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.

List pre-receive hooks

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Query parameters
Name, Type, BESCHREIBUNG
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

directionstring

The direction to sort the results by.

Default: desc

Can be one of: asc, desc

sortstring

The property to sort the results by.

Default: created

Can be one of: created, updated, name

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/admin/pre-receive-hooks
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks

Response

Status: 200
[ { "id": 1, "name": "Check Commits", "enforcement": "disabled", "script": "scripts/commmit_check.sh", "script_repository": { "id": 595, "full_name": "DevIT/hooks", "url": "https://github.example.com/api/v3/repos/DevIT/hooks", "html_url": "https://github.example.com/DevIT/hooks" }, "environment": { "id": 2, "name": "DevTools Hook Env", "image_url": "https://my_file_server/path/to/devtools_env.tar.gz", "url": "https://github.example.com/api/v3/admin/pre-receive-environments/2", "html_url": "https://github.example.com/admin/pre-receive-environments/2", "default_environment": false, "created_at": "2016-05-20T11:35:45-05:00", "hooks_count": 1, "download": { "url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest", "state": "success", "downloaded_at": "2016-05-26T07:42:53-05:00", "message": null } }, "allow_downstream_configuration": false } ]

Create a pre-receive hook

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Body parameters
Name, Type, BESCHREIBUNG
namestringRequired

The name of the hook.

scriptstringRequired

The script that the hook runs.

script_repositoryobjectRequired

The GitHub repository where the script is kept.

environmentobjectRequired

The pre-receive environment where the script is executed.

enforcementstring

The state of enforcement for this hook. default: disabled

allow_downstream_configurationboolean

Whether enforcement can be overridden at the org or repo level. default: false

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/admin/pre-receive-hooks
curl \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks \ -d '{"name":"Check Commits","script":"scripts/commit_check.sh","enforcement":"disabled","allow_downstream_configuration":false,"script_repository":{"full_name":"DevIT/hooks"},"environment":{"id":2}}'

Response

Status: 201
{ "id": 1, "name": "Check Commits", "enforcement": "disabled", "script": "scripts/commmit_check.sh", "script_repository": { "id": 595, "full_name": "DevIT/hooks", "url": "https://github.example.com/api/v3/repos/DevIT/hooks", "html_url": "https://github.example.com/DevIT/hooks" }, "environment": { "id": 2, "name": "DevTools Hook Env", "image_url": "https://my_file_server/path/to/devtools_env.tar.gz", "url": "https://github.example.com/api/v3/admin/pre-receive-environments/2", "html_url": "https://github.example.com/admin/pre-receive-environments/2", "default_environment": false, "created_at": "2016-05-20T11:35:45-05:00", "hooks_count": 1, "download": { "url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest", "state": "success", "downloaded_at": "2016-05-26T07:42:53-05:00", "message": null } }, "allow_downstream_configuration": false }

Get a pre-receive hook

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
pre_receive_hook_idintegerRequired

The unique identifier of the pre-receive hook.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/admin/pre-receive-hooks/{pre_receive_hook_id}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_ID

Response

Status: 200
{ "id": 1, "name": "Check Commits", "enforcement": "disabled", "script": "scripts/commmit_check.sh", "script_repository": { "id": 595, "full_name": "DevIT/hooks", "url": "https://github.example.com/api/v3/repos/DevIT/hooks", "html_url": "https://github.example.com/DevIT/hooks" }, "environment": { "id": 2, "name": "DevTools Hook Env", "image_url": "https://my_file_server/path/to/devtools_env.tar.gz", "url": "https://github.example.com/api/v3/admin/pre-receive-environments/2", "html_url": "https://github.example.com/admin/pre-receive-environments/2", "default_environment": false, "created_at": "2016-05-20T11:35:45-05:00", "hooks_count": 1, "download": { "url": "https://github.example.com/api/v3/admin/pre-receive-environments/2/downloads/latest", "state": "success", "downloaded_at": "2016-05-26T07:42:53-05:00", "message": null } }, "allow_downstream_configuration": false }

Update a pre-receive hook

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
pre_receive_hook_idintegerRequired

The unique identifier of the pre-receive hook.

Body parameters
Name, Type, BESCHREIBUNG
namestring

The name of the hook.

scriptstring

The script that the hook runs.

script_repositoryobject

The GitHub repository where the script is kept.

environmentobject

The pre-receive environment where the script is executed.

enforcementstring

The state of enforcement for this hook.

allow_downstream_configurationboolean

Whether enforcement can be overridden at the org or repo level.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

patch/admin/pre-receive-hooks/{pre_receive_hook_id}
curl \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \ -d '{"name":"Check Commits","environment":{"id":1},"allow_downstream_configuration":true}'

Response

Status: 200
{ "id": 1, "name": "Check Commits", "enforcement": "disabled", "script": "scripts/commmit_check.sh", "script_repository": { "id": 595, "full_name": "DevIT/hooks", "url": "https://github.example.com/api/v3/repos/DevIT/hooks", "html_url": "https://github.example.com/DevIT/hooks" }, "environment": { "id": 1, "name": "Default", "image_url": "githubenterprise://internal", "url": "https://github.example.com/api/v3/admin/pre-receive-environments/1", "html_url": "https://github.example.com/admin/pre-receive-environments/1", "default_environment": true, "created_at": "2016-05-20T11:35:45-05:00", "hooks_count": 1, "download": { "url": "https://github.example.com/api/v3/admin/pre-receive-environments/1/downloads/latest", "state": "success", "downloaded_at": "2016-05-26T07:42:53-05:00", "message": null } }, "allow_downstream_configuration": true }

Delete a pre-receive hook

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
pre_receive_hook_idintegerRequired

The unique identifier of the pre-receive hook.

HTTP response status codes

Status codeBESCHREIBUNG
204

No Content

Code samples

delete/admin/pre-receive-hooks/{pre_receive_hook_id}
curl \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_ID

Response

Status: 204