Forums

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

Jira links on create

Omprakash Thamsetty
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.
July 9, 2020

Hi,

I am using JSU plugin to create linked issues from Project --to--> Milestone --to--> TASK. 

I need to close the TASK ticket as soon as it gets created if the Project ticket custom field value is OTHER. 

I tried doing fast track on TASK by looking at inward link to go Milestone and then to Project to get the value of custom field. Unfortunately not finding the inWard or OutWard links on create hence not finding the value of Project ticket custom field. Its getting failed. 

Links are getting established after all level of tickets get created. 

Even my FAST Track post function placed at the end on TASK Create workflow as shown below. Still it is not working.

TASK-postfunction.pngTASK-postfunction1.png

Condition written in FAST TRACK to find the value of Project ticket custom field value

 

////////////////////////////////////////////////////////////////////////////////////////

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.issue.MutableIssue

import com.atlassian.jira.issue.CustomFieldManager

import com.atlassian.jira.issue.link.IssueLinkManager

import com.atlassian.jira.config.SubTaskManager

import org.apache.log4j.Category

////////////////////////////////////////////////////////////////////////////////////////

//Used for testing on specific issue

//def IssueKey = "TEST-123"

//def issue = ComponentAccessor.getIssueManager().getIssueObject(IssueKey)

////////////////////////////////////////////////////////////////////////////////////////

//IssueManager issueManager = ComponentAccessor.getIssueManager();

////////////////////////////////////////////////////////////////////////////////////////////////

boolean Condition = false

//def issueLinkManager = ComponentAccessor.getIssueLinkManager()

//CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()

//Get all related issue links/Sub-tasks counts

def inLinkedIssues = issueLinkManager.getInwardLinks(issue.id)

            //log.info "(" + issue.key + ") is a CHILD ticket with: " + inLinkedIssues.size() + " PARENT issue(s)"

double countI = 0

def parentIssue

def aT_parent = customFieldManager.getCustomFieldObjectsByName("Activity Type").findByName("Activity Type")




    //Examine INWARD linked issues.

    if(inLinkedIssues.size() > 0 ){//This is a parent link

        //log.info "Counter at start of Inward links is:  " + countI

        issueLinkManager.getInwardLinks(issue.id).findAll {issueLink ->

            //log.info "Link type is:  " + issueLink.issueLinkType.name.toString()

            //List of all outward links that are NOT sub-tasks

            if (issueLink.issueLinkType.name != "is subtask of"){

                //log.info "(" + issueLink?.getSourceObject.getKey() + ") is a " + issueLink.issueLinkType.name.toString() +" of Parent-Task: "  + issue.key

                parentIssue = issueLink?.getSourceObject()

                log.debug "issuekey " + parentIssue.key

                            

                //increment ticket counter

                countI = countI + 1




            }

            

        }

        issueLinkManager.getInwardLinks(parentIssue.id).findAll {fooLink ->

                    def parentprojIssue = fooLink?.getSourceObject()

                    log.debug "Proj issuekey" + parentprojIssue.key

             def aT_parent_Val = parentprojIssue?.getCustomFieldValue(aT_parent)?.toString()

                log.info "Parent AT is: " + aT_parent_Val

                if(aT_parent_Val == "OTHER"){

                   log.info "True"

                    Condition = true

                                    

                }else{

                    log.info "False"

                    Condition = false

                }

             }

                        return Condition

    }else{

        log.info "TASK: Tailored transition: No links between TASK to Milestone"

    }

 

log showing message "TASK: Tailored transition: No links between TASK to Milestone"

Does anyone have any idea to achieve this scenario. 

 

0 answers

Suggest an answer

Log in or Sign up to answer