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
This commit is contained in:
commit
7ef7135adf
3 changed files with 9 additions and 6 deletions
|
@ -1,11 +1,10 @@
|
||||||
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
|
||||||
|
|
||||||
@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
|
||||||
end
|
end
|
||||||
|
|
||||||
def pipeline_link
|
def pipeline_link
|
||||||
"[#{Commit.truncate_sha(sha)}](#{pipeline_url})"
|
"[##{pipeline_id}](#{pipeline_url})"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
4
changelogs/unreleased/fix-slack-pipeline-event.yml
Normal file
4
changelogs/unreleased/fix-slack-pipeline-event.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
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
|
||||||
},
|
},
|
||||||
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
|
||||||
|
|
||||||
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
|
||||||
|
|
Loading…
Reference in a new issue