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

Dealing with change history in a database


Before we wind up this chapter, let us touch on change history tables as well. Change histories on issues hold important information on what was changed and when. It is sometimes very useful for reporting and, sometimes, we find ourselves manually adding change histories in the database to keep a record of the changes we made via SQL-such as updating the status of an issue via SQL as we saw earlier in this chapter.

A set of changes happening on an issue at a single point of time is grouped together to form a change group. There is an entry for each such change group in the changegroup table, with the information about the issue on which the change is made, the user who made the change, and the time at which the changes happened.

Then, there is an entry for each of those individual changes in the changeitem table, all pointing to the respective changegroup. The changeitem table holds information on what was actually changed-the old value and the new...