Jira plugin not enabling after Jira restart

Sometimes when developing a Jira plugin which creates customfields on installation, it does not enable automatically when Jira app is restarted, the reason being that the code which is used to add the customfields implemented from the class :InitializingBean, maybe with the class :DisposableBean. To remove somethings on plugin disable/uninstall as follows:
Continue Reading →


Creating a Jira plugin which creates screens on installation

Sometimes you want to create a Jira plugin which uses screens on it, but you don’t want to add the screens manually, thus the plugin itself has to install its own screens on installation which it is going to use.

Now in the plugin framework you have a file “atlassian-plugin.xml” which is where you insert modules which are going to be used by the plugin. This line of code:

Continue Reading →


How to create a dashboard in Jira

Ever wondered how to create a dashboard in Jira? You can create your own dashboard or share a dashboard with your team by adding permissions for specific users, groups or project roles to access your dashboard. The first step will be to create a filter. The filter will be specific information you may require. Dashboards work well if you need a specific view or information on a certain project.

Continue Reading →


Jira Plugin Development – Making sense of the Jira Technical Ecosystem

This is the first in a series of articles dealing with Jira plugin development.


Jira is a project tracker web application built by Atlassian in Java, and is used for agile software development by thousands of project teams. Jira can either be used as a hosted application (Jira OnDemand), or can be installed on a local server. Jira OnDemand is ideal for smaller companies that do not want to take on the burden of managing their own server. 



The server requirements for a production system are:
[list_icon color=”blue” type=”icon_arrow”]

  • a Linux, Solaris or Microsoft Server based server
  • a suitable Java platform (JDK or JRE)
  • the Apache Tomcat application server
  • Oracle, My SQL, PostgreSQL or Microsoft SQL Server Database


Most modern browsers are supported on the client side, a minimum screen resolution of 1024 x 768 and Javascript support is required. More details on the specific version requirements can be found on the Jira website.


Architectural Overview

Jira is deployed as a standard Java WAR file, and is built on the following:

[list_icon color=”blue” type=”icon_arrow”]

  • WebWork, a Java web application framework (webwork1 is used)
  • Seraph, used for web authentication
  • Embedded Crowd, used for identity and user management
  • PropertySet, used to store key/value pairs
  • Active Objects, a new Object Relational Mapping layer used by plugins
  • 100s of Java classes, used to implement business logic (core and manager classes)
  • Apache Lucene, used for searching
  • JSP and Velocity, used for view templates
  • Quartz, used for job scheduling
  • OSWorkflow, a workflow API providing a very flexible workflow implementation
  • OFBiz (Apache’s Open for Business Project), open source enterprise automation software


In addition to the above, Atlassian has also introduced a Gadget Javascript Framework that can be used for the development of gadgets.


Plugin Development

The Atlassian Marketplace is the preferred distribution channel for custom plugins, both for free open-source or commercial add-ons. Various plugin modules are supported for functional areas such as reporting, workflows, custom fields, searching, remote access, as well as links and tabs. There are different versions of the Atlassian Jira Plugin Development Platform, each with a specific set of component versions. 

The major components in the platform for Jira Plugin Development are:

[list_icon color=”blue” type=”icon_arrow”]

  • Shared Access Layer (SAL), the API for accessing common services
  • Atlassian User Interface (AUI), set of reusable Javascript and CSS UI components
  • Atlassian Template Renderer (ATR), API for rendering textual content
  • Atlassian Event, library that allows plugins to send and consume internal messages
  • Activity Streams, API for sending and consuming activity streams
  • Gadgets, framework for developing OpenSocial gadgets
  • Universal Plugin Manager (UPM), tool for installing and managing plugins
  • Atlassian REST Plugin Module, create plugins points easily by exposing service and data entities
  • Trusted Apps, protocol for authenticating Atlassian applications
  • Application Links (AppLinks), a module that allows connection to external Atlassian applications
  • OAuth, the Atlassian implementation for accepting and sending authenticated requests
  • Plugin Framework, the framework that executes the plugins and manages available plugin modules
  • Active Objects, an ORM layer used for plugin data storage
  • SpeakEasy, an experimental extension mechanism for plugin prototyping
  • Jira Issue Collector, library for collecting user feedback from any page


Some Trivia

Jira is pronounced ‘JEEra’, based on the pronunciation of Kujira, which is Japanese for ‘whale’. Jira is used by companies such as NASA, Cisco, BMW and Facebook to manage their product development teams.


Jira Developer Resources

[list_icon color=”blue” type=”icon_arrow”]



Enhanced by Zemanta

Online Agile Project Management Tools

There are a number of online agile applications to assist with the management of agile software development projects. We’ll focus on agile tools that we’ve used on internal and external projects, namely Jira/Greenhopper, Pivotal Tracker and Trello.

Jira with Greenhopper

Greenhopper Agile tool

At Infoware Studios, we use Jira for all our projects. Jira is built around issues, which are captured, prioritised and assigned to team members. It is arguably the most powerful of the three systems. It allows one to customise workflow steps, manage teams and integrate with git, to name but a few features. 

Greenhopper then adds a wide selection of agile project management capabilities to Jira, for example:

[list_icon color=”blue” type=”icon_arrow”]

  • it can be used for scrum or Kanban projects
  • facilitates the building of a backlog by creating user stories
  • stories can be prioritised in the backlog by dragging and dropping, and estimated with ease
  • team members can visually update progress by moving stories
  • visualise processes across multiple Jira projects on a single board


Jira does not have any free pricing options, and starts at $50 per month. GreenHopper starts at $10 per month (pricing as at time of writing).

Pivotal Tracker

