summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-11-09 13:19:27 +0000
committerRémy Coutable <remy@rymai.me>2017-11-09 13:19:27 +0000
commitae434cccb2de4dacd5741b334869b7ee2d41849e (patch)
tree26a448ad57cd9a12cd98ead5741657c45e43c6fa
parent43d98cd1ff3ea0dd6a794ba4d1d621415d439985 (diff)
parent12d622eb996b6499e5fbd2be01cca27c08a976fa (diff)
downloadgitlab-ce-ae434cccb2de4dacd5741b334869b7ee2d41849e.tar.gz
Merge branch '39895-cant-set-mattermost-username-channel-from-api' into 'master'
Fix acceptance of username for Mattermost service update Closes #39895 See merge request gitlab-org/gitlab-ce!15275
-rw-r--r--changelogs/unreleased/39895-cant-set-mattermost-username-channel-from-api.yml5
-rw-r--r--doc/api/services.md2
-rw-r--r--lib/api/services.rb6
-rw-r--r--spec/requests/api/services_spec.rb21
4 files changed, 33 insertions, 1 deletions
diff --git a/changelogs/unreleased/39895-cant-set-mattermost-username-channel-from-api.yml b/changelogs/unreleased/39895-cant-set-mattermost-username-channel-from-api.yml
new file mode 100644
index 00000000000..358c007387e
--- /dev/null
+++ b/changelogs/unreleased/39895-cant-set-mattermost-username-channel-from-api.yml
@@ -0,0 +1,5 @@
+---
+title: Fix acceptance of username for Mattermost service update
+merge_request: 15275
+author:
+type: fixed
diff --git a/doc/api/services.md b/doc/api/services.md
index e642ec964de..08a2bee1518 100644
--- a/doc/api/services.md
+++ b/doc/api/services.md
@@ -572,7 +572,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | yes | The Mattermost token |
-
+| `username` | string | no | The username to use to post the message |
### Delete Mattermost slash command service
diff --git a/lib/api/services.rb b/lib/api/services.rb
index 6454e475036..bbcc851d07a 100644
--- a/lib/api/services.rb
+++ b/lib/api/services.rb
@@ -522,6 +522,12 @@ module API
name: :webhook,
type: String,
desc: 'The Mattermost webhook. e.g. http://mattermost_host/hooks/...'
+ },
+ {
+ required: false,
+ name: :username,
+ type: String,
+ desc: 'The username to use to post the message'
}
],
'teamcity' => [
diff --git a/spec/requests/api/services_spec.rb b/spec/requests/api/services_spec.rb
index dfe48e45d49..ba697e2b305 100644
--- a/spec/requests/api/services_spec.rb
+++ b/spec/requests/api/services_spec.rb
@@ -175,4 +175,25 @@ describe API::Services do
end
end
end
+
+ describe 'Mattermost service' do
+ let(:service_name) { 'mattermost' }
+ let(:params) do
+ { webhook: 'https://hook.example.com', username: 'username' }
+ end
+
+ before do
+ project.create_mattermost_service(
+ active: true,
+ properties: params
+ )
+ end
+
+ it 'accepts a username for update' do
+ put api("/projects/#{project.id}/services/mattermost", user), params.merge(username: 'new_username')
+
+ expect(response).to have_gitlab_http_status(200)
+ expect(json_response['properties']['username']).to eq('new_username')
+ end
+ end
end