diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2016-11-19 11:00:28 +0000 |
---|---|---|
committer | Alejandro Rodríguez <alejorro70@gmail.com> | 2016-12-07 13:12:40 -0300 |
commit | fc62daeb516a204b12041ccf413414c71ee0465a (patch) | |
tree | e31d094bd84be3898d904c5f01803cc5a8e67b88 | |
parent | 2f0065b28909fa328bd43a92b731eea012a35c2c (diff) | |
download | gitlab-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
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 |