Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Make attachment mandatory based on the value of custom field

Alvin
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.
February 6, 2019

Hi All,

Can someone help me with custom validator (scriptrunner). I need to make the attachment system field mandatory when the value of radio. Here's the code that I am using:

 

import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueFieldConstants
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.comments.CommentManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.util.ImportUtils;
import com.opensymphony.util.TextUtils
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.attachment.TemporaryWebAttachment
import com.atlassian.jira.issue.attachment.TemporaryWebAttachmentManager
import webwork.action.ActionContext
import com.opensymphony.workflow.InvalidInputException

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField customField_select_list_name = customFieldManager.getCustomFieldObject("customfield_10472");
def temporaryAttachmentUtil = ComponentAccessor.getComponent(TemporaryWebAttachmentManager)
def formToken = ActionContext.getRequest()?.getParameter(IssueFieldConstants.FORM_TOKEN)

//checking if Custom Field is "Yes" and Attachment is not Present
if (issue.getCustomFieldValue(customField_select_list_name).toString() == "Yes") 
{
log.warn("sample")
if (formToken) {
def tempWebAttachments = temporaryAttachmentUtil.getTemporaryWebAttachmentsByFormToken(formToken)
log.warn(tempWebAttachments)
log.warn(formToken)
tempWebAttachments.each { TemporaryWebAttachment it ->
log.warn("Uploaded attachment name: ${it.filename}") 
}
if(!tempWebAttachments)

{ throw new InvalidInputException(IssueFieldConstants.ATTACHMENT, "You must upload attachment") }

}
}

log.warn(issue.getCustomFieldValue(customField_select_list_name).toString())

 

Am I doing this right? Any feedback is appreciated. Thank you!

 

 

 

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events