Pivotal Tracker agile toolPivotal Tracker has similar features to Jira/GreenHopper, the most obvious difference is the presentation of stories. It is a great tool for distributed teams, offering real-time collaboration with one of the best overview or dashboard displays. 

Pivotal tracker is free for public projects, individuals, non-profits and academic institutions. Pricing for teams start at $7/month for 3 collaborators (pricing as at time of writing).


trello agile tool

trello agile tool1

Trello has a very simple Kanban interface, making it a great tool for smaller projects and teams. 

It has some nice features for teams, such as voting, notifications and real-time collaboration. The default lists (swimlanes) are set up for Kanban, but one can easily add new lists for customized workflows. 

Trello offers a free version as well, and a single Business Class option for $25/month (pricing as at time of writing).

We recommend Jira with GreenHopper, here is an easy to use comparison tool between GreenHopper and some of the other options, such as Pivotal Tracker, Rally and VersionOne:


 Additional Resources:

[list_icon color=”blue” type=”icon_arrow”]


What others are saying: 

[list_icon color=”blue” type=”icon_arrow”]



Enhanced by Zemanta

Agile Marketing – JIRA project management tool

The agile way

At Infoware Studios, everything we do is managed by using an agile approach, including our marketing department. Not only are we fiercely passionate about agile, but we practise what we preach as well and follow agile principles in all our projects.

As someone who is new to agile, software development and the like, I speak from a non-technical perspective. As the marketer for Infoware Studios, I found that agile was a really productive way of managing and executing tasks and that it could apply to any field or industry, not just software development.

Using JIRA

So we implemented an agile approach in our marketing activities primarily using JIRA, the project and issue tracking software by Atlassian. JIRA is an excellent project management tool that allows you to create high level topics (called Epics), and then create tasks to be actioned under those topics (called Issues). Tasks can be assigned to people in your team. You can then create a weekly (or bi-weekly if you want) to-do list known as a Sprint, where you add all the tasks that need to be actioned in this time frame.  You then move the tasks, based on your activity, through the To-Do, In Progress and Done columns. Columns can be added, removed and renamed, so they don’t need to necessarily be the same as those mentioned. JIRA also allows you to draw reports and include more than one project on your overall view.

JIRA has much more functionality than the above basics and is often used in software development. However, for someone in a non-IT related field, it works perfectly for project management and can help you increase your productivity and manage your time, as well as creating visibility on the work that you do.

Find out more

Infoware Studios offers JIRA training for those who are interested in utilising this agile tool within your own businesses. Feel free to contact us if you are keen.


Enhanced by Zemanta

Increasing JIRA memory

(Seeing OutOfMemoryErrors in the logs or Jira slows down is symptomatic of this.)

Java applications like JIRA and Confluence run in a “Java virtual machine” (JVM), instead of directly within an operating system. When started, the Java virtual machine is allocated a certain amount of memory, which it makes available to applications like JIRA. By default, Java virtual machines are allocated 64 MB of memory, no matter how many gigabytes of memory your server may actually have available. 64 MB is inadequate for medium to large JIRA installations, and so therefore JIRA memory needs to be increased.

Step 1: Diagnosis


Determine JIRA usage patterns

To determine the JIRA usage patterns:
Choose the cog icon at top right of the screen, then choose JIRA Admin. Then choose System > Troubleshooting and Support > System Info (tab) to open the ‘System Info’ page. Then scroll down the page to view the Java VM Memory Statistics section and look at the memory graph during times of peak usage:

Increasing JIRA Memory1

This server has been allocated a maximum of 768 MB and a minimum of 256 MB (typically defined in the setenv script which is executed by running the start-jira script). If you are trying to see whether your settings are being picked up by JIRA, this is where to look. Here, you can see that JIRA has reserved 742 MB, or which 190 MB is actually in use. If this JIRA instance were running out of memory, it would have reserved the maximum available (768 MB), and would be using an amount close to this.

Determine available system memory on Windows

From the Close Programs Dialogue (Press ctrl-alt-delete), select the Performance tab:

Increasing JIRA memory Performance tab

The amount marked Available is the amount in kilobytes you have free to allocate to JIRA. On this server we should allocate at most 214 MB.


As a rule of thumb, if you have fewer than 5000 issues, JIRA should run well with the default 768 MB. Granting JIRA too much memory can impact performance negatively, so it is best to start with 768 MB and make modest increases as necessary. As another data point, 40,000 works well with 768 MB to 1 GB.

Step 2: Increasing available JIRA memory


Windows Service

There are two ways to configure system properties when starting Running JIRA as a Service, either via command line or in the Windows Registry.

Setting Properties for Windows Services via Command Line as an administrator

Identify the name of the service that JIRA is installed as in Windows (Control Panel > Administrative Tools > Services):

Increasing JIRA memory - control panel

In the above example, the SERVICENAME is: JIRA120312230938

[list_icon color=”blue” type=”icon_arrow”]

  • Open the command window from Start > Run > type in ‘cmd’ > press ‘Enter’
  • cd to the bin subdirectory of your JIRA Installation Directory (or the bin subdirectory of your Tomcat installation directory if your are running the JIRA WAR distribution). For Example:
    cd C:\Program Files\Atlassian\JIRA\bin
  • For JIRA 5.1 or below:
    tomcat6w //ES//%SERVICENAME%
  • For JIRA 5.2 or above:
    tomcat7w //ES//%SERVICENAME%


In the above example, it would be tomcat6w //ES//JIRA120312230938

Increasing JIRA memory - command prompt

[list_icon color=”blue” type=”icon_arrow”]

  • Click on the Java tab to see the list of current start-up options:

Increasing JIRA memory - Java tab

  • Set the maximum memory allocation here.



Enhanced by Zemanta
Page 1 of 2 12