Skip to content
Snippets Groups Projects
Select Git revision
  • move-gl-dropdown
  • improve-table-pagination-spec
  • move-markdown-preview
  • winh-fix-merge-request-spec
  • master default
  • index-namespaces-lower-name
  • winh-single-karma-test
  • 10-3-stable
  • 36782-replace-team-user-role-with-add_role-user-in-specs
  • winh-modal-internal-state
  • tz-ide-file-icons
  • 38869-milestone-select
  • update-autodevops-template
  • jivl-activate-repo-cookie-preferences
  • qa-add-deploy-key
  • docs-move-article-ldap
  • 40780-choose-file
  • 22643-manual-job-page
  • refactor-cluster-show-page-conservative
  • dm-sidekiq-versioning
  • v10.4.0.pre
  • v10.3.0
  • v10.3.0-rc5
  • v10.3.0-rc4
  • v10.3.0-rc3
  • v10.3.0-rc2
  • v10.2.5
  • v10.3.0-rc1
  • v10.0.7
  • v10.1.5
  • v10.2.4
  • v10.2.3
  • v10.2.2
  • v10.2.1
  • v10.3.0.pre
  • v10.2.0
  • v10.2.0-rc4
  • v10.2.0-rc3
  • v10.1.4
  • v10.2.0-rc2
40 results

system_hooks.md

Forked from GitLab.org / GitLab FOSS
13594 commits behind the upstream repository.

System hooks

All methods require administrator authorization.

The URL endpoint of the system hooks can also be configured using the UI in the admin area under Hooks (/admin/hooks).

Read more about system hooks.

List system hooks

Get a list of all system hooks.


GET /hooks

Example request:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks

Example response:

[
  {
    "id":1,
    "url":"https://gitlab.example.com/hook",
    "created_at":"2016-10-31T12:32:15.192Z",
    "push_events":true,
    "tag_push_events":false,
    "enable_ssl_verification":true
  }
]

Add new system hook

Add a new system hook.


POST /hooks
Attribute Type Required Description
url string yes The hook URL
token string no The token to validate payloads
push_events boolean no When true, the hook will fire on push events
tag_push_events boolean no When true, the hook will fire on new tags being pushed
enable_ssl_verification boolean no Do SSL verification when triggering the hook

Example request:

curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/hooks?url=https://gitlab.example.com/hook"

Example response:

[
  {
    "id":1,
    "url":"https://gitlab.example.com/hook",
    "created_at":"2016-10-31T12:32:15.192Z",
    "push_events":true,
    "tag_push_events":false,
    "enable_ssl_verification":true
  }
]

Test system hook

GET /hooks/:id
Attribute Type Required Description
id integer yes The ID of the hook

Example request:

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks/2

Example response:

{
   "project_id" : 1,
   "owner_email" : "example@gitlabhq.com",
   "owner_name" : "Someone",
   "name" : "Ruby",
   "path" : "ruby",
   "event_name" : "project_create"
}

Delete system hook

Deletes a system hook. It returns 200 OK if the hooks is deleted and 404 Not Found if the hook is not found.


DELETE /hooks/:id
Attribute Type Required Description
id integer yes The ID of the hook

Example request:

curl --request DELETE --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/hooks/2

Example response:

{
   "note_events" : false,
   "project_id" : null,
   "enable_ssl_verification" : true,
   "url" : "https://gitlab.example.com/hook",
   "updated_at" : "2015-11-04T20:12:15.931Z",
   "issues_events" : false,
   "merge_requests_events" : false,
   "created_at" : "2015-11-04T20:12:15.931Z",
   "service_id" : null,
   "id" : 2,
   "push_events" : true,
   "tag_push_events" : false
}