How to copy value from custom field and add it to Issue Links as a Web link?

Mihailo December 28, 2021

Hello,

I have a custom field that is used to pick from a list of change tickets. Can I somehow automate via script so that when a user selects a value in custom filed, that value (an url to another ticket in another tool) is added to Issue Links as a "links to" Web link?

I am a total newbie to Jira and had no luck using GUI to automate this, Would really appreciate some help with script automation. Thank you!

1 answer

1 accepted

1 vote
Answer accepted
Antoine Berry
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 3, 2022

Hello @Mihailo ,

If you are using ScriptRunner you could use a script listener on the issue updated event (and any other event that might be triggered when you select a value). This is assuming that the field is a select list : 

import com.atlassian.jira.issue.link.RemoteIssueLinkBuilder
import com.atlassian.jira.issue.link.RemoteIssueLink
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.link.RemoteIssueLinkManager

def customFieldManager = ComponentAccessor.getCustomFieldManager()

def fieldChanged = event?.getChangeLog()?.getRelated("ChildChangeItem")?.find {it.field == "Select List Field"}

if (fieldChanged) {
def selectListId = 12200
def customField = customFieldManager.getCustomFieldObject(selectListId)
def customFieldValue = issue.getCustomFieldValue(customField).getValue()

RemoteIssueLink link = new RemoteIssueLinkBuilder().issueId(issue.getId()).url(customFieldValue).title(customFieldValue).build();
ComponentAccessor.getComponent(RemoteIssueLinkManager.class).createRemoteIssueLink(link, ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser());
}

replace "Select List Field" with the name of your field and 12200 with id id of your field. 

Hope that helps.

Mihailo January 4, 2022

Thank you so much @Antoine Berry ! I created a working Listener using your code.

Is it possible to modify it to accept multiple selections? Something like a for Each?

Antoine Berry
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 7, 2022

Hi @Mihailo ,

You mean you are using a multiple values select list, and would like to create a link for each value ?

Yes, that would be possible by iterating on the custom field value.

Mihailo January 10, 2022

Yes, that is exactly what I need. Do you have some links on iterating in ScriptRunner?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events