Automate Appending Objects to Assets Attributes in Jira Cloud

Platform Notice: Cloud Only - This article only applies to Atlassian apps on the cloud platform.

Summary

Learn how to add value to existing attributes in Jira Automation without replacing them. This article provides a simple, less technical solution.

Diagnosis

The Edit Object expects a List, and there are no .append for List smart values, so combining two smart values or a smart value + string (e.g. {{object.Attribute}},{{AssetsCustomField.Attribute}}) will error even if it resolves to a comma-string of object keys.

Cause

When an Action like Edit Object sets the value for an Object Attribute, it expects a List. In Automation, each Smart Value has a type, such as String, List, Date, Integer, etc.

There is not currently an .append function for List Smart Values, and the Actions that edit Object Attributes do not take Strings as valid input, so combining two Smart Values, or using one Smart Value followed by a String will not work on its own.

For example, this will not work:

{{object.Attribute}},{{AssetsCustomField.Attribute}}

Even if the above resolves to a string like ABC-123,ABC-124 (two Assets Object Keys), the string won't be valid input for the Action, and it will result in an error.

Note: If the set of Objects that need to be the Attribute's Value fit an AQL Query at the moment you are editing, you can just use a Lookup Objects Action to do so, then use that smart value lookupObjects to set the Field instead. Due to this, the Solution below isn't necessary.

Solution

To resolve this, the Create Variable Action can be combined with the .replace & .split text string functions. The following are a few examples of Automation Rules that would achieve this using different methods.

The overview is that the Create Variable Action creates a String Smart Value. Then, the .split text string function turns a String Smart Value into a List. .replace is needed only to remove a space from the initial List.

In essence, we take the initial Object Attribute value as a List, convert it to a String, append the additional Object Keys, then convert it back to a List.

1. Add a Create Variable action and set its value to the existing attribute value combined with the new object key(s): {{object.Attribute}},{{AssetsCustomField.Attribute}}

2. Add an Edit Object (or Edit Assets field attributes) action and set the attribute to:{{createdVariable.replace(", ",",").split(",")}}

Since that is the process, it is also possible to remove values while they are Strings, if desired, though that won't be covered here.

Edit Object via Branch on AQL with any Issue Trigger using an Issue's Asset Custom Field

  • Trigger:<any resulting from an Issue>

    In this example, the Trigger needs to be from an Issue because we will be accessing an Assets Custom Field on that Issue for some of our values.

  • Branch: AQL > <any AQL that returns Objects>

    As long as the AQL returns at least 1 object, it will work for this example.

    • Action: Create Variable > Name createdVariable:

      {{object.Attribute}},{{AssetsCustomField.Attribute}}

      The above will result in a String of ABC-123, ABC-124. This is because the returned Object from the AQL has a value of ABC-123 for its Attribute. The space is a result of how the Smart Values are rendered and will be removed later.

      Note that createdVariable, Attribute, & AssetsCustomField are all placeholders. They should be replaced with whatever your variable is named, the actual name of the Custom Field, & the actual name of the Attribute being changed.

    • Action: Edit Object > Choose the Attribute to be set, then use this Smart Value:

      {{createdVariable.replace(", ",",").split(",")}}

      This takes the String, removes extraneous whitespace, and then splits it into a List. Since it is now a List, it is valid input for the Edit Object Action.

Edit Object with Object Trigger using a Static Value

  • Trigger: Object > Created or Updated, but not Deleted

    In this example, the Trigger is from an Assets Object being created or updated. This example won't work with Deleted since it needs an Object to work on.

  • Action: Create Variable > Name createdVariable:

    {{object.Attribute}},ABC-124

    The above will result in a String of ABC-123, ABC-124. This is because the returned Object from the AQL has a value of ABC-123 for its Attribute. The space is a result of how the Smart Values are rendered and will be removed later.

    Note that createdVariable & Attribute are placeholders. They should be replaced with your variable name and the actual name of the Attribute being changed.

  • Action: Edit Object > Choose the Attribute to be set, then use this Smart Value:

    {{createdVariable.replace(", ",",").split(",")}}

    This takes the String, removes extraneous whitespace, and then splits it into a List. Since it is now a List, it is valid input for the Edit Object Action.

Edit Assets Field Attributes Action with any Issue Trigger using another one of the Object's Attributes

  • Trigger: Incoming Webhook

    In this example, the Trigger receives information via a Webhook Request that includes 1 Issue. It could be a Schedule Trigger with a JQL statement, just the same. For multiple Issues, a Branch will be needed.

  • Action: Create Variable > Name createdVariable:

    {{AssetsCustomField.Attribute}},{{AssetsCustomField.OtherAttribute}}

    The above will result in a String of ABC-123, ABC-124. This is because the returned Object from the AQL has a value of ABC-123 for its Attribute. The space is a result of how the Smart Values are rendered and will be removed later.

    Note that createdVariable,Attribute, & OtherAttribute are placeholders. They should be replaced with your variable name and the actual names of the Attribute and OtherAttribute being changed.

  • Action: Edit Assets field attributes > Choose the Attribute to be set, then use this Smart Value:

    {{createdVariable.replace(", ",",").split(",")}}

    This takes the String, removes extraneous whitespace, and then splits it into a List. Since it is now a List, it is valid input for the Edit Object Action.

Lookup Objects

It is not possible to directly edit Objects using Edit Object or Edit Assets field attributes actions from a Lookup Objects Action. For this reason, use an AQL Branch instead.

This is because those Actions don't recognize the Objects returned by the Lookup Objects Action.

To confirm the rule is working, run it on one object and verify that the Assets attribute now contains both the existing and the appended object (not just the new one) before enabling it globally.

Further Reading

Updated on July 30, 2026

Still need help?

The Atlassian Community is here for you.