0
votes

i have two dependent jobs. i need help for groovy script in jenkins, for writing pre send script for email-ext plugin.

i want to check whether buid reason is upstream cause, then set cancel variable=true

But i don't know how to write if condition in groovy for jenkins..For seperate jobs, will there be any seperate classes in jenkins(so i can create instance and call upstream cause)

is there any way to check build cause of downstream job is due to upstream..

Please help me on this code snippet..

1

1 Answers

1
votes

Use Build.getCauses() method. It will return a list of causes for the build. Loop over it and check if there is an object of hudson.model.Cause.UpstreamCause among them.

To get the build object, use the following code snippet:

def thr = Thread.currentThread()
def build = thr?.executable

FYI, here is a link to the complete Jenkins Module API.