I would like to set up a post function on a workflow that transitions an issue to a different status if the priority is 'high' or 'emergency'.I have added a post function of type 'transition issue' and chosen 'conditional execution'
The project code is TSP. It's important that I include the code in the condition as other projects use this workflow. For the condition I've tried:
(issue.getProjectObject().getKey() = "TSP") && (issue.priority?.name == 'High'||'Emergency')
but it doesn't work. Can anyone help me to get the syntax of the condition right and this post function working?
At a casual glance, you want to replace "issue.priority?.name == 'High'||'Emergency'" with "['High','Emergency'].contains(issue.priority?.name)".
Or
issue.priority?.name in ['High','Emergency']
which reads a bit more like spoken language, to me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Alas I have tried both:
(issue.getProjectObject().getKey() = "TSP") && (['High','Emergency'].contains(issue.priority?.name))
and
(issue.getProjectObject().getKey() = "TSP") && (issue.priority?.name in ['High','Emergency'])
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I wonder is there some problem with the fact that the post function is on the create transition?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It shouldn't be; the one time I've actually used this, it was on 'create', to transition to "Open" if the submitter was a developer.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Oh, it should be "==", not "=", for the first half of your condition. Missed that one.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Unfortunately that doesn't work either:
Tried
(issue.getProjectObject().getKey() == "TSP") && (issue.priority?.name in ['High','Emergency'])
but no luck. It doesn't throw an error or anything, just doesn't perform the transition when I create and set priority to 'High' or 'Emergency'. In any case, I had already tried without the first part to just try to get the priority bit working and even that on its own won't work.
The only other thing I enter in is the transition number from the workflow and can't see how that can be a problem.
At a bit of a loss!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can you attach a screenshot of the configuration, because I've lost track of what you're trying to do...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am trying to have issues that are created and give a priority of 'High' or 'Emergency' be transitioned to another status in the workflow (in this case, not 'Open' but a status after that).
I am using a post function on the create step of type 'Transition Issue' with a condition. Here is a screenshot.
TransitionPostFunction.png
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
two in two minutes. that's not ScriptRunner, it's JIRA misc workflow extensions IIRC.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Not that I would mind answering general questions, it's just originally you used the ScriptRunner labels. And JMWE has a different api (issue.get) that I'm not familar with.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For anyone who stumbles on this, I eventually found the answer thanks to Innovalog support - the syntax that finally worked for me was:
issue.get("project").getKey().equals("TSP") && ["High","Emergency"].contains(issue.get("priority").name)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
how can I get this same code to pick up the previous or previous status?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.