The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
I'm trying to write a ScriptRunner Validator script that throws an error when the user did not link the issue (Defect) to a parent (Story) during the Create action.
I can't find a way to access the fields of the issue because at that point it's not stored in the database yet. How do I do that?
I know it can be done using a Behaviour, but in this case I'd like to use a Validator.
Hi @Vikrant Yadav thanks - I actually did look at that one, but I couldn't get it to work because one of the methods gives me an error:
Any idea how to fix that?
This is on Jira 8.7.1 and SR 6.2.1
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Jozef Vandenmooter have you tried this one also :-
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueFieldConstants
import com.atlassian.jira.issue.fields.IssueLinksSystemField
import com.opensymphony.workflow.InvalidInputException
import webwork.action.ActionContext
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.link.IssueLink
MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject("")
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
for ( link in issueLinkingValue.getLinkedIssues() ){
def object=ComponentAccessor.getIssueManager().getIssueObject(link)
if(object.getIssueType().toString() != 'Initiative'){
throw new InvalidInputException(IssueFieldConstants.ISSUE_LINKS,
"Note: You must link this Deployment Request to a Initiative.")
}
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Vikrant Yadav, that one gives me the same error. Also, there's no need to define the issue, right? It gives me a warning issue is already a binding variable:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That code actually comes straight off of Adaptavist's Examples page:
I guess the API was changed since it was written.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Turns out this is not a real error. It's incorrectly reported by the Static Type Checker as an error and can be ignored. The code works fine.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Jozef Vandenmooter Great, finally you get the working code. :)
I tested on my side also code was working even after giving error.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi from the future
Use
requestMap = ActionContext.getRequest()?.getParameterMap()
def blockingIsSet =
requestMap?.get('issuelinks-linktype') == ['blocks'] &&
requestMap?.get('issuelinks-issues')?.size() > 0
instead
No need to import a bunch of unrelated stuff
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To also add, you may use the following :
if (object.getIssueType().name.toString() != 'Bug')
Following are the full object you can utilize:
IssueConstantImpl[[GenericEntity:IssueType][sequence,null][name,Bug][iconurl,/secure/viewavatar?size=xsmall&avatarId=93577&avatarType=issuetype][description,null][style,null][id,31500][avatar,93577]]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Connect with like-minded Atlassian users at free events near you!
Find an eventConnect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.
Host an eventYou're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.