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

{{atlassianProject.key}}

Project key (e.g. "ATLAS-1")

{{atlassianProject.name}}

Display name of the project

{{atlassianProject.url}}

Browser link to the project in Atlassian Home

{{atlassianProject.accessLevel}}

Access level: who can view and edit the project (OPEN_EDIT, OPEN_VIEW or RESTRICTED)

{{atlassianProject.isArchived}}

Whether the project is archived

{{atlassianProject.isPrivate}}

Whether the project is private

{{atlassianProject.creationDate}}

ISO-8601 date the project was created

{{atlassianProject.startDate}}

ISO-8601 date the project started

{{atlassianProject.latestUpdateDate}}

ISO-8601 instant of the most recent published update

{{atlassianProject.followerCount}}

Total number of users following the project

{{atlassianProject.userUpdateCount}}

Total number of user-authored updates on the project

{{atlassianProject.tags}}

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

{{atlassianProject.linkedGoals.key}}

Goal key (e.g. "OBJ-7")

{{atlassianProject.linkedGoals.name}}

Goal name

{{atlassianProject.linkedGoals.url}}

Browser link to the goal

{{atlassianProject.linkedGoals.status.value}}

Goal's current status

Possible values: on_track, at_risk, off_track, done, paused, pending, cancelled, archived

{{atlassianProject.linkedGoals.status.score}}

Goal OKR score between 0.0 and 1.0

{{atlassianProject.linkedGoals.targetDate.displayName}}

Goal's target date as displayed in the UI, e.g. Oct-Dec

{{atlassianProject.linkedGoals.targetDate.confidence}}

Precision of the goal target date

Possible values: DAY, MONTH or QUARTER

{{atlassianProject.linkedGoals.targetDate.dateRange.start}}

ISO-8601 start of the goal target date range

{{atlassianProject.linkedGoals.targetDate.dateRange.end}}

ISO-8601 end of the goal target date range

{{atlassianProject.linkedGoals.owner.accountId}}

Atlassian account ID of the goal owner

{{atlassianProject.linkedGoals.owner.name}}

Display name of the goal owner

{{atlassianProject.linkedGoals.owner.picture}}

Avatar URL of the goal owner

{{atlassianProject.linkedGoals.owner.emailAddress}}

Email address of the goal owner when available

Linked Jira work items - {{atlassianProject.linkedJiraWorkItems}} (list)

Smart value

Description

{{atlassianProject.linkedJiraWorkItems.key}}

Work item key, e.g. "PROJ-123"

{{atlassianProject.linkedJiraWorkItems.webUrl}}

Browser link to the work item

{{atlassianProject.linkedJiraWorkItems.summary}}

Issue summary

{{atlassianProject.linkedJiraWorkItems.isResolved}}

Whether the work item is resolved

{{atlassianProject.linkedJiraWorkItems.issueType}}

Work item type name, e.g. "Story"

{{atlassianProject.linkedJiraWorkItems.priority}}

Priority of the work item. e.g. "High"

{{atlassianProject.linkedJiraWorkItems.status}}

Status of the work item

{{atlassianProject.linkedJiraWorkItems.assignee.accountId}}

Atlassian account ID of the assignee

{{atlassianProject.linkedJiraWorkItems.assignee.name}}

Display name of the assignee

{{atlassianProject.linkedJiraWorkItems.assignee.picture}}

Avatar URL of the assignee

{{atlassianProject.linkedJiraWorkItems.assignee.emailAddress}}

Email address of the assignee when available

Smart value

Description

{{atlassianProject.links.url}}

URL of the link

{{atlassianProject.links.type}}

Type of the link denoting its relationship to the project

Possible values: RELATED, WORK_TRACKING

Owner - {{atlassianProject.owner}}

Smart value

Description

{{atlassianProject.owner.accountId}}

Atlassian account ID of the project owner

{{atlassianProject.owner.name}}

Display name of the project owner

{{atlassianProject.owner.picture}}

Avatar URL of the project owner

{{atlassianProject.owner.emailAddress}}

Email address of the project owner when available

Risks - {{atlassianProject.risks}} (list)

Smart value

Description

{{atlassianProject.risks.summary}}

Short risk title

{{atlassianProject.risks.description}}

