diff --git a/doc/api/system_hooks.md b/doc/api/system_hooks.md index 073e99b7147043cef150b8e921b1e6b7983d7d69..569831af54038f9bb65b53ad26dafbb9ae96c1a5 100644 --- a/doc/api/system_hooks.md +++ b/doc/api/system_hooks.md @@ -27,11 +27,14 @@ Example response: ```json [ - { - "id" : 1, - "url" : "https://gitlab.example.com/hook", - "created_at" : "2015-11-04T20:07:35.874Z" - } + { + "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 + } ] ``` @@ -48,6 +51,10 @@ 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: @@ -59,11 +66,14 @@ Example response: ```json [ - { - "id" : 2, - "url" : "https://gitlab.example.com/hook", - "created_at" : "2015-11-04T20:07:35.874Z" - } + { + "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 + } ] ``` diff --git a/lib/api/entities.rb b/lib/api/entities.rb index c6c7747d022ca656e2812c675dfe7c95e6cbc12c..47a5874ae75a093d245000fb62ec10ef336c6160 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -44,7 +44,7 @@ module API class Hook < Grape::Entity expose :id, :url, :created_at, :push_events, :tag_push_events - expose :enable_ssl_verification, :token + expose :enable_ssl_verification end class ProjectHook < Hook diff --git a/lib/api/system_hooks.rb b/lib/api/system_hooks.rb index ca95c044ecc10211c97663587789ea558c2452cc..32f731c565221eaf2740548345dbb5a5445eec7e 100644 --- a/lib/api/system_hooks.rb +++ b/lib/api/system_hooks.rb @@ -12,6 +12,7 @@ module API end get do hooks = SystemHook.all + present hooks, with: Entities::Hook end diff --git a/spec/requests/api/system_hooks_spec.rb b/spec/requests/api/system_hooks_spec.rb index cdf0874dbdc54f79ecd168f68436f5f2c645879b..55567941e081def7d3b8f1e126213eb1854e7f1a 100644 --- a/spec/requests/api/system_hooks_spec.rb +++ b/spec/requests/api/system_hooks_spec.rb @@ -30,7 +30,6 @@ describe API::API, api: true do it "returns an array of hooks" do get api("/hooks", admin) - byebug expect(response).to have_http_status(200) expect(json_response).to be_an Array expect(json_response.first['url']).to eq(hook.url)