The main advantage of JIRA, by comparing to the most of other Java Workflow engines, is that it is an issue centric system. It does not only provide workflow management for issues, but also provides other issue oriented functionalities such as reporting, searching, tracking, authorizing, assigning and timing etc. A thorough discussion can not be covered by blogs. Here I plan use a few blogs to highlight (or provide some links) a few things when customizing JIRA as part of your software application.
JIRA has three different flavours, JIRA Core, JIRA Software and JIRA Service Desk. At the time of writing, JIRA Core is not a standalone product and it is used as the foundation of the latter two products. JIRA Software pre-bundles software development plugins such as the agile, scrum and bug tracking functionalities. JIRA Service Desk pre-bundles some IT or support desk related functionalities. One big sale point of the JIRA Service Desk is that it integrates a customer portal, which can be used for expose some controllable and customizable information to your customers.
You can try any edition of JIRA for one month for free. Or you can pay $10 for a perpetual license.
If your product requires high scalability and reliability, you can consider the clustered data center version, which of course costs much more.
Install and Run
JIRA can be downloaded from Atlanssian website. You can run its installer to install it. Some of the key concepts during installation are:
- JIRA installation directory, where you install JIRA application to
- JIRA_HOME, where you store JIRA configuration (such as how to connect to DB, logs, scripts, attachment, and avatar etc.)
- Install as service vs standalone: Install as service gives you better log output
- DB: it uses the embedded H2 by default. You can overwrite it at the end of the installation. You can also change the database after installation but it requires more steps.
- It also requires you to set up an admin account. Remember your password. Otherwise you need to reset it with a few steps involving SQL.
Once installed, you can log into your JIRA by http://localhost:portNumber. Once logged in, you’d better to change the base url to http://yourHostName:port if you want other people to access it (Settings->System->Base URL).
You can find many useful third party plugins for your development or business purpose. You can go to Atlanssian Marketplace to find them. From your JIRA, you can go to Settings->Add-ons->Find new add-ons.
Two useful plugins I have tried are ScriptRunner for JIRA and Configuration Manager. Both vendors provides good web materials and excellent customer support. The ScriptRunner provided many build-in script for you to customize your fields and workflow. And it also provide the capability to provide more complicated Groovy script. The latter one let you easily manage most of your configuration, for example, generating system level or project level configuration snapshot and deploy the snapshot to different JIRA server instances. More on those two plugins later.
If you can not find any plugin fit in your specific needs, you can always write your plugin to access many JIRA resources. More on this topic later.
Develop your JIRA Data Model (Later)
- JIRA data model
- System configuration
- Project configuration
Talk to your JIRA (Later)
- Web UI
- REST APIs
Version Control Your Code (Later)
Deploy Your Release (Later)