Index: templates/waterfall_mail.html |
diff --git a/templates/waterfall_mail.html b/templates/waterfall_mail.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..20a2299bc5bab7441ac6f67199fa55f4006d43e5 |
--- /dev/null |
+++ b/templates/waterfall_mail.html |
@@ -0,0 +1,96 @@ |
+{% extends "base_mail.html" %} |
+ |
+{% set results = ["success", "warnings", "failure", "skipped", "exception", |
+ "retry"] %} |
+{% set styles = { |
+ 'BuildStep': '', |
+ 'start': ('color: #666666; background-color: #fffc6c;' |
+ 'border-color: #C5C56D;'), |
+ 'success': ('color: #FFFFFF; background-color: #8fdf5f; ' |
+ 'border-color: #4F8530;'), |
+ 'failure': ('color: #FFFFFF; background-color: #e98080; ' |
+ 'border-color: #A77272;'), |
+ 'warnings': ('color: #FFFFFF; background-color: #ffc343; ' |
+ 'border-color: #C29D46;'), |
+ 'exception': ('color: #FFFFFF; background-color: #e0b0ff; ' |
+ 'border-color: #ACA0B3;'), |
+ 'offline': ('color: #FFFFFF; background-color: #e0b0ff; ' |
+ 'border-color: #ACA0B3;'), |
+ } |
+%} |
+ |
+ |
+{% block buildbox%} |
+ |
+{% set class_= '' %} |
+{% if build_status['result'] in results %} |
+ {% set class_= results[build_status['result']] %} |
+{%endif%} |
+{% set style = styles.get(class_, '') %} |
+{% set buildername = build_status['builderName'] %} |
+<tr><td style="{{style}}"><a title="Reason: {{build_status['reason']}}" href="{{waterfall_url}}builders/{{buildername|urlquote}}/builds/{{build_status['number']}}">Build {{build_status['number']}}</a></td></tr> |
+{% for step in build_status['steps'] if step['started'] and step['text'] %} |
+ {% set stepclass_= '' %} |
+ {% if step['results'] in results %} |
+ {% set stepclass = results[step['results']] %} |
+ {%endif%} |
+ {% set stepstyle = styles.get(stepclass, '') %} |
+ <tr><td style="{{stepstyle}}"> |
+ {% for line in step['text'] %} |
+ {{line}}<br/> |
+ {% endfor %} |
+ {% for steplog in step['logs'] %} |
+ <a href="{{steplog[1]}}">{{steplog[0]}}</a><br/> |
+ {% endfor %} |
+ {% for urlname, target in step['urls'].iteritems() %} |
+ <a href="{{target}}">{{urlname}}</a><br/> |
+ {% endfor %} |
+ </td></tr> |
+{% endfor %} |
+{% endblock %} |
+ |
+ |
+{% block changes %} |
+ {% for change in build_status['changes'] %} |
+ <p>Changed by: <b>{{change['who']}}</b><br /> |
+ Changed at: <b>{{change['at']}}</b><br /> |
+ {% if change['repository'] %} |
+ Repository: <b>{{change['repository']}}</b><br /> |
+ {% endif %} |
+ {% if change['branch'] %} |
+ Branch: <b>{{change['branch']}}</b><br /> |
+ {% endif %} |
+ {% if change['revision'] %} |
+ {% if change.get('revlink') %} |
+ Revision: <a href="{{change['revlink']}}"><b>{{change['revision']}}</b></a> |
+ {% else %} |
+ Revision: <b>{{change['revision']}}</b><br /> |
+ {% endif %} |
+ {% endif %} |
+ <br /> |
+ |
+ Changed files: |
+ <ul> |
+ {% for f in change['files'] %} |
+ <li> |
+ {% if f['url'] %} |
+ <a href="{{f['url']}}"><b>{{f['name']}}</b></a> |
+ {% else %} |
+ <b>{{f['name']}}</b>{% endif %}</li> |
+ {% endfor %} |
+ </ul> |
+ |
+ Comments: |
+ <pre>{{change['comments']}}</pre> |
+ |
+ Properties: |
+ <ul> |
+ {% for prop in change['properties'] %} |
+ <li> |
+ {{prop[0]}}: {{prop[1]}}<br/></li> |
+ {% endfor %} |
+ </ul> |
+ </p> |
+ {% endfor %} |
+{% endblock %} |
+ |