In this page

What is Tempo Timesheets?

(supported since Better Excel Exporter 3.1.0)

Tempo Timesheets is the most widely used time tracking solution for Jira.

Tempo Timesheets integration features

  • You can export Tempo Timesheets-managed custom field types, like Account, Team, etc. to Excel.
  • You can export Tempo Timesheets-managed worklogs to Excel. Exporting custom work attributes is optional.
  • You can filter Tempo Timesheets worklogs by start date and end date.
  • You can export worklogs created by all users or the current user only.
  • You can implement other types of custom filtering, for example excluding the non-billable worklogs.
  • Better Excel Exporter also offers ready-made report templates to report spent time by projects, assignees, accounts and teams. Although these are useful as is, they can also be used as a starting point to create custom Excel reports from Tempo Timesheets data.
  • Known limitation: you cannot start exports directly from the Tempo Timesheets screens, because Tempo Timesheets for Jira Cloud does not allow extending its interface by external actions. We will absolutely implement Excel export also for these screens as soon as they support external actions. Note that only the Tempo Cloud team can remove this blocker.
    To indicate its importance:
    1. Please vote on the corresponding idea on the Tempo Ideas portal. Leave a comment explaining your use case and its impact on your team's work. The more votes and comments this feature request receives, the higher probability it will be implemented. Voting and commenting takes only 2 minutes of your time, and it also makes sure you will get notified when there is an update.
    2. Also, there is a counter-part feature request at Midori. Although the Tempo feature request must be solved first, we use this one to collect feedback and interest on our side. Vote for this by clicking the "thumbs-up" icon, add your use case as a comment and click "Follow". All future updates on this story will be posted there.

(Need more features? Tell us in a support ticket!)

Tempo Timesheets integration vs. the Tempo Timesheets built-in Excel exports

You may want to ask: if Tempo Timesheets has a built-in Excel export feature, why would you use another app for the same?

While the Tempo Timesheets built-in Excel exports may be sufficient for basic use cases, the Better Excel Exporter integration is more powerful in, at least, these:

If at least one of these is important for you, give the app a try.

Tutorial video

