Fix bug where Slack service channel was not saved in admin template settings.
Consolidate allowed parameters in one place to avoid these kinds of bugs in the future. Closes https://github.com/gitlabhq/gitlabhq/issues/9181
This commit is contained in:
parent
62117f2f25
commit
2f04599751
5 changed files with 26 additions and 22 deletions
|
@ -16,7 +16,7 @@ v 7.11.0 (unreleased)
|
||||||
- Include commit comments in MR from a forked project.
|
- Include commit comments in MR from a forked project.
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
- Fix bug where Slack service channel was not saved in admin template settings. (Stan Hu)
|
||||||
- Move snippets UI to fluid layout
|
- Move snippets UI to fluid layout
|
||||||
- Improve UI for sidebar. Increase separation between navigation and content
|
- Improve UI for sidebar. Increase separation between navigation and content
|
||||||
- Improve new project command options (Ben Bodenmiller)
|
- Improve new project command options (Ben Bodenmiller)
|
||||||
|
|
|
@ -40,15 +40,6 @@ class Admin::ServicesController < Admin::ApplicationController
|
||||||
|
|
||||||
def application_services_params
|
def application_services_params
|
||||||
params.permit(:id,
|
params.permit(:id,
|
||||||
service: [
|
service: Projects::ServicesController::ALLOWED_PARAMS)
|
||||||
:title, :token, :type, :active, :api_key, :subdomain,
|
|
||||||
:room, :recipients, :project_url, :webhook,
|
|
||||||
:user_key, :device, :priority, :sound, :bamboo_url, :username, :password,
|
|
||||||
:build_key, :server, :teamcity_url, :build_type,
|
|
||||||
:description, :issues_url, :new_issue_url, :restrict_to_branch,
|
|
||||||
:send_from_committer_email, :disable_diffs,
|
|
||||||
:push_events, :tag_push_events, :note_events, :issues_events,
|
|
||||||
:merge_requests_events
|
|
||||||
])
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,12 @@
|
||||||
class Projects::ServicesController < Projects::ApplicationController
|
class Projects::ServicesController < Projects::ApplicationController
|
||||||
|
ALLOWED_PARAMS = [:title, :token, :type, :active, :api_key, :subdomain,
|
||||||
|
:room, :recipients, :project_url, :webhook,
|
||||||
|
:user_key, :device, :priority, :sound, :bamboo_url, :username, :password,
|
||||||
|
:build_key, :server, :teamcity_url, :build_type,
|
||||||
|
:description, :issues_url, :new_issue_url, :restrict_to_branch, :channel,
|
||||||
|
:colorize_messages, :channels,
|
||||||
|
:push_events, :issues_events, :merge_requests_events, :tag_push_events,
|
||||||
|
:note_events, :send_from_committer_email, :disable_diffs, :external_wiki_url]
|
||||||
# Authorize
|
# Authorize
|
||||||
before_action :authorize_admin_project!
|
before_action :authorize_admin_project!
|
||||||
before_action :service, only: [:edit, :update, :test]
|
before_action :service, only: [:edit, :update, :test]
|
||||||
|
@ -45,15 +53,6 @@ class Projects::ServicesController < Projects::ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def service_params
|
def service_params
|
||||||
params.require(:service).permit(
|
params.require(:service).permit(ALLOWED_PARAMS)
|
||||||
:title, :token, :type, :active, :api_key, :subdomain,
|
|
||||||
:room, :recipients, :project_url, :webhook,
|
|
||||||
:user_key, :device, :priority, :sound, :bamboo_url, :username, :password,
|
|
||||||
:build_key, :server, :teamcity_url, :build_type,
|
|
||||||
:description, :issues_url, :new_issue_url, :restrict_to_branch, :channel,
|
|
||||||
:colorize_messages, :channels,
|
|
||||||
:push_events, :issues_events, :merge_requests_events, :tag_push_events,
|
|
||||||
:note_events, :send_from_committer_email, :disable_diffs, :external_wiki_url
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -11,6 +11,9 @@ Feature: Admin Settings
|
||||||
Scenario: Change Slack Service Template settings
|
Scenario: Change Slack Service Template settings
|
||||||
When I click on "Service Templates"
|
When I click on "Service Templates"
|
||||||
And I click on "Slack" service
|
And I click on "Slack" service
|
||||||
|
And I fill out Slack settings
|
||||||
Then I check all events and submit form
|
Then I check all events and submit form
|
||||||
And I should see service template settings saved
|
And I should see service template settings saved
|
||||||
|
Then I click on "Slack" service
|
||||||
And I should see all checkboxes checked
|
And I should see all checkboxes checked
|
||||||
|
And I should see Slack settings saved
|
||||||
|
|
|
@ -31,10 +31,15 @@ class Spinach::Features::AdminSettings < Spinach::FeatureSteps
|
||||||
page.check('Comments')
|
page.check('Comments')
|
||||||
page.check('Issues events')
|
page.check('Issues events')
|
||||||
page.check('Merge Request events')
|
page.check('Merge Request events')
|
||||||
fill_in 'Webhook', with: "http://localhost"
|
|
||||||
click_on 'Save'
|
click_on 'Save'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
step 'I fill out Slack settings' do
|
||||||
|
fill_in 'Webhook', with: 'http://localhost'
|
||||||
|
fill_in 'Username', with: 'test_user'
|
||||||
|
fill_in 'Channel', with: '#test_channel'
|
||||||
|
end
|
||||||
|
|
||||||
step 'I should see service template settings saved' do
|
step 'I should see service template settings saved' do
|
||||||
page.should have_content 'Application settings saved successfully'
|
page.should have_content 'Application settings saved successfully'
|
||||||
end
|
end
|
||||||
|
@ -44,4 +49,10 @@ class Spinach::Features::AdminSettings < Spinach::FeatureSteps
|
||||||
checkbox.should be_checked
|
checkbox.should be_checked
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
step 'I should see Slack settings saved' do
|
||||||
|
find_field('Webhook').value.should eq 'http://localhost'
|
||||||
|
find_field('Username').value.should eq 'test_user'
|
||||||
|
find_field('Channel').value.should eq '#test_channel'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue