Improve issue formatting in Slack service
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
This commit is contained in:
parent
636b3ebb01
commit
80817644a7
3 changed files with 25 additions and 8 deletions
|
@ -894,6 +894,9 @@ v 8.1.3
|
||||||
- Add Facebook authentication
|
- Add Facebook authentication
|
||||||
|
|
||||||
v 8.1.2
|
v 8.1.2
|
||||||
|
- Improve Issue formatting for the Slack Service (Jeroen van Baarsen)
|
||||||
|
|
||||||
|
v 8.1.1
|
||||||
- Fix cloning Wiki repositories via HTTP (Stan Hu)
|
- Fix cloning Wiki repositories via HTTP (Stan Hu)
|
||||||
- Add migration to remove satellites directory
|
- Add migration to remove satellites directory
|
||||||
- Fix specific runners visibility
|
- Fix specific runners visibility
|
||||||
|
|
|
@ -34,7 +34,12 @@ class SlackService
|
||||||
private
|
private
|
||||||
|
|
||||||
def message
|
def message
|
||||||
"#{user_name} #{state} #{issue_link} in #{project_link}: *#{title}*"
|
case state
|
||||||
|
when "opened"
|
||||||
|
"[#{project_link}] Issue #{state} by #{user_name}"
|
||||||
|
else
|
||||||
|
"[#{project_link}] Issue #{issue_link} #{state} by #{user_name}"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def opened_issue?
|
def opened_issue?
|
||||||
|
@ -42,7 +47,11 @@ class SlackService
|
||||||
end
|
end
|
||||||
|
|
||||||
def description_message
|
def description_message
|
||||||
[{ text: format(description), color: attachment_color }]
|
[{
|
||||||
|
title: issue_title,
|
||||||
|
title_link: issue_url,
|
||||||
|
text: format(description),
|
||||||
|
color: "#C95823" }]
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_link
|
def project_link
|
||||||
|
@ -50,7 +59,11 @@ class SlackService
|
||||||
end
|
end
|
||||||
|
|
||||||
def issue_link
|
def issue_link
|
||||||
"[issue ##{issue_iid}](#{issue_url})"
|
"[#{issue_title}](#{issue_url})"
|
||||||
|
end
|
||||||
|
|
||||||
|
def issue_title
|
||||||
|
"##{issue_iid} #{title}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,7 +25,7 @@ describe SlackService::IssueMessage, models: true do
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:color) { '#345' }
|
let(:color) { '#C95823' }
|
||||||
|
|
||||||
context '#initialize' do
|
context '#initialize' do
|
||||||
before do
|
before do
|
||||||
|
@ -40,10 +40,11 @@ describe SlackService::IssueMessage, models: true do
|
||||||
context 'open' do
|
context 'open' do
|
||||||
it 'returns a message regarding opening of issues' do
|
it 'returns a message regarding opening of issues' do
|
||||||
expect(subject.pretext).to eq(
|
expect(subject.pretext).to eq(
|
||||||
'Test User opened <url|issue #100> in <somewhere.com|project_name>: '\
|
'<somewhere.com|[project_name>] Issue opened by Test User')
|
||||||
'*Issue title*')
|
|
||||||
expect(subject.attachments).to eq([
|
expect(subject.attachments).to eq([
|
||||||
{
|
{
|
||||||
|
title: "#100 Issue title",
|
||||||
|
title_link: "url",
|
||||||
text: "issue description",
|
text: "issue description",
|
||||||
color: color,
|
color: color,
|
||||||
}
|
}
|
||||||
|
@ -56,10 +57,10 @@ describe SlackService::IssueMessage, models: true do
|
||||||
args[:object_attributes][:action] = 'close'
|
args[:object_attributes][:action] = 'close'
|
||||||
args[:object_attributes][:state] = 'closed'
|
args[:object_attributes][:state] = 'closed'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns a message regarding closing of issues' do
|
it 'returns a message regarding closing of issues' do
|
||||||
expect(subject.pretext). to eq(
|
expect(subject.pretext). to eq(
|
||||||
'Test User closed <url|issue #100> in <somewhere.com|project_name>: '\
|
'<somewhere.com|[project_name>] Issue <url|#100 Issue title> closed by Test User')
|
||||||
'*Issue title*')
|
|
||||||
expect(subject.attachments).to be_empty
|
expect(subject.attachments).to be_empty
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue