summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2016-11-19 11:00:28 +0000
committerAlejandro Rodríguez <alejorro70@gmail.com>2016-12-07 13:12:40 -0300
commitfc62daeb516a204b12041ccf413414c71ee0465a (patch)
treee31d094bd84be3898d904c5f01803cc5a8e67b88
parent2f0065b28909fa328bd43a92b731eea012a35c2c (diff)
downloadgitlab-ce-fc62daeb516a204b12041ccf413414c71ee0465a.tar.gz
Merge branch 'fix-slack-pipeline-event' into 'master'
Fix pipeline author for Slack and use pipeline id for pipeline link [Context](https://gitlab.slack.com/archives/runner-builds/p1479238493000018) Pipeline Slack message: > gitlab-org/gitlab-ci-multi-runner: Pipeline 8bed2a3b of fix/handle-failed-state-while-patching-trace branch by failed in 1389 seconds Quotes: > @godfat Take a look at these notifications, they seems to be missing author and should probably use Pipeline ID instead of SHA See merge request !7506
-rw-r--r--app/models/project_services/slack_service/pipeline_message.rb7
-rw-r--r--changelogs/unreleased/fix-slack-pipeline-event.yml4
-rw-r--r--spec/models/project_services/slack_service/pipeline_message_spec.rb4
3 files changed, 9 insertions, 6 deletions
diff --git a/app/models/project_services/slack_service/pipeline_message.rb b/app/models/project_services/slack_service/pipeline_message.rb
index f06b3562965..f8d03c0e2fa 100644
--- a/app/models/project_services/slack_service/pipeline_message.rb
+++ b/app/models/project_services/slack_service/pipeline_message.rb
@@ -1,11 +1,10 @@
class SlackService
class PipelineMessage < BaseMessage
- attr_reader :sha, :ref_type, :ref, :status, :project_name, :project_url,
+ attr_reader :ref_type, :ref, :status, :project_name, :project_url,
:user_name, :duration, :pipeline_id
def initialize(data)
pipeline_attributes = data[:object_attributes]
- @sha = pipeline_attributes[:sha]
@ref_type = pipeline_attributes[:tag] ? 'tag' : 'branch'
@ref = pipeline_attributes[:ref]
@status = pipeline_attributes[:status]
@@ -14,7 +13,7 @@ class SlackService
@project_name = data[:project][:path_with_namespace]
@project_url = data[:project][:web_url]
- @user_name = data[:commit] && data[:commit][:author_name]
+ @user_name = data[:user] && data[:user][:name]
end
def pretext
@@ -73,7 +72,7 @@ class SlackService
end
def pipeline_link
- "[#{Commit.truncate_sha(sha)}](#{pipeline_url})"
+ "[##{pipeline_id}](#{pipeline_url})"
end
end
end
diff --git a/changelogs/unreleased/fix-slack-pipeline-event.yml b/changelogs/unreleased/fix-slack-pipeline-event.yml
new file mode 100644
index 00000000000..fec864eeb3d
--- /dev/null
+++ b/changelogs/unreleased/fix-slack-pipeline-event.yml
@@ -0,0 +1,4 @@
+---
+title: Fix pipeline author for Slack and use pipeline id for pipeline link
+merge_request: 7506
+author:
diff --git a/spec/models/project_services/slack_service/pipeline_message_spec.rb b/spec/models/project_services/slack_service/pipeline_message_spec.rb
index babb3909f56..363138a9454 100644
--- a/spec/models/project_services/slack_service/pipeline_message_spec.rb
+++ b/spec/models/project_services/slack_service/pipeline_message_spec.rb
@@ -15,7 +15,7 @@ describe SlackService::PipelineMessage do
},
project: { path_with_namespace: 'project_name',
web_url: 'example.gitlab.com' },
- commit: { author_name: 'hacker' }
+ user: { name: 'hacker' }
}
end
@@ -48,7 +48,7 @@ describe SlackService::PipelineMessage do
def build_message(status_text = status)
"<example.gitlab.com|project_name>:" \
- " Pipeline <example.gitlab.com/pipelines/123|97de212e>" \
+ " Pipeline <example.gitlab.com/pipelines/123|#123>" \
" of <example.gitlab.com/commits/develop|develop> branch" \
" by hacker #{status_text} in #{duration} #{'second'.pluralize(duration)}"
end