提交 7ef7135a 编写于 作者: K Kamil Trzciński

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
class SlackService class SlackService
class PipelineMessage < BaseMessage 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 :user_name, :duration, :pipeline_id
def initialize(data) def initialize(data)
pipeline_attributes = data[:object_attributes] pipeline_attributes = data[:object_attributes]
@sha = pipeline_attributes[:sha]
@ref_type = pipeline_attributes[:tag] ? 'tag' : 'branch' @ref_type = pipeline_attributes[:tag] ? 'tag' : 'branch'
@ref = pipeline_attributes[:ref] @ref = pipeline_attributes[:ref]
@status = pipeline_attributes[:status] @status = pipeline_attributes[:status]
...@@ -14,7 +13,7 @@ class SlackService ...@@ -14,7 +13,7 @@ class SlackService
@project_name = data[:project][:path_with_namespace] @project_name = data[:project][:path_with_namespace]
@project_url = data[:project][:web_url] @project_url = data[:project][:web_url]
@user_name = data[:commit] && data[:commit][:author_name] @user_name = data[:user] && data[:user][:name]
end end
def pretext def pretext
...@@ -73,7 +72,7 @@ class SlackService ...@@ -73,7 +72,7 @@ class SlackService
end end
def pipeline_link def pipeline_link
"[#{Commit.truncate_sha(sha)}](#{pipeline_url})" "[##{pipeline_id}](#{pipeline_url})"
end end
end end
end end
---
title: Fix pipeline author for Slack and use pipeline id for pipeline link
merge_request: 7506
author:
...@@ -15,7 +15,7 @@ describe SlackService::PipelineMessage do ...@@ -15,7 +15,7 @@ describe SlackService::PipelineMessage do
}, },
project: { path_with_namespace: 'project_name', project: { path_with_namespace: 'project_name',
web_url: 'example.gitlab.com' }, web_url: 'example.gitlab.com' },
commit: { author_name: 'hacker' } user: { name: 'hacker' }
} }
end end
...@@ -48,7 +48,7 @@ describe SlackService::PipelineMessage do ...@@ -48,7 +48,7 @@ describe SlackService::PipelineMessage do
def build_message(status_text = status) def build_message(status_text = status)
"<example.gitlab.com|project_name>:" \ "<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" \ " of <example.gitlab.com/commits/develop|develop> branch" \
" by hacker #{status_text} in #{duration} #{'second'.pluralize(duration)}" " by hacker #{status_text} in #{duration} #{'second'.pluralize(duration)}"
end end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册