Skip to content

Latest commit

 

History

History
181 lines (154 loc) · 3.43 KB

Webhooks.md

File metadata and controls

181 lines (154 loc) · 3.43 KB

Webhooks

List hooks

GET /repos/:username/:reponame/hooks 

Response

Status: 200 OK 
[ { "id": 14, "type": "gogs", "events": [ "create", "push" ], "active": true, "config": { "content_type": "json", "url": "http://127.0.0.1:3000/unknwon/repo1/settings/hooks/14" }, "updated_at": "2015-08-29T18:25:52+08:00", "created_at": "2015-08-27T20:17:36+08:00" }, { "id": 15, "type": "slack", "events": [ "create", "push" ], "active": true, "config": { "channel": "#gogs", "color": "good", "content_type": "json", "icon_url": "https://try.gogs.io/img/favicon.png", "url": "https://hooks.slack.com/services/T03FHQZLC/B09QNJ2CU/n3nFHS3ISw", "username": "Gogs" }, "updated_at": "2015-08-29T18:25:55+08:00", "created_at": "2015-08-28T23:28:09+08:00" } ]

Create a hook

POST /repos/:username/:reponame/hooks 

Parameters

NameTypeDescription
typestringRequired The type of webhook, either gogs or slack
configobjectRequired Key/value pairs to provide settings for this hook
eventsarrayDetermines what events the hook is triggered for. Default: ["push"]
activeboolDetermines whether the hook is actually triggered on pushes. Default is false

Example

To create a webhook, the following fields are used by the config:

  • url: A required string defining the URL to which the payloads will be delivered.
  • content_type: A required string defining the media type used to serialize the payloads. Supported values include json and form.
  • secret: An optional string that’s passed with the HTTP requests body, e.g. {"secret": "xxx"}.

Here’s how you can create a hook that posts payloads in JSON format:

{ "type": "gogs", "config": { "url": "http://gogs.io", "content_type": "json" }, "events": [ "create", "delete", "fork", "push", "issues", "issue_comment", "pull_request", "release", ], "active": true }

Response

Status: 201 Created 
{ "id": 20, "type": "gogs", "config": { "content_type": "json", "url": "http://gogs.io" }, "events": [ "create", "push" ], "active": true, "updated_at": "2015-08-29T11:31:22.453572732+08:00", "created_at": "2015-08-29T11:31:22.453569275+08:00" }

Edit a hook

PATCH /repos/:username/:reponame/hooks/:id 

Parameters

NameTypeDescription
configobjectRequired Key/value pairs to provide settings for this hook
eventsarrayDetermines what events the hook is triggered for. Default: ["push"]
activeboolActive or deactive the hook is actually triggered on pushes. Ignore this field to leave it unchanged

Example

{ "config": { "url": "http://gogs.io/hook" }, "events": [ "push" ] }

Response

Status: 200 OK 
{ "id": 20, "type": "gogs", "config": { "content_type": "json", "url": "http://gogs.io/hook" }, "events": [ "push" ], "active": true, "updated_at": "2015-08-29T11:45:30.577057789+08:00", "created_at": "2015-08-29T11:31:22+08:00" }

Delete a hook

DELETE /repos/:username/:reponame/hooks/:id 

Response

Status: 204 No Content 
close