JIRA 5.x Development Cookbook


JIRA 5.x Development Cookbook
eBook: $35.99
Formats: PDF, PacktLib, ePub and Mobi formats
$30.59
save 15%!
Print + free eBook + free PacktLib access to the book: $95.98    Print cover: $59.99
$59.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
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 the issue navigator

Book Details

Language : English
Paperback : 512 pages [ 235mm x 191mm ]
Release Date : April 2013
ISBN : 1782169083
ISBN 13 : 9781782169086
Author(s) : Jobin Kuruvilla
Topics and Technologies : All Books, Application Development, Cookbooks, Enterprise

Table of Contents

Preface
Chapter 1: Plugin Development Process
Chapter 2: Understanding the 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 the JIRA Database
Chapter 11: Useful Recipes
Index
  • Chapter 1: Plugin Development Process
    • Introduction
    • Setting up the development environment
    • Creating a skeleton plugin
    • Adding plugin modules
    • Deploying a JIRA plugin
    • Making changes to and redeploying a plugin
    • Using FastDev for plugin development
    • Testing and debugging
    • Chapter 2: Understanding the Plugin Framework
      • Introduction
      • Architecture explained
      • Types of plugin modules
      • Working with the Plugins1 and Plugins2 versions
      • JIRA system plugins
      • Stable and core APIs
      • Modifying Atlassian bundled plugins
      • 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
      • Capturing plugin installation/uninstallation events
      • 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
        • 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
          • Reordering workflow actions in JIRA
          • Creating common transitions in workflows
          • Creating global transitions in workflows
          • Jelly escalation
          • Chapter 5: Gadgets and Reporting in JIRA
            • Introduction
            • Writing a JIRA report
            • Reports in an 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 JQL queries 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
                • Discarding fields while cloning
                • JavaScript tricks on issue fields
                • Creating issues and comments from an e-mail
                • 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
                  • Use of decorators
                  • 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 the project tab panel using fragments
                  • Adding new tabs in the Browse Version screen
                  • Adding new tabs in the Browse Component screen
                  • Adding issue link renderers
                  • 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
                    • Writing a Java client for the REST API
                    • Creating a SOAP client
                    • Writing a Java XML-RPC client
                    • Working with issues
                    • Working with attachments
                    • Remote time tracking
                    • Working with comments
                    • Remote user and group management
                    • Progressing an issue in a workflow
                    • Managing versions
                    • Managing components
                    • Remote administration methods
                    • Exposing services and data entities as REST APIs
                    • Deploying a SOAP service in JIRA
                    • Deploying an XML-RPC service within JIRA
                    • Chapter 10: Dealing with the JIRA Database
                      • Introduction
                      • Extending the JIRA database with a custom schema
                      • Accessing database entities from plugins
                      • Persisting plugin information in the JIRA database
                      • Using Active Objects to store data
                      • Accessing the JIRA configuration properties
                      • Getting a 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 the 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 a different page in webwork actions
                        • Adding custom behavior for user details
                        • Deploying a servlet in JIRA
                        • Adding shared parameters to the 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
                        • 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.

                        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 5.x Development Cookbook +    HP Network Node Manager 9: Getting Started =
                        50% Off
                        the second eBook
                        Price for both: $53.70

                        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
                        • Put together 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 the 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.

                        "JIRA 5.x Development Cookbook" is a one stop resource to master extensions and customizations in JIRA. 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.

                        "JIRA 5.x Development Cookbook" 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, and so on, and a lot of planning done for the project, 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.

                        "JIRA 5.x Development Cookbook" steers towards programming issues, such as creating, editing, and deleting issues, creating new issue operations, managing the various other operations available on issues via the JIRA APIs, and so on.

                        In the latter half of "JIRA 5.x Development Cookbook", 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.

                        Approach

                        "JIRA 5.x Development Cookbook" 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
                        Resources
                        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