Tempo Timesheets Export Bulk Jobs

Adding New Job

Use Bulk Jobs functionality to pull data from Tempo (using their API) or Jira Worklogs (using JQL) and push to target systems (e.g. Workday Timesheet, UKG, etc).

To define a Bulk Job, select “Bulk Jobs” menu in OnLink and click on Add New. Then select the source data - you use select Tempo if you’re using that app or simply JQL to define the JQL that pulls worklogs.

image-20241226-012331.png

Tempo Timesheets

OnLink pulls approved timesheets for selected teams and periods from Tempo. Users can optionally supplement Tempo timesheet and worklog data from JSM Assets as well Jira issues before pushing data to target systems like Workday Time Tracking.

Here are the steps to configure Tempo source.

image-20241226-012744.png

Attribute

Description

Attribute

Description

config:teams=all

Set to pull teams from Tempo, set it to “all” to pull all teams from Tempo

Can also be set to a comma separated string to pull a few specific teams e.g. config:teams=9283,9230

config:periods=previous_month

Set to pull periods to process. Set it to keywords previous_month or previous_week to automatically pull relevant periods.

Can also be set to a specific period e.g. config:periods=2024-01-01,2024-01-07 where 2024-01-01 is from date and 2024-01-07 is end date.

config:worker_aql=workspace id|object name|filter attribute

The “worker_aql” can optionally be used to pull any data attributes from JSM Assets. This pulls data based on Jira user filter. Set three attributes for this configuration:

  1. workspace id - use the link in help text to get the workspace ID

  2. object name - name of your assets object

  3. attribute - name of object attribute of type Atlassian user

filter:timesheet_approval_status=APPROVED

Set this to filter Tempo timesheets - in this example, only APPROVED timesheets will be processed

filter:worklog_attributes_key=activity|development,design

Set this to filter worklogs - in this example, only those worklogs that have the “activity” attribute set to development or design will be processed

{WorkerAssetsData/asset attribute}

Use this syntax in the target message mapping to map object attribute.

{worklogIssueFields/customfield_10134}

Use this syntax in the target message mapping to map issue fields.

Jira Worklogs - JQL

Here’s the configuration for JQL.

You can use a JQL to return all issues that have worklogs you want to process. A couple of examples:

  1. worklogDate >= startOfWeek(-1) AND worklogDate <= endOfWeek(-1) - pulls all worklogs entered last week i.e., Monday, 12:00 AM of the prior week to Sunday, December 3, 2024, at 11:59 PM.

  2. worklogDate >= {last_successful_rundate} - use the last successful date managed by OnLink.

Using option 1 is preferable as all worklogs entered for previous week are captured. This assumes that employees do not go back more than one week in the past to enter time. This can be changed to month or other dates as per customer’s requirements.

You can specify the webservice request body as shown below. If {worklog.<field>} is used, then OnLink will automatically pull all worklog entries, as each issue can have more than one worklog.

The {worklog.author.accountId.getid('workspaceid', 'asset object name', 'atlassian user object name')} can be used to reverse map Jira User ID to Workday ID. This mapping is driven from JSM Assets object that maps Jira User to Workday ID. Note that the Workday ID field should be the label on the object. To get the Workspace ID, you can run this URL: https://yourinstancename.atlassian.net/rest/servicedeskapi/assets/workspace