...
...
...
...
...
...
...
...
...
...
...
...
Info |
---|
|
This feature is available for the Jira server deployment option only. We plan to add it to the Cloud version in the near future. |
...
Warning |
---|
|
For performance reasons, put there a filter that keeps the potential number of matching issues as low as possible. Remember that running a script over an issue is more complex than simply comparing values. |
To return issues with comments for a given project we can use this simple JQL:
...
Code Block |
---|
|
key in silJQLExpression("size(getAllCommentIds(key)) == 5", "project = TEST") |
In order to find issues that have been commented after a specified date, we need to create a SIL SIL™ script with the following code:
...
Code Block |
---|
|
key in silJQLList("commented.sil", TEST, 2w, admin) |
Code Block |
---|
|
string [] keys = selectIssues("project = " + argv[0]);
string [] ret;
for(string k in keys) {
number [] commentIds = getAllCommentIds(k);
if(size(commentIds) != 0) {
for(number id in commentIds) {
JComment comment = getCommentById(id);
if(userInGroup(argv[1], comment.updatedBy)) {
ret += k;
}
}
}
}
return ret; |
...
Code Block |
---|
|
key in silJQLList("lastUpdated.sil", TEST, jira-administrators) |
Issues by worklogs
If we want to find the issues where work had been logged by a specified user. We can do this by using silJQLExpression:
...
Also, we can use this JQL to find the issues where work had been logged on a given date:
Code Block |
---|
|
key in silJQLExpression('size(getWorklogIds("2017-03-16", key)) != 0', 'project = TEST') |
Issues with attachments
To return issues with attachments for a given project we can use this simple JQL:
Code Block |
---|
|
key in silJQLExpression('size(attachments) != 0', 'project = TEST') |
Issues with links
In order to find the issues that are linked we can use the following JQL:
...
Code Block |
---|
|
key in silJQLExpression('size(linkedIssues(key, "Relates")) != 0', 'project = TEST') |
To find all the issues that are blocked by issues with status "To Do" we could use:
Code Block |
---|
|
key in silJQLExpression('size(linkedIssues(key, "Blocks", 1)) != 0', 'project = TEST') and status = 'To Do' |
If we want to search for the linked issues whatever the link type with resolution "Done" :
Code Block |
---|
|
key in silJQLExpression('size(linkedIssues(key)) != 0', 'project = TEST') and resolution = Done |
Issues with subtasks
To find all issues with subtasks, we need to write this simple JQL:
...
Code Block |
---|
|
key in silJQLList("parentsOf.sil", TEST, Done, 'To Do') |
Subtasks of issues
To search for the subtasks of issues we need to create a SIL SIL™ script:
Code Block |
---|
|
string [] keys = selectIssues("project= " + argv[0]);
string [] ret;
for(string k in keys) {
string [] subtasksKeys = subtasks(k);
if(size(subtasksKeys) != 0) {
for(string sk in subtasksKeys) {
ret += sk;
}
}
}
return ret; |
...
Code Block |
---|
|
key in silJQLList("subtasksOf.sil", TEST, Done, 'To Do') |
Issues by comparing dates
To search for issues that were resolved after the due date:
Code Block |
---|
|
key in silJQLExpression('resolution > dueDate', 'project = TEST') |
To find issues that were updated within one week after being created:
Code Block |
---|
|
key in silJQLExpression('updated < created + "1w" ' , 'project = TEST') |
Issues that had changed priority
For example, if we want to search for issues that had the priority "Medium" and now has the priority set to "High". We can perform the following search:
Code Block |
---|
|
key in silJQLExpression('arrayElementExists( fieldHistory(key, "priority"), 3) ', 'project = TEST') and priority = High //where 3 is the priority id for "Medium" |
Issues which have not been updated by the users from a specific group
In order to find issues that have not been updated by the users form a specific group in the last 24 hours, we need to create a SIL SIL™ script:
Code Block |
---|
title | notUpdatedByUsersInGroup.sil |
---|
|
string [] keys = selectIssues("project = " + argv[0]);
string [] ret;
for(string k in keys) {
boolean updatedByUsersInGroup = false;
JFieldChange [] changes = lastIssueChanges(k);
for(number i = 0; i < size(changes); i++) {
if(userInGroup(argv[1], changes[i].user) && (currentDate() - changes[i].#{date} < "24h")) {
updatedByUsersInGroup = true;
}
}
if(!updatedByUsersInGroup) {
ret += k;
}
}
return ret; |
...
Code Block |
---|
|
key in silJQLList("notUpdatedByUsersInGroup.sil", TEST, jira-developers) |
See also
...