Longer risk description

{{atlassianProject.risks.descriptionAsAdf}}

The risk description in raw ADF (Atlassian Document Format) JSON

Use {{atlassianProject.risks.get(N).description}} for plain text.

{{atlassianProject.risks.creationDate}}

ISO-8601 instant the risk was reported

{{atlassianProject.risks.resolvedDate}}

ISO-8601 instant the risk was resolved; absent when unresolved

{{atlassianProject.risks.isResolved}}

Whether the risk has been resolved

{{atlassianProject.risks.creator.accountId}}

Atlassian account ID of the risk reporter

{{atlassianProject.risks.creator.name}}

Display name of the risk reporter

{{atlassianProject.risks.creator.picture}}

Avatar URL of the risk reporter

{{atlassianProject.risks.creator.emailAddress}}

Email address of the risk reporter when available

Status - {{atlassianProject.status}}

Smart value

Description

{{atlassianProject.status.displayName}}

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

{{atlassianProject.dueDate.displayName}}

Due date as displayed in the UI, e.g. Oct-Dec

{{atlassianProject.dueDate.confidence}}

Precision of the target date

Possible values: DAY, MONTH, QUARTER

{{atlassianProject.dueDate.dateRange.start}}

ISO-8601 start instant of the target date range

{{atlassianProject.dueDate.dateRange.end}}

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

{{projectFieldChanges.field}}

The ID of the monitored field that changed: 'name', 'owner', 'status', or 'targetDate'

Useful for branching logic and downstream integrations.

{{projectFieldChanges.fieldName}}

The name of the monitored field that changed (Name, Owner, Status, Target date)

{{projectFieldChanges.from}}

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

{{projectFieldChanges.from.text}}

Display value of the field before or after the change, rendered as plain text

{{projectFieldChanges.from.owner}}

Rich user value for owner-field changes

Includes accountID, email address, display name, and avatar picture URL when available. Empty for non-owner changes.

{{projectFieldChanges.from.owner.accountId}}

The owner account ID for this side of the change

{{projectFieldChanges.from.owner.emailAddress}}

The owner's email address when available

{{projectFieldChanges.from.owner.name}}

The owner's display name when available

{{projectFieldChanges.from.owner.picture}}

URL of the owner's profile picture when available

{{projectFieldChanges.from.targetDate}}

Rich date value for target-date changes

Includes ISO-8601 and epoch milliseconds. Empty for non-target-date changes.

{{projectFieldChanges.from.targetDate.iso}}

ISO-8601 representation of the target date

{{projectFieldChanges.from.targetDate.epochMillis}}

Unix epoch milliseconds for the target date

{{projectFieldChanges.to}}

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 to object mirrors from exactly: it contains text, owner.* (accountID, emailAddress, name, picture) and targetDate.* (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.

  1. Select Create to add a new flow in Automation.

  2. Under Add a trigger, filter on Projects, and select Project field value changed.

  3. Set Field to monitor for change to Status.

  4. 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}} equals Off track.

    • Add another condition for {{atlassianProject.status.displayName}} equals At risk.

  5. Select New action, then select Send Slack message.

  6. Select your channel and use smart values, e.g. {{atlassianProject.name}} is now {{atlassianProject.status.displayName}}. Latest update is {{atlassianProject.latestUserUpdate.summary}}.

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

  1. Navigate to Automation in your Atlassian site settings.

  2. Select Create rule.

  3. Under Add a trigger, search for and select Project field value changed.

  4. Set Field to Target date.

  5. Add a condition (optional, only needed if you want to limit this to specific projects, e.g. filter by tag or project name).

  6. Select New action, then Send Slack message or Send email.

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

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

  1. Navigate to Automation in your Atlassian site settings.

  2. Select Create rule.

  3. Under Add a trigger, search for and select Project field value changed.

  4. Set Fields to monitor for change as Status.

  5. Select Add condition, then {{smart values}} condition.

    • Set First value as {{atlassianProject.status.displayName}} equals Completed.

  6. Select New action, then Run Rovo agent.

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

  8. (Optional) Post the output to a Confluence page or Slack channel.

  9. Select Turn it on to enable the rule.

Still need help?

The Atlassian Community is here for you.