Commit 2c6a76bd authored by James Lopez's avatar James Lopez

Merge branch...

Merge branch '199908-use-only-the-first-line-of-the-commit-message-on-chat-service-notification' into 'master'

Use commit title (only the first line of the commit message) on chat service notification

Closes #199908

See merge request gitlab-org/gitlab!25224
parents fbcb32a9 7d64e83b
......@@ -226,6 +226,7 @@ class Commit
data = {
id: id,
message: safe_message,
title: title,
timestamp: committed_date.xmlschema,
url: Gitlab::UrlBuilder.build(self),
author: {
......
......@@ -12,7 +12,6 @@ module ChatMessage
attr_reader :user_avatar
attr_reader :project_name
attr_reader :project_url
attr_reader :commit_message_html
def initialize(params)
@markdown = params[:markdown] || false
......@@ -21,7 +20,6 @@ module ChatMessage
@user_full_name = params.dig(:user, :name) || params[:user_full_name]
@user_name = params.dig(:user, :username) || params[:user_name]
@user_avatar = params.dig(:user, :avatar_url) || params[:user_avatar]
@commit_message_html = params[:commit_message_html] || false
end
def user_combined_name
......
......@@ -52,8 +52,7 @@ module ChatMessage
end
def commit_messages
linebreak_chars = commit_message_html ? "<br/>\n<br/>\n" : "\n\n"
commits.map { |commit| compose_commit_message(commit) }.join(linebreak_chars)
commits.map { |commit| compose_commit_message(commit) }.join("\n\n")
end
def commit_message_attachments
......@@ -63,15 +62,11 @@ module ChatMessage
def compose_commit_message(commit)
author = commit[:author][:name]
id = Commit.truncate_sha(commit[:id])
message = commit[:message]
if commit_message_html
message = message.gsub(Gitlab::Regex.breakline_regex, "<br/>\n")
end
title = commit[:title]
url = commit[:url]
"[#{id}](#{url}): #{message} - #{author}"
"[#{id}](#{url}): #{title} - #{author}"
end
def new_branch?
......
......@@ -58,6 +58,6 @@ class MicrosoftTeamsService < ChatNotificationService
end
def custom_data(data)
super(data).merge(markdown: true, commit_message_html: true)
super(data).merge(markdown: true)
end
end
---
title: Use only the first line of the commit message on chat service notification
merge_request: 25224
author: Takuya Noguchi
type: changed
......@@ -35,7 +35,8 @@ module Gitlab
commits: [
{
id: "c5feabde2d8cd023215af4d2ceeb7a64839fc428",
message: "Add simple search to projects in public area",
message: "Add simple search to projects in public area\n\ncommit message body",
title: "Add simple search to projects in public area",
timestamp: "2013-05-13T18:18:08+00:00",
url: "https://test.example.com/gitlab/gitlab/-/commit/c5feabde2d8cd023215af4d2ceeb7a64839fc428",
author: {
......
......@@ -22,8 +22,14 @@ describe ChatMessage::PushMessage do
context 'push' do
before do
args[:commits] = [
{ message: 'message1', url: 'http://url1.com', id: 'abcdefghijkl', author: { name: 'author1' } },
{ message: "message2\nsecondline", url: 'http://url2.com', id: '123456789012', author: { name: 'author2' } }
{ message: 'message1', title: 'message1', url: 'http://url1.com', id: 'abcdefghijkl', author: { name: 'author1' } },
{
message: 'message2' + ' w' * 100 + "\nsecondline",
title: 'message2 w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w ...',
url: 'http://url2.com',
id: '123456789012',
author: { name: 'author2' }
}
]
end
......@@ -34,7 +40,7 @@ describe ChatMessage::PushMessage do
'<http://url.com|project_name> (<http://url.com/compare/before...after|Compare changes>)')
expect(subject.attachments).to eq([{
text: "<http://url1.com|abcdefgh>: message1 - author1\n\n"\
"<http://url2.com|12345678>: message2\nsecondline - author2",
"<http://url2.com|12345678>: message2 w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w ... - author2",
color: color
}])
end
......@@ -49,27 +55,7 @@ describe ChatMessage::PushMessage do
expect(subject.pretext).to eq(
'test.user pushed to branch [master](http://url.com/commits/master) of [project_name](http://url.com) ([Compare changes](http://url.com/compare/before...after))')
expect(subject.attachments).to eq(
"[abcdefgh](http://url1.com): message1 - author1\n\n[12345678](http://url2.com): message2\nsecondline - author2")
expect(subject.activity).to eq(
title: 'test.user pushed to branch [master](http://url.com/commits/master)',
subtitle: 'in [project_name](http://url.com)',
text: '[Compare changes](http://url.com/compare/before...after)',
image: 'http://someavatar.com'
)
end
end
context 'with markdown and commit message html' do
before do
args[:commit_message_html] = true
args[:markdown] = true
end
it 'returns a message regarding pushes' do
expect(subject.pretext).to eq(
'test.user pushed to branch [master](http://url.com/commits/master) of [project_name](http://url.com) ([Compare changes](http://url.com/compare/before...after))')
expect(subject.attachments).to eq(
"[abcdefgh](http://url1.com): message1 - author1<br/>\n<br/>\n[12345678](http://url2.com): message2<br/>\nsecondline - author2")
"[abcdefgh](http://url1.com): message1 - author1\n\n[12345678](http://url2.com): message2 w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w ... - author2")
expect(subject.activity).to eq(
title: 'test.user pushed to branch [master](http://url.com/commits/master)',
subtitle: 'in [project_name](http://url.com)',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment