Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
f0766fde
Commit
f0766fde
authored
Feb 06, 2017
by
Alexis Reigel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
extract pipeline mails layout
parent
5f3f6ee6
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
264 additions
and
335 deletions
+264
-335
app/assets/images/mailers/gitlab_footer_logo.gif
app/assets/images/mailers/gitlab_footer_logo.gif
+0
-0
app/assets/images/mailers/gitlab_header_logo.gif
app/assets/images/mailers/gitlab_header_logo.gif
+0
-0
app/mailers/emails/pipelines.rb
app/mailers/emails/pipelines.rb
+2
-2
app/views/layouts/mailer.html.haml
app/views/layouts/mailer.html.haml
+72
-0
app/views/layouts/mailer.text.haml
app/views/layouts/mailer.text.haml
+5
-0
app/views/notify/pipeline_failed_email.html.haml
app/views/notify/pipeline_failed_email.html.haml
+105
-175
app/views/notify/pipeline_failed_email.text.erb
app/views/notify/pipeline_failed_email.text.erb
+0
-4
app/views/notify/pipeline_success_email.html.haml
app/views/notify/pipeline_success_email.html.haml
+80
-150
app/views/notify/pipeline_success_email.text.erb
app/views/notify/pipeline_success_email.text.erb
+0
-4
No files found.
app/assets/images/mailers/gitlab_footer_logo.gif
0 → 100644
View file @
f0766fde
3.57 KB
app/assets/images/mailers/gitlab_header_logo.gif
0 → 100644
View file @
f0766fde
2.97 KB
app/mailers/emails/pipelines.rb
View file @
f0766fde
...
...
@@ -22,8 +22,8 @@ module Emails
mail
(
bcc:
recipients
,
subject:
pipeline_subject
(
status
),
skip_premailer:
true
)
do
|
format
|
format
.
html
{
render
layout:
false
}
format
.
text
format
.
html
{
render
layout:
'mailer'
}
format
.
text
{
render
layout:
'mailer'
}
end
end
...
...
app/views/layouts/mailer.html.haml
0 → 100644
View file @
f0766fde
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
%html
{
lang:
"en"
}
%head
%meta
{
content:
"text/html; charset=UTF-8"
,
"http-equiv"
=>
"Content-Type"
}
/
%meta
{
content:
"width=device-width, initial-scale=1"
,
name:
"viewport"
}
/
%meta
{
content:
"IE=edge"
,
"http-equiv"
=>
"X-UA-Compatible"
}
/
%title
=
message
.
subject
:css
/* CLIENT-SPECIFIC STYLES */
body
,
table
,
td
,
a
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
}
table
,
td
{
mso-table-lspace
:
0pt
;
mso-table-rspace
:
0pt
;
}
img
{
-ms-interpolation-mode
:
bicubic
;
}
/* iOS BLUE LINKS */
a
[
x-apple-data-detectors
]
{
color
:
inherit
!important
;
text-decoration
:
none
!important
;
font-size
:
inherit
!important
;
font-family
:
inherit
!important
;
font-weight
:
inherit
!important
;
line-height
:
inherit
!important
;
}
/* ANDROID MARGIN HACK */
body
{
margin
:
0
!important
;
}
div
[
style
*=
"margin: 16px 0"
]
{
margin
:
0
!important
;
}
@media
only
screen
and
(
max-width
:
639px
)
{
body
,
#body
{
min-width
:
320px
!important
;
}
table
.wrapper
{
width
:
100%
!important
;
min-width
:
320px
!important
;
}
table
.wrapper
>
tbody
>
tr
>
td
{
border-left
:
0
!important
;
border-right
:
0
!important
;
border-radius
:
0
!important
;
padding-left
:
10px
!important
;
padding-right
:
10px
!important
;
}
}
%body
{
style:
"background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"
}
%table
#body
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;"
}
%tbody
%tr
.line
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;"
}
%tr
.header
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"
}
%img
{
alt:
"GitLab"
,
height:
"50"
,
src:
image_url
(
'mailers/gitlab_header_logo.gif'
),
width:
"55"
}
/
%tr
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"
}
%table
.wrapper
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;"
}
%tbody
%tr
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"
}
%table
.content
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:100%;border-collapse:separate;border-spacing:0;"
}
%tbody
=
yield
%tr
.footer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"
}
%img
{
alt:
"GitLab"
,
height:
"33"
,
src:
image_url
(
'mailers/gitlab_footer_logo.gif'
),
style:
"display:block;margin:0 auto 1em;"
,
width:
"90"
}
/
%div
%a
{
href:
profile_notifications_url
,
style:
"color:#3777b0;text-decoration:none;"
}
Manage all notifications
·
%a
{
href:
help_url
,
style:
"color:#3777b0;text-decoration:none;"
}
Help
%div
You're receiving this email because of your account on
=
succeed
"."
do
%a
{
href:
root_url
,
style:
"color:#3777b0;text-decoration:none;"
}=
Gitlab
.
config
.
gitlab
.
host
app/views/layouts/mailer.text.haml
0 → 100644
View file @
f0766fde
=
yield
You're receiving this email because of your account on
#{
Gitlab
.
config
.
gitlab
.
host
}
.
Manage all notifications:
#{
profile_notifications_url
}
Help:
#{
help_url
}
app/views/notify/pipeline_failed_email.html.haml
View file @
f0766fde
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
%html
{
lang:
"en"
}
%head
%meta
{
content:
"text/html; charset=UTF-8"
,
"http-equiv"
=>
"Content-Type"
}
/
%meta
{
content:
"width=device-width, initial-scale=1"
,
name:
"viewport"
}
/
%meta
{
content:
"IE=edge"
,
"http-equiv"
=>
"X-UA-Compatible"
}
/
%title
=
message
.
subject
:css
/* CLIENT-SPECIFIC STYLES */
body
,
table
,
td
,
a
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
}
table
,
td
{
mso-table-lspace
:
0pt
;
mso-table-rspace
:
0pt
;
}
img
{
-ms-interpolation-mode
:
bicubic
;
}
/* iOS BLUE LINKS */
a
[
x-apple-data-detectors
]
{
color
:
inherit
!important
;
text-decoration
:
none
!important
;
font-size
:
inherit
!important
;
font-family
:
inherit
!important
;
font-weight
:
inherit
!important
;
line-height
:
inherit
!important
;
}
/* ANDROID MARGIN HACK */
body
{
margin
:
0
!important
;
}
div
[
style
*=
"margin: 16px 0"
]
{
margin
:
0
!important
;
}
@media
only
screen
and
(
max-width
:
639px
)
{
body
,
#body
{
min-width
:
320px
!important
;
}
table
.wrapper
{
width
:
100%
!important
;
min-width
:
320px
!important
;
}
table
.wrapper
>
tbody
>
tr
>
td
{
border-left
:
0
!important
;
border-right
:
0
!important
;
border-radius
:
0
!important
;
padding-left
:
10px
!important
;
padding-right
:
10px
!important
;
}
}
%body
{
style:
"background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"
}
%table
#body
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;"
}
%tbody
%tr
.line
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;"
}
%tr
.header
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"
}
%img
{
alt:
"GitLab"
,
height:
"50"
,
src:
image_url
(
'mailers/ci_pipeline_notif_v1/gitlab-logo.gif'
),
width:
"55"
}
/
%tr
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"
}
%table
.wrapper
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;"
}
%tbody
%tr
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"
}
%table
.content
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:100%;border-collapse:separate;border-spacing:0;"
}
%tbody
%tr
.alert
%tr
.alert
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;background-color:#d22f57;color:#ffffff;"
}
%table
.img
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"border-collapse:collapse;margin:0 auto;"
}
%tbody
...
...
@@ -66,10 +7,10 @@
%img
{
alt:
"x"
,
height:
"13"
,
src:
image_url
(
'mailers/ci_pipeline_notif_v1/icon-x-red-inverted.gif'
),
style:
"display:block;"
,
width:
"13"
}
/
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;"
}
Your pipeline has failed.
%tr
.spacer
%tr
.spacer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"
}
%tr
.section
%tr
.section
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"
}
%table
.info
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:100%;"
}
%tbody
...
...
@@ -127,11 +68,11 @@
-
else
%span
=
commit
.
author_name
%tr
.spacer
%tr
.spacer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"
}
-
failed
=
@pipeline
.
statuses
.
latest
.
failed
%tr
.pre-section
-
failed
=
@pipeline
.
statuses
.
latest
.
failed
%tr
.pre-section
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333333;font-size:15px;font-weight:400;line-height:1.4;padding:15px 0;"
}
Pipeline
%a
{
href:
pipeline_url
(
@pipeline
),
style:
"color:#3777b0;text-decoration:none;"
}
...
...
@@ -140,10 +81,10 @@
=
failed
.
size
failed
#{
'build'
.
pluralize
(
failed
.
size
)
}
.
%tr
.warning
%tr
.warning
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border:1px solid #ededed;border-bottom:0;border-radius:3px 3px 0 0;overflow:hidden;background-color:#fdf4f6;color:#d22852;font-size:14px;line-height:1.4;text-align:center;padding:8px 15px;"
}
Logs may contain sensitive data. Please consider before forwarding this email.
%tr
.section
%tr
.section
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;border-top:0;border-radius:0 0 3px 3px;"
}
%table
.builds
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:100%;border-collapse:collapse;"
}
%tbody
...
...
@@ -166,14 +107,3 @@
=
build
.
trace_html
(
last_lines:
10
).
html_safe
-
else
%td
{
colspan:
"2"
}
%tr
.footer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"
}
%img
{
alt:
"GitLab"
,
height:
"33"
,
src:
image_url
(
'mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'
),
style:
"display:block;margin:0 auto 1em;"
,
width:
"90"
}
/
%div
%a
{
href:
profile_notifications_url
,
style:
"color:#3777b0;text-decoration:none;"
}
Manage all notifications
·
%a
{
href:
help_url
,
style:
"color:#3777b0;text-decoration:none;"
}
Help
%div
You're receiving this email because of your account on
=
succeed
"."
do
%a
{
href:
root_url
,
style:
"color:#3777b0;text-decoration:none;"
}=
Gitlab
.
config
.
gitlab
.
host
app/views/notify/pipeline_failed_email.text.erb
View file @
f0766fde
...
...
@@ -27,7 +27,3 @@ Trace: <%= build.trace_with_state(last_lines: 10)[:text] %>
<%
end
-%>
<%
end
-%>
You're receiving this email because of your account on
<%=
Gitlab
.
config
.
gitlab
.
host
%>
.
Manage all notifications:
<%=
profile_notifications_url
%>
Help:
<%=
help_url
%>
app/views/notify/pipeline_success_email.html.haml
View file @
f0766fde
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
%html
{
lang:
"en"
}
%head
%meta
{
content:
"text/html; charset=UTF-8"
,
"http-equiv"
=>
"Content-Type"
}
/
%meta
{
content:
"width=device-width, initial-scale=1"
,
name:
"viewport"
}
/
%meta
{
content:
"IE=edge"
,
"http-equiv"
=>
"X-UA-Compatible"
}
/
%title
=
message
.
subject
:css
/* CLIENT-SPECIFIC STYLES */
body
,
table
,
td
,
a
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
}
table
,
td
{
mso-table-lspace
:
0pt
;
mso-table-rspace
:
0pt
;
}
img
{
-ms-interpolation-mode
:
bicubic
;
}
/* iOS BLUE LINKS */
a
[
x-apple-data-detectors
]
{
color
:
inherit
!important
;
text-decoration
:
none
!important
;
font-size
:
inherit
!important
;
font-family
:
inherit
!important
;
font-weight
:
inherit
!important
;
line-height
:
inherit
!important
;
}
/* ANDROID MARGIN HACK */
body
{
margin
:
0
!important
;
}
div
[
style
*=
"margin: 16px 0"
]
{
margin
:
0
!important
;
}
@media
only
screen
and
(
max-width
:
639px
)
{
body
,
#body
{
min-width
:
320px
!important
;
}
table
.wrapper
{
width
:
100%
!important
;
min-width
:
320px
!important
;
}
table
.wrapper
>
tbody
>
tr
>
td
{
border-left
:
0
!important
;
border-right
:
0
!important
;
border-radius
:
0
!important
;
padding-left
:
10px
!important
;
padding-right
:
10px
!important
;
}
}
%body
{
style:
"background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"
}
%table
#body
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;"
}
%tbody
%tr
.line
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;"
}
%tr
.header
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"
}
%img
{
alt:
"GitLab"
,
height:
"50"
,
src:
image_url
(
'mailers/ci_pipeline_notif_v1/gitlab-logo.gif'
),
width:
"55"
}
/
%tr
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"
}
%table
.wrapper
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;"
}
%tbody
%tr
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"
}
%table
.content
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:100%;border-collapse:separate;border-spacing:0;"
}
%tbody
%tr
.success
%tr
.success
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;color:#ffffff;background-color:#31af64;"
}
%table
.img
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"border-collapse:collapse;margin:0 auto;"
}
%tbody
...
...
@@ -66,10 +7,10 @@
%img
{
alt:
"✓"
,
height:
"13"
,
src:
image_url
(
'mailers/ci_pipeline_notif_v1/icon-check-green-inverted.gif'
),
style:
"display:block;"
,
width:
"13"
}
/
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;"
}
Your pipeline has passed.
%tr
.spacer
%tr
.spacer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"
}
%tr
.section
%tr
.section
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"
}
%table
.info
{
border:
"0"
,
cellpadding:
"0"
,
cellspacing:
"0"
,
style:
"width:100%;"
}
%tbody
...
...
@@ -127,10 +68,10 @@
-
else
%span
=
commit
.
author_name
%tr
.spacer
%tr
.spacer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"
}
%tr
.success-message
%tr
.success-message
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333333;font-size:15px;font-weight:400;line-height:1.4;padding:15px 5px;text-align:center;"
}
-
build_count
=
@pipeline
.
statuses
.
latest
.
size
-
stage_count
=
@pipeline
.
stages_count
...
...
@@ -141,14 +82,3 @@
#{
build_count
}
#{
'build'
.
pluralize
(
build_count
)
}
in
#{
stage_count
}
#{
'stage'
.
pluralize
(
stage_count
)
}
.
%tr
.footer
%td
{
style:
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"
}
%img
{
alt:
"GitLab"
,
height:
"33"
,
src:
image_url
(
'mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'
),
style:
"display:block;margin:0 auto 1em;"
,
width:
"90"
}
/
%div
%a
{
href:
profile_notifications_url
,
style:
"color:#3777b0;text-decoration:none;"
}
Manage all notifications
·
%a
{
href:
help_url
,
style:
"color:#3777b0;text-decoration:none;"
}
Help
%div
You're receiving this email because of your account on
=
succeed
"."
do
%a
{
href:
root_url
,
style:
"color:#3777b0;text-decoration:none;"
}=
Gitlab
.
config
.
gitlab
.
host
app/views/notify/pipeline_success_email.text.erb
View file @
f0766fde
...
...
@@ -18,7 +18,3 @@ Commit Author: <%= commit.author_name %>
<%
build_count
=
@pipeline
.
statuses
.
latest
.
size
-%>
<%
stage_count
=
@pipeline
.
stages_count
-%>
Pipeline #
<%=
@pipeline
.
id
%>
(
<%=
pipeline_url
(
@pipeline
)
%>
) successfully completed
<%=
build_count
%>
<%=
'build'
.
pluralize
(
build_count
)
%>
in
<%=
stage_count
%>
<%=
'stage'
.
pluralize
(
stage_count
)
%>
.
You're receiving this email because of your account on
<%=
Gitlab
.
config
.
gitlab
.
host
%>
.
Manage all notifications:
<%=
profile_notifications_url
%>
Help:
<%=
help_url
%>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment