Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
badges earned

Your Points Tracker
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

validation while linking an issue based custom fields value? Edited

I am trying following validation.

While linking an issue, The current issue custom-field value and linking issue custom-field value matches then allow to link at least once. And also check in already linked issues if the match there then skip the validation.
It required at least on association and if not show validation message.

" When Cause field value is 'Product Feature' then require at least one 'Issue Link' with relationship of "is caused by" must exist and must have a linked GTN Epic of where the Epic's 'Feature Type' field has the value of 'Product Feature'. _Message:_ "'Product Feature' Cause requires at least one 'is caused by' issue link relationship to a 'Product Feature' Epic.  "

If the match is already linked issue, then skip the validation, 


def linkManager = ComponentAccessor.issueLinkManager

def issueManager = ComponentAccessor.getIssueManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cField = customFieldManager.getCustomFieldObject("customfield_18813")//Cause Field
def featureType = customFieldManager.getCustomFieldObjectByName("Feature Type")//FeatureType Field
def cFieldValue = issue.getCustomFieldValue(cField)

def fieldManager = ComponentAccessor.getFieldManager()
def linksSystemField = fieldManager.getField("issuelinks") as IssueLinksSystemField
def request = ActionContext.getRequest()
if (request) {          
         def params = request.getParameterMap()             
         def issueLinkingValue = linksSystemField.getRelevantParams(params) as IssueLinksSystemField.IssueLinkingValue      
         if("Product Feature" in cFieldValue.collect{it.toString()}){
                 def linkedIssue = it.destinationObject
                 def featureTypeValue = linkedIssue.getCustomFieldValue(featureType)
                 if(featureTypeValue.toString() == "Product Feature"){
                 for (link in issueLinkingValue.linkedIssues){
                 def object=ComponentAccessor.getIssueManager().getIssueObject(link)
                 if(object.getCustomFieldValue(featureType).toString() != "Product Feature"){          
                 throw new InvalidInputException(IssueFieldConstants.ISSUE_LINKS,
                  "Note: "'Product Feature' Cause requires at least one 'is caused by' issue link relationship to a 'Product Feature' Epic.")          


0 answers

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Marketplace Apps & Integrations

Staying organized with Jira: best practices for a better project management

Project managers know this problem: A “mountain of work” lays in front of you, and you don’t know how and where to tackle them. Different to-dos lie ahead, but just one task after the other can be ha...

236 views 2 1
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you