Create custom worklog reports from Tempo Timesheets data! (Although the video below was captured about the app's Server version, the Cloud version is very similar. The only major difference is that in the Cloud version you cannot export directly from the Tempo Timesheets screens, due to a limitation in Atlassian Connect.)

Tempo Timesheets Excel export samples

Tempo time estimate vs. time spent report

The tempo-report.xlsx exports the high-level Time Estimate and Time Spent values augmented with the Tempo Timesheets-managed data (Account, Team) for each Jira issue. It offers various pre-configured pivot tables, or can be cloned to create your own Tempo Timesheets Excel reports.

jira-tempo-timesheets-report.xlsx

Tempo accounts pivot chart

Account is a grouping concept specific to Tempo Timesheets, yet fully supported by Better Excel Exporter for Jira. This pivot chart example displays the worklog time values aggregated (SUM) by the Tempo Timesheets Account field.

jira-tempo-timesheets-report.xlsx

Tempo teams pivot chart

This is another example of exporting Tempo Timesheets-managed data from Jira to an Excel report. This chart shows the total estimated time and total spent time by Tempo teams.

jira-tempo-timesheets-report.xlsx

Configuration

Configuring the Tempo Timesheets custom fields

There is nothing to do. Better Excel Exporter will automatically recognize the Tempo Timesheets-managed fields and export them accordingly.

Configuring the Tempo Timesheets REST API access

As this integration relies on the Tempo Timesheets REST API, you need to configure the access token for the REST API calls in the templates:

  1. Go to Jira → AppsTempoSettingsAPI Integration.
  2. Click New Token.
  3. Enter a name for the token. (Recommendation: "Better Excel Exporter".)
  4. Set a desired expiration date. (Recommendation: select the maximum.)
  5. Under Custom access, check all "View xxx" permissions.
  6. Click Confirm.
  7. Copy the access token from the panel to the clipboard, and click Close. (From this point, don't overwrite the clipboard until the end of the guide, otherwise you may lose the access token!)
  8. Still on the Settings page, go to Permission Roles.
  9. Click Add permission role in the top right.
  10. Enter a name for the role. (Recommendation: "Better Excel Exporter".)
  11. Check the "View Worklogs" permission.
  12. Click Add users, and add your user account. (As you created the access token, it will grant the "view worklogs" permission to the token, too. And, using the token, the app will be able to access and export everyone's worklogs!)
  13. Click the check mark icon "✔" to save your changes.
  14. Click the cog icon "⚙" in the top right → AppsExcel Templates (under Better Excel Exporter).
  15. Open the tempo-tool.groovy template for editing, uncomment this variable in the top part, and paste the access token from the clipboard to the value (don't remove the quotation marks around the string!):
    // tempo-tool.groovy
    
    /* Tempo Timesheets REST API authentication. */
    def tempoAccessToken = '3022ac1e-db73-4c54-9c15-cceccbb94554'
    
  16. Save the changes. (Don't worry about storing tokens here: this file is visible only for Jira administrators, who would have super-user permissions anyway.)

After you set up the Tempo Timesheets REST API access, you may want to configure the details of exporting the worklogs. There are several straightforward configuration parameters in the top part of the tempo-tool.groovy script.

Configuring the period filter for Tempo Timesheets worklogs

You can configure a time period, and the tempo-tool.groovy script exports only the worklogs in that time period. The time period is specified by its start date and end date.

You can configure the period by setting these values in the templates:

// tempo-tool.groovy

/* Configuration. */
def dateFrom = '2000-01-01' // start date for the exportable Tempo Timesheets worklog period
def dateTo = '2099-12-31' // end date for the exportable Tempo Timesheets worklog period

Configuring the user filter for Tempo Timesheets worklogs

The tempo-tool.groovy script can be configured to export the worklogs of only one specific user.

You may want to disable this filtering in Tempo Timesheets contexts, in order to export the worklogs for all users. The most typical use case example is creating a monthly report that accumulates the work of every team member. To disable the filtering, set this configuration variable to false:

// tempo-tool.groovy

def tempoFilterByUser = false // set to "true" to export the Tempo Timesheets worklogs of the current user only, or "false" to export everyone's

Configuring the pre-loader for Tempo Timesheets worklogs

To minimize the number of Tempo Timesheets REST API calls, thus to achieve the best performance, the worklogs are pre-loaded for all issues by one or more optimized REST API calls. One REST API call bulk-loads the worklogs of multiple issues. Therefore, the total number of REST API calls depends on the total number of issues.

When the REST API call is made, the issue IDs are passed in the URL. It can eventually lead to "URL is too long!" problems if your issue IDs are overly long, which could theoretically happen if your Jira instance has a huge number of issues. The number of issue IDs passed in one REST API call is configurable in the top part of the tempo-tool.groovy script:

// tempo-tool.groovy

/* Maximum number of issue IDss to pass in the URL in a single REST API call. */
def ISSUE_IDS_PER_REQUEST = 50

Configuring the Tempo REST API version

The REST API version can be changed with the following configuration option in the tempo-tool.groovy script:

// tempo-tool.groovy

def TEMPO_REST_API_VERSION = "4" // change to "core/3" to revert to the previous REST API version (as long as it's available for your site)

Troubleshooting

I see "Worklog created by Tempo!" warning messages in the exported Excel files.

You will see this error message when your worklogs were created with Tempo Timesheets, but you are trying to export them using an Excel template which was designed for Jira built-in worklogs.

Solution: make sure that you're using a template that was designed for Tempo Timesheets worklogs. For example, instead of issue-navigator-with-worklogs.xlsx use the equivalent issue-navigator-with-tempo-worklogs.xlsx which supports Tempo Timesheets.

I see "java.io.FileNotFoundException: https://api.tempo.io/core/3/..." errors in the exported Excel files.

This error means that the v3 REST API is not available for your Jira instance anymore, but you are still using an outdated version of the tempo-tool.groovy script. You need to update it to the latest version available in the version history page (look for the ZIP archive for the most recent version with upgrade steps).

If you switch to the v4 REST API and you have custom templates, you might have to adjust them. To see what changes you have to apply, review and compare both REST API version's documentation:

Learn more about Tempo Timesheets