Set only http(s) links
Gerrit defines a pattern for SAFE URLs:
SAFE_URL_PATTERN = /^(https?:\/\/|mailto:|[^:/?#]*(?:[/?#]|$))/i;
which does not allow finger:// url
Only set link named group if url starts with http/https
Use template to print href property only if link is defined
diff --git a/zuul-results-summary/zuul-results-summary.js b/zuul-results-summary/zuul-results-summary.js
index b4bd3f7..b244207 100644
--- a/zuul-results-summary/zuul-results-summary.js
+++ b/zuul-results-summary/zuul-results-summary.js
@@ -85,7 +85,8 @@
</tr>
<template is="dom-repeat" items="[[item.results]]" as="job">
<tr>
- <td><a href="[[job.link]]">[[job.job]]</a></td>
+ <template is="dom-if" if="{{job.link}}"><td><a href="{{job.link}}">[[job.job]]</a></td></template>
+ <template is="dom-if" if="{{!job.link}}"><td><a>[[job.job]]</a></td></template>
<td><span class$="status-[[job.result]]">[[job.result]]</span></td>
<td>[[job.time]]</td>
</tr>
@@ -195,7 +196,7 @@
// - openstack-tox-py35 http://... : SUCCESS in 2m 45
const results = [];
const lines = message.message.split('\n');
- const resultRe = /^- (?<job>[^ ]+) (?<link>[^ ]+) : (?<result>[^ ]+) in (?<time>.*)/;
+ const resultRe = /^- (?<job>[^ ]+) (?:(?<link>https?:\/\/[^ ]+)|[^ ]+) : (?<result>[^ ]+) in (?<time>.*)/;
lines.forEach(line => {
const result = resultRe.exec(line);
if (result) {