JIRA Development Cookbook

JIRA Development Cookbook
eBook: $35.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $95.98    Print cover: $59.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Extend and Customize JIRA--Work with custom fields, workflows, Reports & Gadgets, JQL functions, plugins, and more
  • Customize the look and feel of your JIRA User Interface by adding new tabs, web items and sections, drop down menus, and more
  • Master JQL - JIRA Query Language that enables advanced searching capabilities through which users can search for issues in their JIRA instance and then exploit all the capabilities of issue navigator
  • Part of Packt's Cookbook series: Each recipe is a carefully organized sequence of instructions to complete the task as efficiently as possible


Book Details

Language : English
Paperback : 476 pages [ 235mm x 191mm ]
Release Date : November 2011
ISBN : 1849681805
ISBN 13 : 9781849681803
Author(s) : Jobin Kuruvilla
Topics and Technologies : All Books, Application Development, Cookbooks, Enterprise

Table of Contents

Chapter 1: Plugin Development Process
Chapter 2: Understanding Plugin Framework
Chapter 3: Working with Custom Fields
Chapter 4: Programming Workflows
Chapter 5: Gadgets and Reporting in JIRA
Chapter 6: The Power of JIRA Searching
Chapter 7: Programming Issues
Chapter 8: Customizing the UI
Chapter 9: Remote Access to JIRA
Chapter 10: Dealing with a Database
Chapter 11: Useful Recipes
  • Chapter 1: Plugin Development Process
    • Introduction
    • Setting up the development environment
    • Creating a skeleton plugin
    • Deploying a plugin
    • Making changes and re-deploying a plugin
    • Testing and debugging
    • Chapter 2: Understanding Plugin Framework
      • Introduction
      • Converting plugins from v1 to v2
      • Adding resources into plugins
      • Adding web resources into plugins
      • Building JIRA from source
      • Adding new webwork actions to JIRA
      • Extending a webwork action in JIRA
      • Chapter 3: Working with Custom Fields
        • Introduction
        • Writing a simple custom field
        • Custom field searchers
        • Dealing with custom fields on an issue
        • Programming custom field options
        • Overriding validation of custom fields
        • Customizing the change log value
        • Migrating from one custom field type to another
        • Making custom fields sortable
        • Displaying custom fields on subtask columns
        • User and date fields from 4.1.x
        • Adding custom fields to notification mails
        • Adding help text for a custom field
        • Removing the 'none' option from a select field
        • Making the custom field project importable
        • Changing the size of a text area custom field
        • Chapter 4: Programming Workflows
          • Introduction
          • Writing a workflow condition
          • Writing a workflow validator
          • Writing a workflow post function
          • Editing an active workflow
          • Making an issue editable/non-editable based on workflow status
          • Including/excluding resolutions for specific transitions
          • Permissions based on workflow status
          • Internationalization in workflow transitions
          • Obtaining available workflow actions programmatically
          • Programmatically progressing on workflows
          • Obtaining workflow history from the database
          • Re-ordering workflow actions in JIRA
          • Creating common transitions in workflows
          • Jelly escalation
          • Chapter 5: Gadgets and Reporting in JIRA
            • Introduction
            • Writing a JIRA report
            • Reports in Excel format
            • Data validation in JIRA reports
            • Restricting access to reports
            • Object configurable parameters for reports
            • Creating a pie chart in JIRA
            • Writing JIRA 4 gadgets
            • Invoking REST services from gadgets
            • Configuring user preferences in gadgets
            • Accessing gadgets outside of JIRA
            • Chapter 6: The Power of JIRA Searching
              • Introduction
              • Writing a JQL function
              • Sanitizing JQL functions
              • Adding a search request view
              • Smart querying using quick search
              • Searching in plugins
              • Parsing a JQL query in plugins
              • Linking directly to search queries
              • Index and de-index programmatically
              • Managing filters programmatically
              • Subscribing to a filter
              • Chapter 7: Programming Issues
                • Introduction
                • Creating an issue from a plugin
                • Creating subtasks on an issue
                • Updating an issue
                • Deleting an issue
                • Adding new issue operations
                • Conditions on issue operations
                • Working with attachments
                • Time tracking and worklog management
                • Working with comments on issues
                • Programming Change Logs
                • Programming issue links
                • Validations on issue linking
                • Discarding fields while cloning
                • JavaScript tricks on issue fields
                • Chapter 8: Customizing the UI
                  • Introduction
                  • Changing the basic look and feel
                  • Adding new web sections in the UI
                  • Adding new web items in the UI
                  • Adding conditions for web fragments
                  • Creating new velocity context for web fragments
                  • Adding a new drop-down menu on the top navigation bar
                  • Dynamic creation of web items
                  • Adding new tabs in the View Issue screen
                  • Adding new tabs in the Browse Project screen
                  • Creating Project Tab Panel using fragments
                  • Adding new tabs in the Browse Version screen
                  • Adding new tabs in the Browse Component screen
                  • Extending a webwork action to add UI elements
                  • Displaying dynamic notifications/warnings on issues
                  • Re-ordering Issue Operations in the View Issue page
                  • Re-ordering fields in the View Issue page
                  • Chapter 9: Remote Access to JIRA
                    • Introduction
                    • Creating a SOAP client
                    • Creating an issue via SOAP
                    • Working with custom fields and SOAP
                    • Attachments and SOAP
                    • Worklogs and time tracking via SOAP
                    • Commenting on an issue via SOAP
                    • User and group management via SOAP
                    • Progressing an issue in workflow using SOAP
                    • Managing versions via SOAP
                    • Administration methods in SOAP API
                    • Deploy a SOAP service in JIRA
                    • Deploy a XML-RPC service within JIRA
                    • Writing a Java XML-RPC client
                    • Expose services and data entities as REST APIs
                    • Writing Java client for REST API
                    • Chapter 10: Dealing with a Database
                      • Introduction
                      • Extending JIRA DB with custom schema
                      • Accessing DB entities from plugins
                      • Persisting plugin information in JIRA DB
                      • Using active objects to store data
                      • Accessing JIRA configuration properties
                      • Getting database connection for JDBC calls
                      • Migrating a custom field from one type to another
                      • Retrieving issue information from a Database
                      • Retrieving custom field details from a database
                      • Retrieving permissions on issues from a database
                      • Retrieving workflow details from a database
                      • Updating issue status in a database
                      • Retrieving users and groups from a database
                      • Dealing with Change history in a database
                      • Chapter 11: Useful Recipes
                        • Introduction
                        • Writing a service in JIRA
                        • Adding configurable parameters to a service
                        • Writing scheduled tasks in JIRA
                        • Writing listeners in JIRA
                        • Customizing e-mail content
                        • Redirecting to different page in webwork actions
                        • Adding custom behavior for user details
                        • Deploying a servlet in JIRA
                        • Adding shared parameters to Servlet Context
                        • Writing a Servlet Context Listener
                        • Using filters to intercept queries in JIRA
                        • Adding and importing components in JIRA
                        • Adding new module types to JIRA
                        • Enabling access logs in JIRA
                        • Enabling SQL logging in JIRA
                        • Overriding JIRA's default components in plugins
                        • Creating issues and comments from e-mail
                        • Internationalization in webwork plugins
                        • Sharing common libraries across v2 plugins
                        • Operations using direct HTML links

                        Jobin Kuruvilla

                        Jobin Kuruvilla is an Atlassian Consultant with experience in customizing JIRA and writing JIRA plugins for various customers. He is currently working with Go2Group as an Atlassian platinum expert, and is involved in managing Atlassian products for big enterprises as well as small starter license installations. Jobin is the author of JIRA Development Cookbook, Packt Publishing, released in 2011, which is a well-received book in the JIRA community. He also runs a website named J-Tricks (http://www.j-tricks.com), using which he shares numerous tutorials to help the developer community, who he believes have contributed immensely to his personal development. It is indeed those tutorials that sowed the first seeds of JIRA Development Cookbook. Jobin started his career as a Java/J2EE developer in one of the biggest IT companies in India. After spending his initial years in the SOA world, he got hooked into this amazing product called JIRA, which he came across during the evaluation of a number of third-party tools. Soon, Jobin realized the power of JIRA, and pledged to spread the word. He has been doing it ever since, and he reckons there is a long way to go!
                        Sorry, we don't have any reviews for this title yet.

                        Code Downloads

                        Download the code and support files for this book.

                        Submit Errata

                        Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                        - 1 submitted: last submission 07 Feb 2014

                        Errata type: technical| Page number: 103

                        In the last paragraph, the change should be as follows:

                        Note that we have stored the field (changed role to field) name instead of the ID in the workflow, unlike what we did in the workflow condition. However, it is safe to use the ID because administrators can rename the fields (changed roles to fields), which would then need changes in the workflows.


                        Sample chapters

                        You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                        Frequently bought together

                        JIRA Development Cookbook +    Oracle Siebel CRM 8 Installation and Management =
                        50% Off
                        the second eBook
                        Price for both: £34.45

                        Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                        What you will learn from this book

                        • Create and deploy your own JIRA plugins
                        • Deal with Custom Fields on an Issue and program Custom Field Options
                        • Program and customize Workflows to transform JIRA into a user-friendly system
                        • Create reports that show statistics for particular people, projects, versions, or other fields within issues
                        • Simplify reporting by writing your own JIRA Gadgets, which can be added into a user's dashboard
                        • Create, edit, and delete Issues
                        • Master Database handling in JIRA --retrieve Issue information from Database, extend the database, retrieve Custom Field details from the database, access database entities from plugins, and more
                        • Communicate with JIRA via the REST, SOAP or XML/RPC interfaces

                        In Detail

                        JIRA provides issue tracking and project tracking for software development teams to improve code quality and the speed of development.

                        This book is your one-stop resource to master JIRA extension and customization. You will learn how to create your own JIRA plugins, customize the look and feel of your JIRA UI, work with Workflows, Issues, Custom Fields, and much more.

                        The book starts with recipes on simplifying the Plugin development process followed by a complete chapter dedicated to the Plugin Framework to master Plugins in JIRA.

                        Then we will move on to writing custom field plugins to create new field types or custom searchers. We then learn how to program and customize Workflows to transform JIRA into a user-friendly system.

                        Reporting support in an application like JIRA is inevitable! With so much data spanning across different projects, issues, etc and a lot of project planning done on it, we will cover how to work on reports and gadgets to get customized data according to our needs.

                        We will then look at customizing the various searching aspects of JIRA such as JQL, searching in plugins, managing filters, and so on.

                        Then the book steers towards programming Issues, i.e. creating/editing/deleting issues, creating new issue operations, managing the various other operations available on issues via the JIRA APIs etc.

                        In the latter half of the book, you will learn how to customize JIRA by adding new tabs, menus, and web items, communicate with JIRA via the REST, SOAP or XML/RPC interfaces, and work with the JIRA database.

                        The book ends with a chapter on useful and general JIRA recipes.


                        This book is part of Packt's Cookbook series. A Packt Cookbook contains step-by-step recipes for solutions to the most important problems you face when working with a topic.
                        Inside this Cookbook you will find:

                        • A straightforward and easy-to-follow format
                        • A selection of the most important tasks and problems
                        • Carefully organized instructions for solving the problem efficiently
                        • Clear explanations of what you did
                        • Details for applying the solution to other situations


                        Who this book is for

                        If you are a JIRA developer or project manager who wants to fully exploit the exciting capabilities of JIRA, then this is the perfect book for you.

                        Code Download and Errata
                        Packt Anytime, Anywhere
                        Register Books
                        Print Upgrades
                        eBook Downloads
                        Video Support
                        Contact Us
                        Awards Voting Nominations Previous Winners
                        Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                        Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software