a6c272843f
Make open reviews easier to find by putting them in bold. Change-Id: I86d37b17ddedb0266905c599a37680412e588198
108 lines
3.5 KiB
JavaScript
108 lines
3.5 KiB
JavaScript
// Copyright 2013 OpenStack Foundation
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
// not use this file except in compliance with the License. You may obtain
|
|
// a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
// License for the specific language governing permissions and limitations
|
|
// under the License.
|
|
|
|
function graphite_moving_avg(job, color) {
|
|
var time = '5hours';
|
|
var graph = "color(alias(movingAverage(asPercent(";
|
|
graph += "stats.zuul.pipeline.gate.job." + job + ".FAILURE,";
|
|
graph += "sum(stats.zuul.pipeline.gate.job." + job + ".{SUCCESS,FAILURE})";
|
|
graph += "),'" + time + "'), '" + job + "'),'" + color + "')";
|
|
return graph;
|
|
}
|
|
|
|
function graphite_hit_count(job, color) {
|
|
var time = '5hours';
|
|
var graph = "color(alias(hitcount(";
|
|
graph += "sum(stats.zuul.pipeline.gate.job." + job + ".{SUCCESS,FAILURE})";
|
|
graph += ",'" + time + "'), '" + job + "'),'" + color + "')";
|
|
return graph;
|
|
}
|
|
|
|
|
|
function update() {
|
|
$.getJSON(data_url, function(data) {
|
|
var seen = [];
|
|
$.each(data, function(i, bug) {
|
|
var id = 'bug-'+bug['number'];
|
|
seen.push(id);
|
|
var div = $('#'+id);
|
|
|
|
if (!div.length) {
|
|
div = $('<div/>', {'id': id, 'class': 'bug-container'});
|
|
div.appendTo($('#main-container'));
|
|
$('<h2/>', {text: 'Bug ' + bug['number'] + " - " + bug['bug_data']['name']}).appendTo(div);
|
|
$('<h3/>', {
|
|
text: bug['fails24'] + ' fails in 24hrs / ' + bug['fails'] + ' fails in 10 days'
|
|
}).appendTo(div);
|
|
$('<h3/>', {
|
|
text: 'Projects: ' + bug['bug_data']['affects']
|
|
}).appendTo(div);
|
|
var reviews = bug['bug_data']['reviews'];
|
|
if (reviews.length>0) {
|
|
$('<h3/>', {
|
|
text: 'Open reviews: ',
|
|
style:'font-weight: bold;'
|
|
}).appendTo($('<span/>', {
|
|
'class': 'extlink'
|
|
}).appendTo(div));
|
|
}
|
|
for (var i = 0; i < reviews.length ; i++) {
|
|
$('<a/>', {
|
|
href: 'https://review.openstack.org/#/c/'+reviews[i],
|
|
style:'font-weight: bold;',
|
|
text: reviews[i]
|
|
}).appendTo($('<span/>', {
|
|
'class': 'extlink'
|
|
}).appendTo(div));
|
|
|
|
}
|
|
$('<div/>', {'class': 'graph'}).appendTo(div);
|
|
$('<a/>', {
|
|
href: 'http://logstash.openstack.org/#'+bug['logstash_query'],
|
|
text: 'Logstash'
|
|
}).appendTo($('<span/>', {
|
|
'class': 'extlink'
|
|
}).appendTo(div));
|
|
$('<a/>', {
|
|
href: 'https://bugs.launchpad.net/bugs/'+bug['number'],
|
|
text: 'Launchpad'
|
|
}).appendTo($('<span/>', {
|
|
'class': 'extlink'
|
|
}).appendTo(div));
|
|
}
|
|
div = div.find(".graph");
|
|
|
|
if (bug['data'].length > 0) {
|
|
$.plot(div, bug['data'],
|
|
{xaxis: {
|
|
mode: "time"
|
|
}}
|
|
);
|
|
} else {
|
|
div.html("No matches");
|
|
}
|
|
|
|
});
|
|
$.each($('.bug-container'), function(i, container) {
|
|
if (seen.indexOf(container.id) == -1) {
|
|
container.remove();
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
$(function() {
|
|
update();
|
|
});
|