Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Condition in Listener

Alex
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 11, 2023

Hi, ATLASSIAN COMMUNITY! 

I have code in a listener and I want to add a condition so that this listener will only fire if the myCF field has been changed.

And make it work for the Сurrent task and not just for: def issueKey = "RDY-12917" :

 

import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.component.ComponentAccessor

def customFieldPOactive = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_18429") // Значение CF ПО (актив)
def issueKey = "RDY-12917";
def issueManager = ComponentAccessor.getIssueManager()
def issueObject = issueManager.getIssueObject("${issueKey}")
def cfName = "ПО (актив)"
def cfPOactiv = issueObject.getCustomFieldValue("${cfName}").findAll().join("")
def regStringPOactive = (cfPOactiv =~ /RFA-\d\w+/).findAll().join("") // Ключ объекта: RFA-195553 , для ПО (актив)

//Ключ атрибута: RFA-216331 , для "Линейка продукта" в объекте "ПО (актив)"
//Assets.getByKey("RFA-216331") // - name - value которое лежит в атрибуте "Линейка продукта"

def attrObjLineOfProduct = Assets.getByKey("${regStringPOactive}").getAttributeValues('Линейка продукта')
def regStringLineOfProduct = (attrObjLineOfProduct =~ /\d\w+/).findAll().join("")
def keyAttrLineOfProduct = 'RFA-'+ regStringLineOfProduct
def attrNameLineOfProduct = Assets.getByKey("${keyAttrLineOfProduct}")
def AttrValueLineOfProduct = (attrNameLineOfProduct =~ /\s*\(RFA-\d+\)/).findAll().join("") // значение (value) 'Линейка продукта' которое принадлежит ПО (активУ)

//<---------------------------------- Добавить полученное значение в CF "Линейка продукта" --------------------------------------------------------------------------->

issueObject.update {
setCustomFieldValue('Линейка продукта') {
set(AttrValueLineOfProduct)

}
}

//<---------------------------------- Добавить полученное значение в CF "Вендор (актив)" ----------------------------------------------------------------------------->

def attrObjVendor = Assets.getByKey("${regStringPOactive}").getAttributeValues('Разработчик')
def regStringVendor = (attrObjVendor =~ /\d\w+/).findAll().join("")
def keyAttrVendor = 'RFA-'+ regStringVendor
def attrNameVendor = Assets.getByKey("${keyAttrVendor}")
def AttrValueVendor = (attrNameVendor =~ /\s*\(RFA-\d+\)/).findAll().join("") // значение (value) 'Вендор (актив)' которое принадлежит ПО (активУ)

issueObject.update {
setCustomFieldValue('Вендор (актив)') {
set(AttrValueVendor)

}
}

 

Any help is important!

Thank you

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events