diff --git a/app/services/wiki_pages/base_service.rb b/app/services/wiki_pages/base_service.rb index e4c0506e20c822a629977117bf4073cd2c6cdec2..9ab9d1874131b645d462d840f6a3e93d0bba8df0 100644 --- a/app/services/wiki_pages/base_service.rb +++ b/app/services/wiki_pages/base_service.rb @@ -10,7 +10,8 @@ module WikiPages # DEPRECATED repository: @project.hook_attrs.slice(:name, :url, :description, :homepage) } - page_url = "#{Gitlab.config.gitlab.url}#{@project.wiki.wiki_base_path}/#{page.slug}" + + page_url = Gitlab::UrlBuilder.new(:wiki_page).build(page) hook_data[:object_attributes].merge!(url: page_url, action: action) hook_data end diff --git a/lib/gitlab/url_builder.rb b/lib/gitlab/url_builder.rb index f1943222edfac3aa81e590c80fce830573de7477..2bbbd3074e86f7fbe3bc9160ea175468391c9f89 100644 --- a/lib/gitlab/url_builder.rb +++ b/lib/gitlab/url_builder.rb @@ -20,6 +20,8 @@ module Gitlab merge_request_url(object) when Note note_url + when WikiPage + wiki_page_url else raise NotImplementedError.new("No URL builder defined for #{object.class}") end @@ -58,5 +60,9 @@ module Gitlab project_snippet_url(snippet, anchor: dom_id(object)) end end + + def wiki_page_url + "#{Gitlab.config.gitlab.url}#{object.wiki.wiki_base_path}/#{object.slug}" + end end end