Using WorklogPRO Attribute in Jira Automation

Using WorklogPRO Attribute in Jira Automation

Using the “Send web request” feature in Jira Automation, it is possible to retrieve worklogs with associated worklog attributes and accounts for a specific issue and process them dynamically.This lets you to use worklog attributes and account information in Jira Automation filters, or actions. By applying filters based on WorklogPro attributes or accounts, the relevant data can be refined, enabling the automation to trigger appropriate actions such as updates, notifications, or integrations with external systems.

Example Use Case: Sending Billable Report as an Email When the Issue is Resolved

To streamline the invoicing process, we have implemented an example automation rule that filters WorklogPRO attributes to capture billable efforts and provides stakeholders with a comprehensive report once a task is transitioned to Done.

1.Defining the WorklogPRO Attribute

This automation is based on a Boolean attribute in WorklogPRO that users set when logging time. It is used to separate Billable and Non-Billable work in this example. When time is logged, the user simply checks or unchecks a checkbox, and this value is stored as part of the worklog data. The automation then uses this information to filter worklogs. The main benefit is that only “true” (Billable) entries are retrieved from issues that may contain different types of worklogs, ensuring more accurate financial reporting.

To apply this filtering correctly, the ID of the attribute defined as “Billable” is required. This attribute ID can be identified from the worklog properties of the related issue, allowing the automation to reliably target and evaluate the correct field during processing.

Example issue view with billable information;

image-20260424-123345.png

 

2.Trigger: Work Item Transitioned

The automation is triggered when a work item's status is changed to Done. This ensures that the report is generated only after all worklogs have been finalized for the resolved issue.

image-20260424-123823.png

3.Action: Send Web Request

Since billable attributes are stored as metadata, the rule sends a GET request to the Jira API to retrieve the worklog details.

URL: https://your-domain.atlassian.net/rest/api/3/issue/{{issue.key}}/worklog?expand=properties

Key Configuration: The "Delay execution of subsequent rule actions until we've received a response for this web request" option is enabled to ensure the API response is fully received before the email is sent.

To retrieve these attributes, a Send Web Request action is used to query the Jira API. A key feature of this step is the "Validate Web Request Configuration" tool, which allows you to test the connection using a specific issue key that contains billable worklogs. By validating the request, you can inspect the actual JSON response to locate the exact attribute IDs and data structures. This step is essential for confirming how the information is nested, enabling you to accurately map fields like author, time spent, and comments in the subsequent email action.

image-20260424-124039.png

Example response for the issue with the key IWM-6:

{ "startAt": 0, "maxResults": 5000, "total": 3, "worklogs": [ { "id": "13733", "issueId": "12123", "timeSpent": "1h", "timeSpentSeconds": 3600, "started": "2026-04-24T14:07:50.324+0300", "created": "2026-04-24T14:08:02.160+0300", "updated": "2026-04-24T14:08:02.160+0300", "comment": "Non billable", "author": { "accountId": "ABC", "displayName": "Gökçe Karaduman" }, "properties": [] }, { "id": "13766", "issueId": "12123", "timeSpent": "1d 1h 30m", "timeSpentSeconds": 28800, "started": "2026-04-21T15:17:00.000+0300", "created": "2026-04-24T15:18:08.012+0300", "updated": "2026-04-24T15:18:53.930+0300", "comment": "Successfully implemented the backend logic for the Stripe OAuth 2.0 token exchange flow...", "author": { "accountId": "ABC", "displayName": "Gökçe Karaduman" }, "properties": [ { "key": "worklogpro", "value": { "version": 3, "account": "dcb321bf-38ee-47fa-8988-af4a9c9a2e3d", "attributes": { "3efbeeb5-46d1-4ad7-b0f7-105c2b95ec24": true } } } ] }, { "id": "13767", "issueId": "12123", "timeSpent": "6h", "timeSpentSeconds": 21600, "started": "2026-04-24T15:18:24.290+0300", "created": "2026-04-24T15:18:41.087+0300", "updated": "2026-04-24T15:18:41.087+0300", "comment": "Developed and integrated the frontend UI components required for the Stripe payment gateway connection...", "author": { "accountId": "EDF", "displayName": "Jessie Lauren" }, "properties": [ { "key": "worklogpro", "value": { "version": 3, "account": "dcb321bf-38ee-47fa-8988-af4a9c9a2e3d", "attributes": { "3efbeeb5-46d1-4ad7-b0f7-105c2b95ec24": true } } } ] } ] }

4.Action: Send Email with WorklogPRO Logic

The email template uses advanced Smart Values to filter worklogs based on the WorklogPRO "Billable" attribute.

  • Filtering Logic: It checks for the specific attribute UUID: {{#if(properties.first.value.attributes."3efbeeb5-46d1-4ad7-b0f7-105c2b95ec24")}}

As you can see in the example response above, the Billable check is controlled by the attribute ID "3efbeeb5-46d1-4ad7-b0f7-105c2b95ec24". Since this ID will be different for each environment, you should use the specific Boolean-type attribute ID that is defined as “Billable” in your own configuration. This ID can be identified from the worklog properties of the issue in your system.

  • Dynamic Content: The email lists the author, time spent, and comments only for those worklogs marked as billable, providing a clean and accurate report for invoicing.

image-20260424-131233.png

Example content;

Hello Team, The following issue has been marked as "Done" on {{now.format("EEEE, MMMM dd, yyyy 'at' HH:mm z")}}. Below is the detailed summary of the issue and the breakdown of billable efforts recorded for invoicing purposes. -------------------------------------------------- 📌 ISSUE DETAILS -------------------------------------------------- • Issue Key: {{issue.key}} • Summary: {{issue.summary}} • Status Changed By: {{initiator.displayName}} • Priority: {{issue.priority.name}} -------------------------------------------------- ⏱️ BILLABLE WORKLOGS: {{#webhookResponse.body.worklogs}} {{#if(properties.first.value.attributes."3efbeeb5-46d1-4ad7-b0f7-105c2b95ec24")}} 👤 {{author.displayName}} ⏳ {{timeSpent}} 📝 {{comment.content.first.content.first.text}} -------------------------------------------------- {{/}} {{/}} Please process this information for the upcoming billing cycle. Best regards, Jira Automation System

Result

As a result, after the transition to Done occurs, this automation rule filters the billable worklogs in the related issue and collects their details. It then sends an email to the relevant users (such as the accounting department) containing the information of these filtered billable worklogs. The email sent is shown as in the example below.

image-20260424-131036.png