Book Image

JIRA Development Cookbook - Third Edition

By : Jobin Kuruvilla
Book Image

JIRA Development Cookbook - Third Edition

By: Jobin Kuruvilla

Overview of this book

JIRA provides issue and project tracking for software development teams to improve code quality and the speed of development. With the new version of JIRA, you can create your own JIRA plugins and customize the look and feel of your JIRA UI easier than ever. JIRA Development Cookbook , Third Edition, is a one-stop resource to master extensions and customizations in JIRA. This book starts with recipes about simplifying the plugin development process followed by recipes dedicated to the plugin framework. Then, you will move on to writing custom field plugins to create new field types or custom searchers. You will also learn how to program and customize workflows to transform JIRA into a user-friendly system. With so much data spanning different projects, issues, and so on, we will cover how to work on reports and gadgets to get customized data according to our needs. At the end of the book, you will learn how to customize JIRA by adding new tabs, menus, and web items; communicate with JIRA via the REST APIs; and work with the JIRA database.
Table of Contents (18 chapters)
JIRA Development Cookbook Third Edition
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface

Searching on issue entity properties


JIRA has a nice feature where we can store key/value pairs on JIRA entities like issues or projects. To make it even better, JIRA allows us to search issues using the entity properties set on them using JQL or REST API.

JIRA uses a plugin module named Index Document Configuration to expose these issue properties as properties that can be indexed. Once indexed, they can be searched using JQL, just like any other issue fields.

In this recipe, we will see how we can use the Index Document Configuration plugin module to search on issue properties.

Getting ready

First, we need to populate an existing issue in JIRA with some properties. These properties have a key, and the value can be a JSON object.

Let us assume that we want to set a property named color, and it has different attributes - name and density. In this case, the property key will be color and the value will be {"name":"name of color", "density" : "an integer value"}.

The property can be set using an...