diff options
author | Gabriel Mazetto <gabriel@gitlab.com> | 2016-05-13 04:21:01 -0300 |
---|---|---|
committer | Gabriel Mazetto <gabriel@gitlab.com> | 2016-05-31 11:24:58 -0300 |
commit | aaaed331ba06d14f0e071e0933a250c61caabf94 (patch) | |
tree | 2cfdded6acef3d5d38ed35d1d351788864d30d1e | |
parent | ef4fedc18f5e2475aa36cc4327a76a496567c6fc (diff) | |
download | gitlab-ce-aaaed331ba06d14f0e071e0933a250c61caabf94.tar.gz |
Fix hook data for Wiki Page event
Added "wiki" section and removed "repository"
-rw-r--r-- | app/models/project_wiki.rb | 14 | ||||
-rw-r--r-- | app/services/wiki_pages/base_service.rb | 5 | ||||
-rw-r--r-- | doc/web_hooks/web_hooks.md | 15 | ||||
-rw-r--r-- | spec/models/project_wiki_spec.rb | 13 |
4 files changed, 37 insertions, 10 deletions
diff --git a/app/models/project_wiki.rb b/app/models/project_wiki.rb index 339fb0b9f9d..415393d7368 100644 --- a/app/models/project_wiki.rb +++ b/app/models/project_wiki.rb @@ -27,6 +27,10 @@ class ProjectWiki @project.path_with_namespace + ".wiki" end + def web_url + Gitlab::Routing.url_helpers.namespace_project_wiki_url(@project.namespace, @project, :home) + end + def url_to_repo gitlab_shell.url_to_repo(path_with_namespace) end @@ -141,6 +145,16 @@ class ProjectWiki wiki end + + def hook_attrs + { + web_url: web_url, + git_ssh_url: ssh_url_to_repo, + git_http_url: http_url_to_repo, + path_with_namespace: path_with_namespace, + default_branch: default_branch, + } + end private diff --git a/app/services/wiki_pages/base_service.rb b/app/services/wiki_pages/base_service.rb index 9162f128602..4c0a2c6b4d8 100644 --- a/app/services/wiki_pages/base_service.rb +++ b/app/services/wiki_pages/base_service.rb @@ -6,9 +6,8 @@ module WikiPages object_kind: page.class.name.underscore, user: current_user.hook_attrs, project: @project.hook_attrs, - object_attributes: page.hook_attrs, - # DEPRECATED - repository: @project.hook_attrs.slice(:name, :url, :description, :homepage) + wiki: @project.wiki.hook_attrs, + object_attributes: page.hook_attrs } page_url = Gitlab::UrlBuilder.build(page) diff --git a/doc/web_hooks/web_hooks.md b/doc/web_hooks/web_hooks.md index 0777463def5..8559b67af04 100644 --- a/doc/web_hooks/web_hooks.md +++ b/doc/web_hooks/web_hooks.md @@ -720,7 +720,7 @@ X-Gitlab-Event: Wiki Page Hook "description": "This is awesome", "web_url": "http://example.com/root/awesome-project", "avatar_url": null, - "git_ssh_url": "git@example.com:root/test-project.git", + "git_ssh_url": "git@example.com:root/awesome-project.git", "git_http_url": "http://example.com/root/awesome-project.git", "namespace": "root", "visibility_level": 0, @@ -731,6 +731,13 @@ X-Gitlab-Event: Wiki Page Hook "ssh_url": "git@example.com:root/awesome-project.git", "http_url": "http://example.com/root/awesome-project.git" }, + "wiki": { + "web_url": "http://example.com/root/awesome-project/wikis/home", + "git_ssh_url": "git@example.com:root/awesome-project.wiki.git", + "git_http_url": "http://example.com/root/awesome-project.wiki.git", + "path_with_namespace": "root/awesome-project.wiki", + "default_branch": "master" + }, "object_attributes": { "title": "Awesome", "content": "awesome content goes here", @@ -739,12 +746,6 @@ X-Gitlab-Event: Wiki Page Hook "slug": "awesome", "url": "http://example.com/root/awesome-project/wikis/awesome", "action": "create" - }, - "repository": { - "name": "awesome-project", - "url": "git@example.com:root/awesome-project.git", - "description": "test", - "homepage": "http://example.com/root/awesome-project" } } ``` diff --git a/spec/models/project_wiki_spec.rb b/spec/models/project_wiki_spec.rb index 91ebb612baa..58b57bd4fef 100644 --- a/spec/models/project_wiki_spec.rb +++ b/spec/models/project_wiki_spec.rb @@ -16,6 +16,12 @@ describe ProjectWiki, models: true do end end + describe '#web_url' do + it 'returns the full web URL to the wiki' do + expect(subject.web_url).to eq("#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}/wikis/home") + end + end + describe "#url_to_repo" do it "returns the correct ssh url to the repo" do expect(subject.url_to_repo).to eq(gitlab_shell.url_to_repo(subject.path_with_namespace)) @@ -257,6 +263,13 @@ describe ProjectWiki, models: true do end end + describe '#hook_attrs' do + it 'returns a hash with values' do + expect(subject.hook_attrs).to be_a Hash + expect(subject.hook_attrs.keys).to contain_exactly(:web_url, :git_ssh_url, :git_http_url, :path_with_namespace, :default_branch) + end + end + private def create_temp_repo(path) |