Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How do I extract data from a multiselect custom field and populate each value as a label using JIRA

Doug Slay January 26, 2021

I have a custom field that displays a list of client codes.  This field is a multi-select field.  Using JIRA automation, I want to take each selected client code for that issue and insert that client code as a Label on the same issue.

1 answer

1 accepted

3 votes
Answer accepted
Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 26, 2021

Hi! You can do this iterating through all of the multi-select values as a list and using advanced field editing to update them.

Here's what I tested putting into Additional fields, where my multi-select field is named "multi":

{
   "fields": {
      "labels": [
         {{#issue.multi}}"{{.}}"{{^last}},{{/}}{{/}}
      ]
   }
}

I'm not sure why I cannot include a screenshot of my rule, but I just got this to work.

Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 26, 2021
Doug Slay January 26, 2021

Thanks Daryl, but I am not seeing the results on my end.  I copied this code and placed it in the Additional Fields.  The automation runs and says it is successful, but the Label field has not been updated with the Client Code(s) values.  Am I missing a step?

Doug Slay January 26, 2021

Should I update this code to reflect the custom field (Client codes) I want to use as the source?

{
   "fields": {
      "labels": [
         {{#issue.multi}}"{{.}}"{{^last}},{{/}}{{/}}
      ]
   }
}
Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 26, 2021

Yes, "multi" needs to be replaced with the name of your custom field. If it has spaces, you would use:

         {{#issue."Your Custom Field Name"}}"{{.}}"{{^last}},{{/}}{{/}}

 And in some cases, that format doesn't always work either, so you might need to use:

         {{#issue.customfield_10034}}"{{.}}"{{^last}},{{/}}{{/}}

There's several ways to find the ID for the custom field: How to find custom field ids in jira 

Doug Slay January 26, 2021

Sorry Daryl.  I just reread your message and it works GREAT.  Thanks you!

Like Darryl Lee likes this
Doug Slay January 26, 2021

One last question Daryl.  If I want to populate the Label field from 3 different custom fields is that possible?  I want the values from Client Code(s), Service Team and Assigned Product to all be populated as individual labels on the issue.

Doug Slay January 26, 2021

I am assuming this in incorrect.

 

{
"fields": {
"labels": [
{{#issue.customfield_12100}}"{{.}}"{{^last}},{{/}}{{/}} , {{#issue.customfield_13731}}"{{.}}"{{^last}},{{/}}{{/}} , {{#issue.customfield_13732}}"{{.}}"{{^last}},{{/}}{{/}}
]
}
}

Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 26, 2021

Hi Doug - yes, that looks right to me. By the way, I always test my rules by using a Manual Trigger that is only visible to me (administrator or site-admin group, for instance.)

https://support.atlassian.com/jira-software-cloud/docs/manually-run-a-rule-against-an-issue/

Then I can create a single test issue, add all the values I want to the custom fields, and then manually run it. If needed, I can clear the Labels on that issue and then try it again.

OH, I should note that using that code will replace any other labels. If you wanted to update, you would need to use something like:

{
    "update": {
        "labels": [
{{#issue.customfield_12100}} { "add" : "{{.}}" } {{^last}},{{/}}{{/}} ] } }

But I'm not sure Automation will do the right thing with those extra { } around the "add" clauses.

Claire Berry July 28, 2021

Hi @Darryl Lee 

I'm wondering if you can help me with similar. 

I have a multi select insight custom field, that I want to populate with all its values when an issue is created.

I've used the below code before to set a value of an insight custom field with a certain object which works:

{

    "fields": {

        "customfield_25007": [{"key" : "PPBCMDB-239336"}]

    }

}


I tried following your instructions above, not sure if the works on insight custom fields. 

This is what I tried:


{
"fields": {
"customfield_32970": [
{{#issue.customfield_32970}}"{{.}}"{{^last}},{{/}}{{/}}
]
}

 
But doesn't seem to work. Do you know if this works for insight fields, or if I need to add the key in somewhere for it to work. 

Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 28, 2021

Hi - back in April 2021, new automation blocks were introduced for Insight including an action block to let you edit Insight fields attributes:

https://support.atlassian.com/jira-software-cloud/docs/automation-actions/#Automationactions-EditInsightfieldattributes

Hopefully this is what you need?

Claire Berry July 29, 2021

Hi Darryl, 

Thanks for the reply. 

I am not on cloud, so don't have these options. We are on Data Centre.

And it isn't the attributes I am trying to update. 
It's an Insight Custom field, that I am trying to populate with all it's options. 

I can set it on the request level and use a preset value and hide it, but the issue with this is that the insight object will update overtime, so I would need to update the preset value each time a new one was added. 

Not sure if I am making sense :) 

It's similar to the query above, instead it's an insight custom field instead of a multi select field and I want to populate the values into its own field, rather than copying to another. 

muneet.bakshi October 8, 2021

@Doug Slay  and @Darryl Lee , I am trying to do the same thing but I need to use automation to keep my labels and multi select field matched. For example if I have:

Field A (Multiselect):

Value 1

Value 2

I want to create a labels:

Value1

Value2

And when Value 2 is removed from Field A I want to remove it from the labels. Any idea how I can accomplish this? Any help would be greatly appreciated.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events