JIRA Development Cookbook

Front Cover
Packt Publishing Ltd, Nov 24, 2011 - Computers - 476 pages
0 Reviews
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 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.

What people are saying - Write a review

We haven't found any reviews in the usual places.

Selected pages


Configuring user preferences in gadgets
Accessing gadgets outside of JIRA
Chapter 6 The Power of JIRA Searching
Writing a JQL function
Sanitizing JQL functions
Adding a search request view
Smart querying using quick search
Searching in plugins

Reader feedback
Customer support
Downloading the example code for this book
Chapter 1 Plugin Development Process
Setting up the development environment
Creating a skeleton plugin
Deploying a plugin
Making changes and redeploying a plugin
Testing and debugging
Chapter 2 Understanding Plugin Framework
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
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 41x
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
Writing a workflow condition
Writing a workflow validator
Writing a workflow post function
Editing an active workflow
Making an issue editablenoneditable based on workflow status
Includingexcluding 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
Jelly escalation
Chapter 5 Gadgets and Reporting in JIRA
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
Parsing a JQL query in plugins
Linking directly to search queries
Index and deindex programmatically
Managing filters programmatically
Subscribing to a filter
Chapter 7 Programming Issues
Creating an issue from a plugin
Creating subtasks on an issue
Updating an issue
Chapter 8 Customizing the UI
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 dropdown 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 notificationswarnings on issues
Reordering Issue Operations in the View Issue page
Reordering fields in the View Issue page
Chapter 9 Remote Access to JIRA
Creating a SOAP client
Creating an issue via SOAP
Working with custom fields and SOAP
Chapter 10 Dealing with a Database
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
Chapter 11 Useful Recipes
Writing a service in JIRA
Adding configurable parameters to a service
Writing scheduled tasks in JIRA
Writing listeners in JIRA
Customizing email 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 JIRAs default components in plugins
Creating issues and comments from email
Internationalization in webwork plugins

Other editions - View all

Common terms and phrases

About the author (2011)

Jobin Kuruvilla is an Atlassian Consultant who is experienced in customizing JIRA and writing JIRA plugins for various customers. He is working with Go2group, a premier Atlassianpartner and is involved in managing Atlassian products for big enterprises to small starter license installations. Jobin had started his career as a Java/J2EE Developer in one of the biggest IT companies in India. After spending the initial years in the SOA world, he got hooked into this amazing product called JIRA, which he came across during the evaluation of third-party products for a requirements management solution. Soon Jobin realized the power of JIRA and pledged to spread the word. He has been doing it ever since, and reckons there is a long way to go! Jobin runs a website named "J Tricks - Little JIRA Tricks" (http: //www.j-tricks.com). He has written numerous tutorials to help the developer community, who he thinks has contributed immensely to his personal development. It is indeed those tutorials that sowed the first seeds for this book.

Bibliographic information