GitHub-App-Webhooks
Verwenden der REST-API zum Interagieren mit Webhooks für OAuth Apps
Informationen zu Webhooks für GitHub Apps
Mit einem GitHub App-Webhook kannst du HTTP-POST
-Nutzlasten empfangen, wenn bestimmte Ereignisse für eine App auftreten. Du kannst die REST-API verwenden, um Repository, Organisation und App-Webhooks zu verwalten. Du kannst Webhookübermittlungen für einen Webhook auflisten oder eine individuelle Übermittlung für einen Webhook abrufen und erneut ausführen, der in eine externe App oder einen Dienst integriert werden kann. Du kannst die REST-API auch verwenden, um die Konfiguration des Webhooks zu ändern. Du kannst beispielsweise die Nutzlast-URL, den Inhaltstyp, die SSL-Überprüfung und das Geheimnis ändern. Weitere Informationen findest du unter:
Get a webhook configuration for an app
Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "Creating a GitHub App."
You must use a JWT to access this endpoint.
HTTP-Antwortstatuscodes für „Get a webhook configuration for an app“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Get a webhook configuration for an app“
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/app/hook/config
Response
Status: 200
{
"content_type": "json",
"insecure_ssl": "0",
"secret": "********",
"url": "https://example.com/webhook"
}
Update a webhook configuration for an app
Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "Creating a GitHub App."
You must use a JWT to access this endpoint.
Parameter für „Update a webhook configuration for an app“
Header |
---|
Name, type, BESCHREIBUNG |
accept string Setting to |
Textparameter |
Name, type, BESCHREIBUNG |
url string The URL to which the payloads will be delivered. |
content_type string The media type used to serialize the payloads. Supported values include |
secret string If provided, the |
insecure_ssl string or number Determines whether the SSL certificate of the host for |
HTTP-Antwortstatuscodes für „Update a webhook configuration for an app“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
Codebeispiele für „Update a webhook configuration for an app“
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/app/hook/config \
-d '{"content_type":"json","insecure_ssl":"0","secret":"********","url":"https://example.com/webhook"}'
Response
Status: 200
{
"content_type": "json",
"insecure_ssl": "0",
"secret": "********",
"url": "https://example.com/webhook"
}
List deliveries for an app webhook
Returns a list of webhook deliveries for the webhook configured for a GitHub App.
You must use a JWT to access this endpoint.
Parameter für „List deliveries for an app webhook“
Header |
---|
Name, type, BESCHREIBUNG |
accept string Setting to |
Abfrageparameter |
Name, type, BESCHREIBUNG |
per_page integer The number of results per page (max 100). Standard: |
cursor string Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the |
redelivery boolean |
HTTP-Antwortstatuscodes für „List deliveries for an app webhook“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
400 | Bad Request |
422 | Validation failed, or the endpoint has been spammed. |
Codebeispiele für „List deliveries for an app webhook“
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/app/hook/deliveries
Response
Status: 200
[
{
"id": 12345678,
"guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516",
"delivered_at": "2019-06-03T00:57:16Z",
"redelivery": false,
"duration": 0.27,
"status": "OK",
"status_code": 200,
"event": "issues",
"action": "opened",
"installation_id": 123,
"repository_id": 456
},
{
"id": 123456789,
"guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516",
"delivered_at": "2019-06-04T00:57:16Z",
"redelivery": true,
"duration": 0.28,
"status": "OK",
"status_code": 200,
"event": "issues",
"action": "opened",
"installation_id": 123,
"repository_id": 456
}
]
Get a delivery for an app webhook
Returns a delivery for the webhook configured for a GitHub App.
You must use a JWT to access this endpoint.
Parameter für „Get a delivery for an app webhook“
Header |
---|
Name, type, BESCHREIBUNG |
accept string Setting to |
Pfadparameter |
Name, type, BESCHREIBUNG |
delivery_id integer Erforderlich |
HTTP-Antwortstatuscodes für „Get a delivery for an app webhook“
Statuscode | BESCHREIBUNG |
---|---|
200 | OK |
400 | Bad Request |
422 | Validation failed, or the endpoint has been spammed. |
Codebeispiele für „Get a delivery for an app webhook“
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/app/hook/deliveries/DELIVERY_ID
Response
Status: 200
{
"id": 12345678,
"guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516",
"delivered_at": "2019-06-03T00:57:16Z",
"redelivery": false,
"duration": 0.27,
"status": "OK",
"status_code": 200,
"event": "issues",
"action": "opened",
"installation_id": 123,
"repository_id": 456,
"url": "https://www.example.com",
"request": {
"headers": {
"X-GitHub-Delivery": "0b989ba4-242f-11e5-81e1-c7b6966d2516",
"X-Hub-Signature-256": "sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e",
"Accept": "*/*",
"X-GitHub-Hook-ID": "42",
"User-Agent": "GitHub-Hookshot/b8c71d8",
"X-GitHub-Event": "issues",
"X-GitHub-Hook-Installation-Target-ID": "123",
"X-GitHub-Hook-Installation-Target-Type": "repository",
"content-type": "application/json",
"X-Hub-Signature": "sha1=a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d"
},
"payload": {
"action": "opened",
"issue": {
"body": "foo"
},
"repository": {
"id": 123
}
}
},
"response": {
"headers": {
"Content-Type": "text/html;charset=utf-8"
},
"payload": "ok"
}
}
Redeliver a delivery for an app webhook
Redeliver a delivery for the webhook configured for a GitHub App.
You must use a JWT to access this endpoint.
Parameter für „Redeliver a delivery for an app webhook“
Header |
---|
Name, type, BESCHREIBUNG |
accept string Setting to |
Pfadparameter |
Name, type, BESCHREIBUNG |
delivery_id integer Erforderlich |
HTTP-Antwortstatuscodes für „Redeliver a delivery for an app webhook“
Statuscode | BESCHREIBUNG |
---|---|
202 | Accepted |
400 | Bad Request |
422 | Validation failed, or the endpoint has been spammed. |
Codebeispiele für „Redeliver a delivery for an app webhook“
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/app/hook/deliveries/DELIVERY_ID/attempts
Accepted
Status: 202