How can I use Groovy Script to get an issue id in a post function? issue.getId() returns null Edited

I'm sure I'm overlooking something simple, as getId() seems to be exactly what I should need.  I've tried issue.getID(), getKey(), etc, to no avail.

 

import groovy.sql.Sql
import java.sql.Driver
import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.ModifiedValue import com.atlassian.jira.issue.util.DefaultIssueChangeHolder import com.atlassian.jira.component.ComponentAccessor
/* I've tried with and without this declaration as well
Issue issue = issue
*/
// All of these return null. I need to retrieve the id for use in a SQL query later in the script. log.error("id: " + issue.getId()) // returns null log.error("key: " + issue.getKey()) // returns null log.error("number: " + issue.getNumber()) // returns null log.error("issue: " + issue) // returns the Summary field of the issue

Log results

2017-04-06 15:07:37,332 ERROR [workflow.ScriptWorkflowFunction]: id: null
2017-04-06 15:07:37,332 ERROR [workflow.ScriptWorkflowFunction]: key: null
2017-04-06 15:07:37,332 ERROR [workflow.ScriptWorkflowFunction]: number: null
2017-04-06 15:07:37,332 ERROR [workflow.ScriptWorkflowFunction]: issue: sdfsadfasd

1 answer

1 accepted

I'm an idiot.  The reason it was returning null is because the Custom Script post-function was being called before the "Creates the issue originally" post-function.  Re-ordering the post-function calls resolved this.

Hopefully this saves someone else some time in the future.

Hi, Patrick!

Please tell me how you did it:

"Re-ordering the post-function calls"

?

Thank!

@smetannikov,

In the workflow that called the script, I had to move the "ScriptRunner workflow function" to be after the "Creates issue initially" step.  This makes sense, the ID would be null because the issue doesn't exist yet.

 See screenshot of the Workflow post function order below.

screenshot.png

Patrick, thanks!

It's really very very simple)

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published yesterday in Jira

Mission-critical battery manufacturer fulfills FAA software requirements with Commit Policy Plugin

EaglePicher Technologies is a leading manufacturer of battery systems for diverse industries like defense, aviation, space or medical. As they operate in highly regulated industries, keeping a clear ...

143 views 0 2
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you