GitHub v3 REST API

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.

get
http://HOSTNAME/api/v3/orgs/{org}/pre-receive-hooks

Query Parameters

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

directionstring

One of asc (ascending) or desc (descending).

Allowed values:ascdesc

Default:desc

sortstring

The sort order for the response collection.

Allowed values:createdupdatedname

Default:created

Path Parameters

orgstringrequired

Response

200 application/json

Response

idinteger
namestring
enforcementstring
configuration_urlstring
allow_downstream_configurationboolean
get/orgs/{org}/pre-receive-hooks
 
200 application/json

Get a pre-receive hook for an organization

get
http://HOSTNAME/api/v3/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}

Path Parameters

orgstringrequired
pre_receive_hook_idintegerrequired

pre_receive_hook_id parameter

Response

200 application/json

Response

org-pre-receive-hook

idinteger
namestring
enforcementstring
configuration_urlstring
allow_downstream_configurationboolean
get/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
 
200 application/json

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

patch
http://HOSTNAME/api/v3/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}

Path Parameters

orgstringrequired
pre_receive_hook_idintegerrequired

pre_receive_hook_id parameter

Body

application/json
enforcementstring

The state of enforcement for the hook on this repository.

allow_downstream_configurationboolean

Whether repositories can override enforcement.

Response

200 application/json

Response

org-pre-receive-hook

idinteger
namestring
enforcementstring
configuration_urlstring
allow_downstream_configurationboolean
patch/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}

Body

{ "enforcement": "enabled", "allow_downstream_configuration": false }
 
200 application/json

Remove pre-receive hook enforcement for an organization

Removes any overrides for this hook at the org level for this org.

delete
http://HOSTNAME/api/v3/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}

Path Parameters

orgstringrequired
pre_receive_hook_idintegerrequired

pre_receive_hook_id parameter

Response

200 application/json

Response

org-pre-receive-hook

idinteger
namestring
enforcementstring
configuration_urlstring
allow_downstream_configurationboolean
delete/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
 
200 application/json

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.

get
http://HOSTNAME/api/v3/repos/{owner}/{repo}/pre-receive-hooks

Query Parameters

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

directionstring

One of asc (ascending) or desc (descending).

Allowed values:ascdesc

Default:desc

sortstring

Allowed values:createdupdatedname

Default:created

Path Parameters

ownerstringrequired
repostringrequired

Response

200 application/json

Response

idinteger
namestring
enforcementstring
configuration_urlstring
get/repos/{owner}/{repo}/pre-receive-hooks
 
200 application/json