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

Index and de-index issues programmatically


As we have seen in the JIRA architecture explained in Chapter 2, Understanding Plugin Framework, searching in JIRA is based on Apache Lucene. The Lucene indexes are stored in File System and are used as the basis for the search queries executed in JIRA. Whenever an issue is updated, more records are created, or existing records are updated for that particular issue in the filesystem.

It is possible to programmatically index selected or all issues, or de-index an issue. Also, we can switch OFF or ON indexing selectively in our plugins if needed. An example where re-indexing is needed is when a custom post function updates a field on the issue. De-indexing might be needed if you want to hide the issue from search results, for example, while archiving. In this recipe, we will see both of these.

How to do it...

Most of the indexing operations can be done with the help of IssueIndexingService. An instance of IssueIndexingService can be created either by...