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
La API de Ganchos Pre-recepción te permite crear, listar, actualizar y borrar los ganchos de pre-recepción.
Solo se encuentra disponible para los administradores de sitio autenticados. Los usuarios normales recibirán una respuesta 404 si intentan acceder a ella.
Atributos de objeto
Ganchos de pre-recepción
| Nombre | Tipo | Descripción |
|---|---|---|
name (nombre) | secuencia | El nombre del gancho. |
script | secuencia | El script que ejecuta el gancho. |
script_repository | objeto | El repositorio de GitHub en donde se mantiene el script. |
environment | objeto | El ambiente de pre-recepción en donde se ejecuta el script. |
enforcement | secuencia | El estado de las imposiciones para este gancho. |
allow_downstream_configuration | boolean | Si las imposiciones pueden o no ignorarse a nivel de organización o de repositorio. |
Los valores posibles para enforcement son enabled, disabled y testing. El valor disabled indica que el gancho de pre-recepción no se ejecutará. El valor enabled indica que se ejecutará y rechazará cualquier carga que resulte en un estado diferente a zero. El valor testing indica que el script va a ejecutarse pero no va a causar que se rechace ninguna carga.
List pre-receive hooks
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de consulta |
| Nombre, Tipo, Descripción |
per_pageintegerThe number of results per page (max 100). Predeterminado: |
pageintegerPage number of the results to fetch. Predeterminado: |
directionstringThe direction to sort the results by. Predeterminado: Puede ser una de las siguientes: |
sortstringThe property to sort the results by. Predeterminado: Puede ser una de las siguientes: |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
Ejemplos de código
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooksResponse
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
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de cuerpo |
| Nombre, Tipo, Descripción |
namestringRequeridoThe name of the hook. |
scriptstringRequeridoThe script that the hook runs. |
script_repositoryobjectRequeridoThe GitHub repository where the script is kept. |
environmentobjectRequeridoThe pre-receive environment where the script is executed. |
enforcementstringThe state of enforcement for this hook. default: |
allow_downstream_configurationbooleanWhether enforcement can be overridden at the org or repo level. default: |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
201 | Created |
Ejemplos de código
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <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
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
pre_receive_hook_idintegerRequeridoThe unique identifier of the pre-receive hook. |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
Ejemplos de código
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_IDResponse
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
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
pre_receive_hook_idintegerRequeridoThe unique identifier of the pre-receive hook. |
| Parámetros de cuerpo |
| Nombre, Tipo, Descripción |
namestringThe name of the hook. |
scriptstringThe script that the hook runs. |
script_repositoryobjectThe GitHub repository where the script is kept. |
environmentobjectThe pre-receive environment where the script is executed. |
enforcementstringThe state of enforcement for this hook. |
allow_downstream_configurationbooleanWhether enforcement can be overridden at the org or repo level. |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
Ejemplos de código
curl \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <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
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
pre_receive_hook_idintegerRequeridoThe unique identifier of the pre-receive hook. |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
204 | No Content |
Ejemplos de código
curl \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token <TOKEN>" \
http(s)://HOSTNAME/api/v3/admin/pre-receive-hooks/PRE_RECEIVE_HOOK_IDResponse
Status: 204