This version of GitHub Enterprise was discontinued on 2023-07-06. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.
Organization Pre-receive Hooks
Use the REST API to view and modify enforcement of the pre-receive hooks that are available to an organization.
About organization pre-receive hooks
Object attributes
Name | Type | Description |
---|---|---|
name | string | The name of the hook. |
enforcement | string | The state of enforcement for the hook on this repository. |
allow_downstream_configuration | boolean | Whether repositories can override enforcement. |
configuration_url | string | URL for the endpoint where enforcement is set. |
Possible values for enforcement
are enabled
, disabled
andtesting
. disabled
indicates the pre-receive hook will not run. enabled
indicates it will run and reject any pushes that result in a non-zero status. testing
means the script will run but will not cause any pushes to be rejected.
configuration_url
may be a link to this endpoint or this hook's global configuration. Only site admins are able to access the global configuration.
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.
Parameters for "List pre-receive hooks for an organization"
Headers |
---|
Name, Type, Description |
accept string Setting to |
Path parameters |
Name, Type, Description |
org string RequiredThe organization name. The name is not case sensitive. |
Query parameters |
Name, Type, Description |
per_page integer The number of results per page (max 100). Default: |
page integer Page number of the results to fetch. Default: |
direction string The direction to sort the results by. Default: Can be one of: |
sort string The sort order for the response collection. Default: Can be one of: |
HTTP response status codes for "List pre-receive hooks for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "List pre-receive hooks for an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
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
Parameters for "Get a pre-receive hook for an organization"
Headers |
---|
Name, Type, Description |
accept string Setting to |
Path parameters |
Name, Type, Description |
org string RequiredThe organization name. The name is not case sensitive. |
pre_receive_hook_id integer RequiredThe unique identifier of the pre-receive hook. |
HTTP response status codes for "Get a pre-receive hook for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a pre-receive hook for an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
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
Parameters for "Update pre-receive hook enforcement for an organization"
Headers |
---|
Name, Type, Description |
accept string Setting to |
Path parameters |
Name, Type, Description |
org string RequiredThe organization name. The name is not case sensitive. |
pre_receive_hook_id integer RequiredThe unique identifier of the pre-receive hook. |
Body parameters |
Name, Type, Description |
enforcement string The state of enforcement for the hook on this repository. |
allow_downstream_configuration boolean Whether repositories can override enforcement. |
HTTP response status codes for "Update pre-receive hook enforcement for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Update pre-receive hook enforcement for an organization"
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
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.
Parameters for "Remove pre-receive hook enforcement for an organization"
Headers |
---|
Name, Type, Description |
accept string Setting to |
Path parameters |
Name, Type, Description |
org string RequiredThe organization name. The name is not case sensitive. |
pre_receive_hook_id integer RequiredThe unique identifier of the pre-receive hook. |
HTTP response status codes for "Remove pre-receive hook enforcement for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Remove pre-receive hook enforcement for an organization"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
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
}