Commit 1567e003 authored by Vitali Tatarintev's avatar Vitali Tatarintev Committed by Heinrich Lee Yu

Change PagerDuty webhook URL to be scoped

Use non-legacy scoped URL format for PagerDuty webhook
parent c639cb5b
...@@ -45,7 +45,7 @@ module Projects ...@@ -45,7 +45,7 @@ module Projects
if result[:status] == :success if result[:status] == :success
pagerduty_token = project.incident_management_setting&.pagerduty_token pagerduty_token = project.incident_management_setting&.pagerduty_token
webhook_url = project_incidents_pagerduty_url(project, token: pagerduty_token) webhook_url = project_incidents_integrations_pagerduty_url(project, token: pagerduty_token)
render json: { pagerduty_webhook_url: webhook_url, pagerduty_token: pagerduty_token } render json: { pagerduty_webhook_url: webhook_url, pagerduty_token: pagerduty_token }
else else
......
...@@ -45,7 +45,7 @@ module OperationsHelper ...@@ -45,7 +45,7 @@ module OperationsHelper
send_email: setting.send_email.to_s, send_email: setting.send_email.to_s,
pagerduty_active: setting.pagerduty_active.to_s, pagerduty_active: setting.pagerduty_active.to_s,
pagerduty_token: setting.pagerduty_token.to_s, pagerduty_token: setting.pagerduty_token.to_s,
pagerduty_webhook_url: project_incidents_pagerduty_url(@project, token: setting.pagerduty_token), pagerduty_webhook_url: project_incidents_integrations_pagerduty_url(@project, token: setting.pagerduty_token),
pagerduty_reset_key_path: reset_pagerduty_token_project_settings_operations_path(@project) pagerduty_reset_key_path: reset_pagerduty_token_project_settings_operations_path(@project)
} }
end end
......
---
title: Change PagerDuty webhook URL
merge_request: 37321
author:
type: changed
...@@ -291,6 +291,8 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -291,6 +291,8 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get 'details', on: :member get 'details', on: :member
end end
post 'incidents/integrations/pagerduty', to: 'incident_management/pager_duty_incidents#create'
namespace :error_tracking do namespace :error_tracking do
resources :projects, only: :index resources :projects, only: :index
end end
...@@ -407,8 +409,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -407,8 +409,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post 'alerts/notify', to: 'alerting/notifications#create' post 'alerts/notify', to: 'alerting/notifications#create'
post 'incidents/pagerduty', to: 'incident_management/pager_duty_incidents#create'
draw :legacy_builds draw :legacy_builds
resources :hooks, only: [:index, :create, :edit, :update, :destroy], constraints: { id: /\d+/ } do # rubocop: disable Cop/PutProjectRoutesUnderScope resources :hooks, only: [:index, :create, :edit, :update, :destroy], constraints: { id: /\d+/ } do # rubocop: disable Cop/PutProjectRoutesUnderScope
......
...@@ -206,7 +206,7 @@ RSpec.describe Projects::Settings::OperationsController do ...@@ -206,7 +206,7 @@ RSpec.describe Projects::Settings::OperationsController do
reset_pagerduty_token reset_pagerduty_token
new_token = incident_management_setting.reload.pagerduty_token new_token = incident_management_setting.reload.pagerduty_token
new_webhook_url = project_incidents_pagerduty_url(project, token: new_token) new_webhook_url = project_incidents_integrations_pagerduty_url(project, token: new_token)
expect(response).to have_gitlab_http_status(:ok) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['pagerduty_webhook_url']).to eq(new_webhook_url) expect(json_response['pagerduty_webhook_url']).to eq(new_webhook_url)
...@@ -219,7 +219,7 @@ RSpec.describe Projects::Settings::OperationsController do ...@@ -219,7 +219,7 @@ RSpec.describe Projects::Settings::OperationsController do
it 'does not reset a token' do it 'does not reset a token' do
reset_pagerduty_token reset_pagerduty_token
new_webhook_url = project_incidents_pagerduty_url(project, token: nil) new_webhook_url = project_incidents_integrations_pagerduty_url(project, token: nil)
expect(response).to have_gitlab_http_status(:ok) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['pagerduty_webhook_url']).to eq(new_webhook_url) expect(json_response['pagerduty_webhook_url']).to eq(new_webhook_url)
......
...@@ -152,7 +152,7 @@ RSpec.describe OperationsHelper do ...@@ -152,7 +152,7 @@ RSpec.describe OperationsHelper do
send_email: 'false', send_email: 'false',
pagerduty_active: 'true', pagerduty_active: 'true',
pagerduty_token: operations_settings.pagerduty_token, pagerduty_token: operations_settings.pagerduty_token,
pagerduty_webhook_url: project_incidents_pagerduty_url(project, token: operations_settings.pagerduty_token), pagerduty_webhook_url: project_incidents_integrations_pagerduty_url(project, token: operations_settings.pagerduty_token),
pagerduty_reset_key_path: reset_pagerduty_token_project_settings_operations_path(project) pagerduty_reset_key_path: reset_pagerduty_token_project_settings_operations_path(project)
) )
end end
......
...@@ -12,7 +12,7 @@ RSpec.describe 'PagerDuty webhook' do ...@@ -12,7 +12,7 @@ RSpec.describe 'PagerDuty webhook' do
def make_request def make_request
headers = { 'Content-Type' => 'application/json' } headers = { 'Content-Type' => 'application/json' }
post project_incidents_pagerduty_url(project, token: 'VALID-TOKEN'), params: payload.to_json, headers: headers post project_incidents_integrations_pagerduty_url(project, token: 'VALID-TOKEN'), params: payload.to_json, headers: headers
end end
before do before do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment