Searching in plugins
With the invention of JQL, JIRA search APIs have changed drastically from 3.x versions. Searching in plugins is now done using APIs supporting JQL. In this recipe, we will see how to search for issues within our plugins using those APIs.
How to do it…
For the sake of concentrating on the search APIs, we will look at writing a simple method, getIssues()
, that returns a list of issue objects based on some search criteria.
The essence of searching is to build a Query
object using JqlQueryBuilder
. A Query
object will have a where
clause and an orderBy
clause, which are built using the JqlClauseBuilder
class. We can also incorporate conditions in between clauses using ConditionBuilders.
For now, let us assume we want to find all the issues in a particular project (project ID: 10000
, key: DEMO
) and assign them to the current user within our plugin. The JQL equivalent for this is as follows:
project = "DEMO" AND assignee = currentUser()
The following are the steps to do this...