我们使用JIRA来跟踪问题。我必须每月报告各组项目的未决问题数量。我为每个组创建了过滤器。我想创建一个显示:
的仪表板最好的方法是什么?可以在不编写我自己的报告或小工具的情况下完成吗?
答案 0 :(得分:1)
我遇到了类似的问题。对于那个问题,我创建了一个函数来获取每个 Jira 查询的问题总数,如下所示。
创建一个新的电子表格(在谷歌表格中)
从上到下列出您自己的 Jira 查询/过滤器,不带双引号。
用单引号代替双引号。 “ => '
将此电子表格下载/导出为 CSV 文件。
现在返回您的 Jira => 高级搜索页面,然后打开检查和控制台 https://yourprojectdomainname.atlassian.net/issues/?jql=
将以下代码复制并粘贴到控制台中。
调用此函数后,将出现“选择文件”输入。
点击“选择文件”输入并选择您刚刚下载的 csv 文件。
一旦您选择它,就会自动触发 Jira 查询并列出问题数量。
完成后,您可以将它们复制并粘贴到报告电子表格的下一列中。
$("#search-header-view").after('<input type="file" id="the-file-input" /><div id="theContainer"></div>');
console.log("Author: MertKGursoy");
function theReader(e) {
var file = e.target.files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.onload = function(e) {
var cont = e.target.result;
theParsed(cont);
};
reader.readAsText(file);
}
function theParsed(cont) {
const json = cont.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
var theText = JSON.stringify(json);
theText = theText.replace(/\[/g, "");
theText = theText.replace(/\]/g, "");
theText = theText.replace(/\\n/g, "");
theText = theText.replace(/\\r/g, '", "');
theText = theText.replace(/\\/g, '"');
var str = theText;
var str_array = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g);
var theLength = str_array.length + 1;
for(var i = 0; i < theLength ; i++) {
delay(i);
}
function delay (i) {
setTimeout(() => {
str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
var jqlQuery = str_array[i];
var withoutdoublequotes = jqlQuery.replace(/\"/g, '');
var text = document.getElementById('advanced-search');
text.value = withoutdoublequotes;
var jqlValue = document.getElementById("jql").value;
$(".aui-button-primary").trigger("click");
if (withoutdoublequotes) {
setTimeout(() => {
var resultValue = $('.results-count-total').first().text();
if (resultValue) {
$("#theContainer").append(resultValue + '<br>');
} else {
resultValue = "0";
$("#theContainer").append(resultValue + '<br>');
}
}, 3000);
} else {
setTimeout(() => {
resultValue = "-";
$("#theContainer").append(resultValue + '<br>');
}, 3000);
}
},i * 6000);
}
}
document.getElementById('the-file-input').addEventListener('change', theReader, false);
答案 1 :(得分:0)
您可以使用Jira's remote API使用REST API进行搜索example:
curl -D- -u fred:fred -X GET -H "Content-Type: application/json" http://kelpie9:8081/rest/api/2/search?jql=assignee=fred
编写一个html页面,对API进行ajax调用,并向屏幕显示您需要的内容。比使用Text Gadget将此页面添加到仪表板。
更有效的方法可能是每5分钟左右运行一次cron作业,创建此页面,将其保存到Jira的web目录,而不是使用ajax调用来获取文件内容并将其显示在屏幕上。如果您选择此解决方案,则可以使用Jira's CLI来获取统计信息。