JQL query to filter JIRAs based on the last commented date by a particular account / user - jira

I am new to JIRA / JQL, and wanted help in knowing if the following is possible:
I want to filter JIRAs which have been commented on by a particular user (a bot account) in the past xx days
I want to filter JIRAs which have a particular regex in its comments in the past xx days
If the above cannot be done, I am open to suggestions as to how to achieve it using a combination of labels and description in the JIRA!

Sorry, but comments are stored within each Issue and you can't search for them globally using the native JQL query. You'd need to utilise the REST API to iterate through the Issues, extracting all the comments, then filtering the results.
Refer to this article in the Atlassian community Jira blog on the same topic and what third party tools can help work around the issue.

Related

worklogcomment view and use in Jql

I am trying to view work-log comments of a user stories from filter in Jira. Can someone shed some light on how to retrieve it?
Unfortunately, it's not possible to access worklog comments from issue navigator in Jira. To access them you have to install one of the plugins that has worklog reports. As of now, Tempo Timesheets and Timesheet Reports and Gadgets are two most popular solutions for that.

JQL to get blocked Issues

Is there a native JQL (not a plugin) that returns tickets that have linked issues listed as "is blocked by" (so I can see all my blocked tickets).
All I have found is linkedIssues() but that can require a specific issue ID to search for which is entirely unhelpful.
I am using Jira Cloud 7.4.
In the core JIRA JQL functionality the closest thing you have, as you've already found out, is linkedIssues() that requires a parent Issue reference.
What you need is Adaptavist ScriptRunner, they have a function called hasLinks(). There are also a handful of other add-ons that offer this functionality but like ScriptRunner, they all cost money.
Related JIRA community question
JIRA Cloud feature request
The below query is also helpful (add it in the filter setup):
project = "Project ID" AND issuetype in (story, Spike) AND Sprint = "Sprint ID" AND linkedIssue in issueHistory()
According to Esther Strom's answer on this Atlassian site, there's a new query type:
Atlassian has very recently introduced a new JQL function called issueLinkType, which can be used in filters, but also in boards.
It's not perfect; if you're already using card colors for something else, you won't be able to use this as well. It also behaves inconsistently when a ticket has links of multiple types. But if you're looking for an easy way to get a view into what might be blocked, and what might have blockers, it works pretty well.
In KQL you can specified the type of link.
For what you want to do here what you can use
issue in linkedIssues([Issue#],"is blocked by")

Programming JIRA to show # of bugs and calculate time spent

I would like to program a filter in JIRA to show the number of bugs for a sprint and also calculate time spent. I have tried a number of the current reports but they do not automate this calculation. Has anyone successfully done this? I would prefer to do this via JQL rather than using the API.
With the standard JIRA functionality, the "issue search" page does not offer you a way to summarise values (yet).
There are a number of add-ons that can help you accomplish this though, for example:
sumUp
There is the sumUp add-on which does exactly that and is probably the easiest option.
Script Runner
You could also use Script Runner and its aggregateExpression JQL function, which supports "time spent" and other time fields and can give you a view like this:
Script Runner also has a ton of other useful features to customise JIRA.
Pivot Gadget
And if you're looking for a gadget to add on a dashboard instead, you could also use the Pivot Gadget add-on. This one supports pivot tables and can sum up totals, so you get something like this:
No Add-Ons Possible: Use the JIRA REST API
If installing add-ons is not an option, then you can still script a solution using JIRA's REST API. Especially the search resources will be useful.
You can use any kind of programming or scripting language to build this. There's already another answer that explains how to do this with bash, but if you google you will also find JIRA REST client libraries for java, python, ...
Also, most programming languages have very good REST support, so use whatever you are familiar with.
#GlennV is right - JQL is not SQL, and it returns only issues, not issue fields.
If you have the plugins he mentions, you should follow his guidelines.
If not, using the REST API gets you exactly what you need, even if you're loathe to use it :)
For my project key "MRL", I called:
https://my-jira-server/rest/api/latest/search?jsql=project=MRL%20AND%20issuetype=Bug
This returned a whole bunch of JSON info which I can then parse to get only the timeSpent field
If you're lucky enough to be on linux, you can use jq to quickly count the hours with this filter:
[.issues[] | .fields | select (.timespent != null) | .timespent] | add
If you want to try it, copy the entire JSON you got when you ran the REST API (the searchjql link), go to https://jqplay.org/, paste it into the JSON field, and paste the filter into the filter field.
I wrote a blog about something like this which you might want to refer to:
http://javamemento.blogspot.no/2016/05/jira-confluence-3.html

Jira to know how many poeple have visited an issue

I want to know how many people have visited a particular isssue in order to know its popularity( I can't trust on number of watchers of the issue) .Is there any way (JiraDB or anything) by which i can know how many people(just the count) have visited any particular issue.
The question can be modified like this : Top 10 mostly visited issues in a week or so.
Seb's earlier answer provides a possible solution for JIRA Cloud. I am not aware of any off-the-shelf product for behind-the-firewall installations of JIRA, and I do not believe that views are tracked anywhere in the JIRA database.
For behind-the-firewall instances, you could certainly write a script to parse the JIRA access logs (stored in $JIRA_HOME/logs/access_log*) to count issue accesses that way.
The JIRA access logs are stored in a format that is similar to the Apache access log format, so you just need to parse out accesses to individual issues by looking for URLs of the format "http://MYJIRA/browse/ABC-123".
Out of the box this is not possible. Jira does not log view counts for single issues.
You could have a look if there is any plugin for this at https://marketplace.atlassian.com/search?application=jira
E.g. https://marketplace.atlassian.com/plugins/communardo.connect.usage.statistic.addon looks like it could fit your requirements, but I personally have never heard of it.

Can JQL or the JIRA interface give me a table view?

I need to know if there is a JQL query or a way in the JIRA interface to see a quick table that includes issue number, task name, percentage complete, remarks, priority, and due date. It would be preferable if I could somehow export this to excel. I'm having trouble finding documentation on this sort of JQL. I would appreciate any help or helpful links.

Resources