Hello Team,
I am trying to copy the Asset Class custom field's value into Security Level system field by using following script.
Script is running sucessfully but value is not getting coppied. I am able to use the similar script for the another project while creating the issue. Not sure where I am going wrong here.
Please help me out to correct the scrpit or to get the results.
try {
ComponentManager componentManager = ComponentManager.getInstance()
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
IssueSecurityLevelManager securityLevelManager = componentManager.getComponentInstanceOfType(com.atlassian.jira.issue.security.IssueSecurityLevelManager)
IssueSecuritySchemeManager issueSecuritySchemeManager = ManagerFactory.getIssueSecuritySchemeManager()
IssueSecurityLevelManager issueSecurityLevelManager = ManagerFactory.getIssueSecurityLevelManager()
GenericValue srcProjectGV = issue.getProject()
log.debug(srcProjectGV)
def issueSecurityScheme = issueSecuritySchemeManager.getSchemes(srcProjectGV).size() == 0 ? null : issueSecuritySchemeManager.getSchemes(srcProjectGV)[0]
User currentUser = componentManager.getJiraAuthenticationContext().getUser()
def sourceFieldName = "customfield_10130"
CustomFieldParams sourceFieldVal = issue.getCustomFieldValue(cf) as CustomFieldParams
//CustomField cfBusiness = customFieldManager.getCustomFieldObjectByName("Catch Business Value")
if (sourceFieldVal) {
Collection values = sourceFieldVal.getAllValues()
def business = values[0]
log.debug("business: '$business'")
def level = values[0]
log.debug("level: '$level'")
//def business= sourceFieldVal.getFirstValueForNullKey()
//def level = sourceFieldVal.getFirstValueForKey("1")
//set the text field
cfBusiness.createValue(issue, business.toString())
//set security level
def secLevelGvList = issueSecurityLevelManager.getUsersSecurityLevels(issue.getGenericValue(), currentUser)
def secLevelGv = secLevelGvList.find ({it.get("name") == "$level"})
log.debug("secLevelGv: $secLevelGv")
if (secLevelGv) {
log.debug ("Set ${issue.getKey()} to $level")
issue.setSecurityLevel (secLevelGv)
}
issue.store()
}
else {
log.debug("Custom field not present on this issue")
}
log.debug("done")
} catch (Exception e) {
log.error("oops", e)
}
Let me know incase you need any further details.
Regards,
Arpita
Can you use the CODE formatting on the toolbar, it's not possible to read that.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.