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.
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.
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: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: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:
|
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:
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.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