Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Include Page
Tempo for Data Center Header
Tempo for Data Center Header

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.

...

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.

...

An important part of integration is of course the development and testing! The Tempo API provides 2 important features to aid developers during development and testing:

  1. Specifying the format=testData parameter to GetWorklogs creates an XML that can be used as input to UpdateWorklogs

    1. Example: http://localhost:8080/plugins/servlet/tempo-getWorklog/?dateFrom=2011-01-01&dateTo=2011-01-31&format=testData

  2. Opening http://localhost:8080/plugins/servlet/tempo-updateWorklog/ in a browser opens a simple page where the developer can paste update XML and POST to Tempo

How to create a worklog "warehouse"

Some of our larger customers (including TM Software itself) need much more powerful reporting than Tempo or any other JIRA plugin provides. These customers use the Tempo API to populate a "warehouse" and do their data crunching on the exported data with specialized reporting tools. Tempo eases this integration by adding several parameters to GetWorklogsthat add information to the worklogs. Examples:

  • addBillingInfo

  • addIssueSummary

  • addIssueDetails

  • addWorklogDetails

  • addUserDetails

Tempo also provides 2 additional functions that can be useful when populating a "warehouse":

  • BillingKeyList: returns a detailed list of all billing keys (expenditure items) in Tempo.

  • HolidayList: returns a list of all holidays specified in Tempo. This is useful when calculating for example workload and staff utilization.

How to create (simple) reports based on billing key (expenditure item)

...

A Tempo customer has generously shared his version of Tempo reports that he creates with some PHP and XSL. You can download his reports here and start extending/customizing for your needs.