summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-11-06 13:48:34 +0000
committerSean McGivern <sean@gitlab.com>2017-11-06 14:40:13 +0000
commit5e7d68ef798c110204351ec089acd896271c4315 (patch)
tree600b43cafb3cb4ef3a5fa7768230d4c26f912240
parentcfc932cad10b1d6c494222e9d91aa75583b56145 (diff)
downloadgitlab-ce-39791-when-reopening-an-issue-the-mattermost-notification-has-no-context-to-the-issue.tar.gz
When an issue is reopened, the action is 'reopen', but the state is 'opened' (as we don't have a separate 'reopened' state any more). Because we checked the action in one method and the state in another, this lead to a weird case where the mesage neither linked to the issue, nor contained an attachment with its details. Just checking the action is fine, as it's the most granular.
-rw-r--r--app/models/project_services/chat_message/issue_message.rb2
-rw-r--r--changelogs/unreleased/39791-when-reopening-an-issue-the-mattermost-notification-has-no-context-to-the-issue.yml5
-rw-r--r--spec/models/project_services/chat_message/issue_message_spec.rb13
3 files changed, 19 insertions, 1 deletions
diff --git a/app/models/project_services/chat_message/issue_message.rb b/app/models/project_services/chat_message/issue_message.rb
index 1327b075858..3273f41dbd2 100644
--- a/app/models/project_services/chat_message/issue_message.rb
+++ b/app/models/project_services/chat_message/issue_message.rb
@@ -39,7 +39,7 @@ module ChatMessage
private
def message
- if state == 'opened'
+ if opened_issue?
"[#{project_link}] Issue #{state} by #{user_combined_name}"
else
"[#{project_link}] Issue #{issue_link} #{state} by #{user_combined_name}"
diff --git a/changelogs/unreleased/39791-when-reopening-an-issue-the-mattermost-notification-has-no-context-to-the-issue.yml b/changelogs/unreleased/39791-when-reopening-an-issue-the-mattermost-notification-has-no-context-to-the-issue.yml
new file mode 100644
index 00000000000..143641c6183
--- /dev/null
+++ b/changelogs/unreleased/39791-when-reopening-an-issue-the-mattermost-notification-has-no-context-to-the-issue.yml
@@ -0,0 +1,5 @@
+---
+title: Include link to issue in reopen message for Slack and Mattermost notifications
+merge_request:
+author:
+type: fixed
diff --git a/spec/models/project_services/chat_message/issue_message_spec.rb b/spec/models/project_services/chat_message/issue_message_spec.rb
index d37726dc3f1..f7a35fdc88a 100644
--- a/spec/models/project_services/chat_message/issue_message_spec.rb
+++ b/spec/models/project_services/chat_message/issue_message_spec.rb
@@ -66,6 +66,19 @@ describe ChatMessage::IssueMessage do
expect(subject.attachments).to be_empty
end
end
+
+ context 'reopen' do
+ before do
+ args[:object_attributes][:action] = 'reopen'
+ args[:object_attributes][:state] = 'opened'
+ end
+
+ it 'returns a message regarding reopening of issues' do
+ expect(subject.pretext)
+ .to eq('[<http://somewhere.com|project_name>] Issue <http://url.com|#100 Issue title> opened by Test User (test.user)')
+ expect(subject.attachments).to be_empty
+ end
+ end
end
context 'with markdown' do