Automation smart values - Atlassian Projects
Smart values let you access and use data from your project inside an automation rule. When a rule runs, each smart value is replaced with real data from the project that triggered it.
This page lists the smart values that are available for Projects:
{{atlassianProject}}- Returns the project that triggered the rule. Use it to access any attribute of the project, not just the fields that changed.{{projectFieldChanges}}- Returns a list of the fields that changed, each with its old and new value.
Atlassian project fields
The Atlassian Project smart values are used to access information related to the flow's active project, which is the project the flow is currently acting on.
The information that you can access on the project are described in the Available properties section below. Some project properties are more complex, and they've been further described in the Examples sections on this page.
Smart value | Description |
|---|---|
| Project key (e.g. "ATLAS-1") |
| Display name of the project |
| Browser link to the project in Atlassian Home |
| Access level: who can view and edit the project (OPEN_EDIT, OPEN_VIEW or RESTRICTED) |
| Whether the project is archived |
| Whether the project is private |
| ISO-8601 date the project was created |
| ISO-8601 date the project started |
| ISO-8601 instant of the most recent published update |
| Total number of users following the project |
| Total number of user-authored updates on the project |
| The list of tags applied to this project To use each tag individually (e.g. in a message), use {{#atlassianProject.tags}}{{.}}{{/atlassianProject.tags}}. |
Linked goals - {{atlassianProject.linkedGoals}} (list)
Smart value | Description |
|---|---|
| Goal key (e.g. "OBJ-7") |
| Goal name |
| Browser link to the goal |
| Goal's current status Possible values: on_track, at_risk, off_track, done, paused, pending, cancelled, archived |
| Goal OKR score between 0.0 and 1.0 |
| Goal's target date as displayed in the UI, e.g. Oct-Dec |
| Precision of the goal target date Possible values: DAY, MONTH or QUARTER |
| ISO-8601 start of the goal target date range |
| ISO-8601 end of the goal target date range |
| Atlassian account ID of the goal owner |
| Display name of the goal owner |
| Avatar URL of the goal owner |
| Email address of the goal owner when available |
Linked Jira work items - {{atlassianProject.linkedJiraWorkItems}} (list)
Smart value | Description |
|---|---|
| Work item key, e.g. "PROJ-123" |
| Browser link to the work item |
| Issue summary |
| Whether the work item is resolved |
| Work item type name, e.g. "Story" |
| Priority of the work item. e.g. "High" |
| Status of the work item |
| Atlassian account ID of the assignee |
| Display name of the assignee |
| Avatar URL of the assignee |
| Email address of the assignee when available |
Links - {{atlassianProject.links}} (list)
Smart value | Description |
|---|---|
| URL of the link |
| Type of the link denoting its relationship to the project Possible values: RELATED, WORK_TRACKING |
Owner - {{atlassianProject.owner}}
Smart value | Description |
|---|---|
| Atlassian account ID of the project owner |
| Display name of the project owner |
| Avatar URL of the project owner |
| Email address of the project owner when available |
Risks - {{atlassianProject.risks}} (list)
Smart value | Description |
|---|---|
| Short risk title |
| Longer risk description |
| The risk description in raw ADF (Atlassian Document Format) JSON Use {{atlassianProject.risks.get(N).description}} for plain text. |
| ISO-8601 instant the risk was reported |
| ISO-8601 instant the risk was resolved; absent when unresolved |
| Whether the risk has been resolved |
| Atlassian account ID of the risk reporter |
| Display name of the risk reporter |
| Avatar URL of the risk reporter |
| Email address of the risk reporter when available |
Status - {{atlassianProject.status}}
Smart value | Description |
|---|---|
| Returns the project's status as displayed in the UI Possible values: On track, At risk, Off track, Completed, Pending, Paused, Canceled |
Target date - {{atlassianProject.dueDate}}
Smart value | Description |
|---|---|
| Due date as displayed in the UI, e.g. Oct-Dec |
| Precision of the target date Possible values: DAY, MONTH, QUARTER |
| ISO-8601 start instant of the target date range |
| ISO-8601 end instant of the target date range |
Trigger-specific smart values
Project field value changed trigger - {{projectFieldChanges}} (list)
When project fields change, you can reference their previous and new values in any subsequent action or condition that supports smart values (e.g. sending a message to include what has changed).
Each change is exposed as an item in the {{projectFieldChanges}} list. Iterate over the list to read individual changes - for example:
{{#projectFieldChanges}}{{fieldName}}: {{from.text}} → {{to.text}}{{/projectFieldChanges}}
Smart value | Description |
|---|---|
| The ID of the monitored field that changed: 'name', 'owner', 'status', or 'targetDate' Useful for branching logic and downstream integrations. |
| The name of the monitored field that changed (Name, Owner, Status, Target date) |
| The previous value object Use {{from.text}} for display text; for owner and target date, rich values are available under {{from.owner}} and {{from.targetDate}}. |
| Display value of the field before or after the change, rendered as plain text |
| Rich user value for owner-field changes Includes accountID, email address, display name, and avatar picture URL when available. Empty for non-owner changes. |
| The owner account ID for this side of the change |
| The owner's email address when available |
| The owner's display name when available |
| URL of the owner's profile picture when available |
| Rich date value for target-date changes Includes ISO-8601 and epoch milliseconds. Empty for non-target-date changes. |
| ISO-8601 representation of the target date |
| Unix epoch milliseconds for the target date |
| The new value object Use {{to.text}} for display text; for owner and target date, rich values are available under {{to.owner}} and {{to.targetDate}}. |
The
toobject mirrorsfromexactly: it containstext,owner.*(accountID, emailAddress, name, picture) andtargetDate.*(iso, epochMillis).
Examples
The examples below show how to work with the more sophisticated smart values - lists (arrays), nested objects, and the field-changes list. They use the standard Automation text functions and list helpers ({{#list}}…{{/list}}, filter, size, first, last, get(N), sum, distinct).
Accessing object fields
Object smart values expose their attributes with dot notation. For example, the project owner:
Owner: {{atlassianProject.owner.name}} ({{atlassianProject.owner.emailAddress}})The current status and target date:
{{atlassianProject.name}} is {{atlassianProject.status.displayName}}, due {{atlassianProject.dueDate.displayName}}Iterating over a list
List smart values (such as tags, risks, followers, linkedGoals) should be wrapped in {{#…}}…{{/…}}. Inside the block, reference each entry's fields directly.
List every tag on its own line ({{.}} refers to the current item for simple string lists):
{{#atlassianProject.tags}}- {{.}}
{{/atlassianProject.tags}}List each open risk with who reported it:
{{#atlassianProject.risks}}* {{summary}} (raised by {{creator.name}})
{{/atlassianProject.risks}}List linked goals and their status:
{{#atlassianProject.linkedGoals}}{{name}} - {{status.value}}
{{/atlassianProject.linkedGoals}}Counting and summarizing lists
Use size to count items, and filter to count a subset:
This project has {{atlassianProject.risks.size}} risk(s), {{atlassianProject.followerCount}} follower(s) and {{atlassianProject.linkedJiraWorkItems.size}} linked work item(s).Count only unresolved risks with filter:
Open risks: {{atlassianProject.risks.filter(isResolved=false).size}}Count resolved linked work items:
Done work items: {{atlassianProject.linkedJiraWorkItems.filter(isResolved=true).size}}Picking a single item from a list
Use first, last, or get(N) (zero-based) to target one entry:
Most recent risk: {{atlassianProject.risks.first.summary}}
First linked goal owner: {{atlassianProject.linkedGoals.first.owner.name}}
Second work item: {{atlassianProject.linkedJiraWorkItems.get(1).key}}Combining list fields into one value
Reference a single field on a list to output all of its values comma-separated, and combine with helpers like distinct:
Followers: {{atlassianProject.followers.name}}
Linked work item keys: {{atlassianProject.linkedJiraWorkItems.key}}
Unique assignees: {{atlassianProject.linkedJiraWorkItems.assignee.name.distinct}}Nested lists (team contributors)
Contributors contain a list of teams, each with its own list of members - iterate the outer and inner lists:
{{#atlassianProject.contributors.teamContributors}}Team ({{contributingMembersCount}} members):
{{#contributingMembers}} - {{name}}
{{/contributingMembers}}
{{/atlassianProject.contributors.teamContributors}}Working with the field-changes list
On the Atlassian Project field changed trigger, {{projectFieldChanges}} is a list of every monitored field that changed. Iterate it to report each change:
{{#projectFieldChanges}}{{fieldName}} changed from "{{from.text}}" to "{{to.text}}"
{{/projectFieldChanges}}Branch on a specific field using the convenience singular value {{projectFieldChange}} (the first match), or filter the list:
{{#if(equals(projectFieldChange.field, "owner"))}}New owner is {{projectFieldChange.to.owner.name}}{{/}}Rich values are available for owner and target-date changes:
{{#projectFieldChanges.filter(field=targetDate)}}Target date moved to {{to.targetDate.iso}}
{{/}}Example configuration for common use cases
Use case 1: Notify stakeholders when a project goes off track or at risk
What you'll build: When a project's status changes to "Off track" or "At risk", automatically send a Slack message.
Select Create to add a new flow in Automation.
Under Add a trigger, filter on Projects, and select Project field value changed.
Set Field to monitor for change to
Status.Select Add condition, then select {{smart values}} condition. If no condition is added, then the trigger will fire for any changes to your chosen field.
Set First value as
{{atlassianProject.status.displayName}}equalsOff track.Add another condition for
{{atlassianProject.status.displayName}}equalsAt risk.
Select New action, then select Send Slack message.
Select your channel and use smart values, e.g.
{{atlassianProject.name}} is now {{atlassianProject.status.displayName}}. Latest update is {{atlassianProject.latestUserUpdate.summary}}.Save and enable the rule.
Use case 2: Alert stakeholders when a project's target date changes
What you'll build: When a project's target date is updated, send a Slack or email notification.
Navigate to Automation in your Atlassian site settings.
Select Create rule.
Under Add a trigger, search for and select Project field value changed.
Set Field to
Target date.Add a condition (optional, only needed if you want to limit this to specific projects, e.g. filter by tag or project name).
Select New action, then Send Slack message or Send email.
Use smart values, e.g.
Heads up - the target date for {{atlassianProject.name}} has changed. New target date: {{atlassianProject.dueDate.label}}. Previous: {{projectFieldChanges.get(123 index).from.text}}.Select Turn it on to enable the rule.
Use case 3: Auto-generate release notes when a project is completed
What you'll build: When a project's status changes to "Completed", a Rovo Agent automatically drafts release notes. This requires you to have an agent set up already.
Navigate to Automation in your Atlassian site settings.
Select Create rule.
Under Add a trigger, search for and select Project field value changed.
Set Fields to monitor for change as
Status.Select Add condition, then {{smart values}} condition.
Set First value as
{{atlassianProject.status.displayName}}equalsCompleted.
Select New action, then Run Rovo agent.
Write your agent prompt, e.g.
Draft release notes for the following project: {{atlassianProject.name}}. Review {{atlassianProject.latestUserUpdate.summary}} for context and write an engaging post using customer facing language.(Optional) Post the output to a Confluence page or Slack channel.
Select Turn it on to enable the rule.
Was this helpful?