Integrating Atlassian JIRA using Tempo Plugin – Part 1

Bjarni is a senior web application developer and lead programmer for the Tempo Plugin.

Tempo is a JIRA plugin that eases time registration, reporting, and integration with external systems. Integration is very important for most companies, as JIRA does not provide an accounting system, something essential for billing customers and tracking expenditures like sick days and holidays. This article discusses how worklogs entered in JIRA can be integrated with an external system.

Integrating two systems is a fairly complex process; change in one system must be reflected in the other. Tempo, however, allows users to easily change worklogs, whether for something as simple as a spelling correction or the modification of a date, or for more involved tasks, such as deleting a worklog.

Tempo provides several services to integrate JIRA worklogs with external systems. The two main tools for worklog integration are:

  • GetWorklogs
  • UpdateWorklogs

These services are executed on the “other side,” i.e., the external system executes GetWorklogs to get the available worklogs and then calls UpdateWorklogs to sign for delivery, or to notify Tempo of the worklog status in the external system. GetWorklogs uses several parameters such as a date range and diffOnly which filters out worklogs that have changed since the last update. Additional parameters such as validOnly filter out worklogs that are known to give errors in the external system.

The most commonly used scenario is to let Tempo control the dates (open periods) and call GetWorklogs with the diffOnlyvalidOnly and of course format=xml options. Here is an example of how the URL to GetWorklogs is usually defined in the external (calling) system:

http://yourserver.yourdomain/plugins/servlet/tempo-getWorklog/?format=xml&diffOnly=true&validOnly=true

The external system processes the worklogs and calls UpdateWorklogs for all logs processed. The external system must make sure that all processed worklogs are correctly updated. Failure to correctly update a worklog can result in the log being duplicated. It is at the discretion of the external system whether to update all the worklogs in one big update or to process them one at a time.

A detailed description of all the services can be found here. I will describe the other services and how they can be used later.

Update: You can read part 2 here: Integrating Tempo with your business solution

Related Posts

Tags: ,
Bjarni is the team Scrum Master and master of agile best practices. Bjarni has been involved with the Tempo Plugin team since its start few years back, and is a tremendously experienced developer. He has been responsible for the integration of API elements with our key architecture. Bjarni has over 15 years of experience in Java and web application development. Outside of work, you’ll find Bjarni climbing mountains or hiking in the wilderness.

5 Responses

  1. […] I wrote Integrating Atlassian JIRA using Tempo Plugin – Part 1 – here is part […]

  2. One major pitfall of tempo API is the fact that format can not be set to JSON. This would be so much nicer to play with. Is JSON support planned?

    • Bjarki Bjarki says:

      Hi Lukasz,

      Unfortunately this support has not been planned yet. However you can submit a feature request here and have other users vote on the issue and if your feature request is popular then our development team will implement it.
      Hope this helps

      Best regards,
      Bjarki

  3. We are starting up a project, to use Jira in our worldwide Professional Services organisation.
    We are looking at the time entry tools to be used. This will either be a tool in or very close to SAP ECC, which is our system for billing and project administration, or a tool like tempo timesheet in Jira.

    The questions we have are:

    – does the API allow to create worklogs by an interface from another system?
    – does the API allow an update of a worklog by an interface from another system?
    – would the user experience be negativeley affected, having to go to another system for time entry?

    Thank you for your reply!

    • Bjarki Bjarki says:

      Hi Ward,

      No, currently our API does not allow our users to create worklogs by an interface from another system or allow update of a worklog by an interface of another system.

      And yes, I believe that the user experience would be negatively effected by having to another system for time entry.

      If you’re interested in trying out our Tempo products then I strongly recommend that you take advantage of our 30-day free trials available at the Atlassian Marketplace. Just to make sure that our solutions are the right fit for your organization.

      Hope this helps!

      Best regards,
      Bjarki

Leave a Reply

Plan, Budget, Track & Adapt with Tempo for JIRA.


Subscribe to our blog

Get the latest posts delivered to your inbox:

Thank you for signing up!

Please check your email to confirm your subscription.

Select the Tempo products you'd like to hear about:

Tempo Planner Tempo Budgets Tempo Timesheets