summaryrefslogtreecommitdiff
path: root/app/views/notify
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2016-10-05 22:20:34 -0500
committerMike Greiling <mike@pixelcog.com>2016-10-05 23:07:00 -0500
commit5cd95549d0511417a2974613177d24eb81d6108b (patch)
tree1a7d0cc19d2ffd3dd0027ae4a687497c18cf9fbb /app/views/notify
parent004cd8df160a137b038ebc5f481e7d95d9931f4a (diff)
downloadgitlab-ce-5cd95549d0511417a2974613177d24eb81d6108b.tar.gz
add pipeline succeeded email notification
Diffstat (limited to 'app/views/notify')
-rw-r--r--app/views/notify/pipeline_success_email.html.haml179
1 files changed, 153 insertions, 26 deletions
diff --git a/app/views/notify/pipeline_success_email.html.haml b/app/views/notify/pipeline_success_email.html.haml
index 64cf7cfe103..a21f71124cb 100644
--- a/app/views/notify/pipeline_success_email.html.haml
+++ b/app/views/notify/pipeline_success_email.html.haml
@@ -1,26 +1,153 @@
-.p
- Project:
- = @project.path_with_namespace
-.p
- Branch:
- = @pipeline.ref
-.p
- Commit:
- = @pipeline.short_sha
- (
- = @pipeline.sha
- )
-.p
- Commit Message:
- = @pipeline.git_commit_message
-.p
- Commit Author:
- = @pipeline.git_author_name
-.p
- Pusher:
- = @pipeline.user.try(:name)
-- failed = @pipeline.statuses.latest.failed
-.p
- Pipeline #
- = @pipeline.id
- had succeeded.
+!!!
+%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
+ :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
+ %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
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;padding-right:5px;"}
+ %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;"}
+ Success! Your CI pipeline has passed.
+ %tr.spacer
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"}
+ &nbsp;
+ %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
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;"} Project
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;"}
+ - if @project.group
+ %a.muted{:href => group_url(@project.group), :style => "color:#333333;text-decoration:none;"}
+ = @project.group.name
+ - else
+ %a.muted{:href => user_url(@project.namespace.owner), :style => "color:#333333;text-decoration:none;"}
+ = @project.namespace.owner.name
+ \/
+ %a.muted{:href => namespace_project_url(@project.namespace, @project), :style => "color:#333333;text-decoration:none;"}
+ = @project.name
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Branch
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
+ %table.img{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "border-collapse:collapse;"}
+ %tbody
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
+ %img{:height => "13", :src => image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), :style => "display:block;", :width => "13"}/
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
+ %a.muted{:href => namespace_project_commits_url(@project.namespace, @project, @pipeline.ref), :style => "color:#333333;text-decoration:none;"}
+ = @pipeline.ref
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Commit
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
+ %table.img{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "border-collapse:collapse;"}
+ %tbody
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
+ %img{:height => "13", :src => image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), :style => "display:block;", :width => "13"}/
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
+ %a{:href => namespace_project_commit_url(@project.namespace, @project, @pipeline.sha), :style => "color:#3084bb;text-decoration:none;"}
+ = @pipeline.short_sha
+ - if @merge_request
+ in
+ %a{:href => namespace_project_merge_request_url(@project.namespace, @project, @merge_request), :style => "color:#3084bb;text-decoration:none;"}
+ = @merge_request.to_reference
+ .commit{:style => "color:#5c5c5c;font-weight:300;"}
+ = @pipeline.git_commit_message.truncate(50)
+ %tr
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Author
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
+ %table.img{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "border-collapse:collapse;"}
+ %tbody
+ %tr
+ - commit = @pipeline.commit
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
+ %img.avatar{:height => "24", :src => avatar_icon(commit.author || commit.author_email, 24), :style => "display:block;border-radius:12px;margin:-2px 0;", :width => "24"}/
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
+ - if commit.author.nil?
+ %span
+ = commit.author_name
+ - else
+ %a.muted{:href => user_url(commit.author), :style => "color:#333333;text-decoration:none;"}
+ = commit.author.name
+ %tr.spacer
+ %td{:style => "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"}
+ &nbsp;
+ %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.size
+ Pipeline
+ %a{:href => namespace_project_pipeline_url(@project.namespace, @project, @pipeline.id), :style => "color:#3084bb;text-decoration:none;"}
+ = "\##{@pipeline.id}"
+ successfully completed
+ = "#{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:#3084bb;text-decoration:none;"} Manage all notifications
+ &middot;
+ %a{:href => help_url, :style => "color:#3084bb;text-decoration:none;"} Help
+ %div GitLab, 1233 Howard St 2F, San Francisco, CA 94103, USA