Your Pipeline should be working exactly as it did before, now you are just 
getting a log message (unless you are using jenkinsfile-runner, in which case 
an exception is thrown instead, see JENKINS-58407) warning that it has probably 
never worked correctly , although depending on exactly what the method does you 
might not have noticed. The wiki page at 
https://jenkins.io/redirect/pipeline-cps-method-mismatches/ 
<https://jenkins.io/redirect/pipeline-cps-method-mismatches/> gives some 
background on this warning and how to prevent it and is worth reading if you 
see this error.

It’s hard to say without seeing your whole Pipeline, but it looks like you are 
running into a variant of the first item under the “Common Problems and 
Solutions” section on the wiki page, and the fix would be to just to remove 
`@NonCPS` from `checkUpstream` and `checkDownstream` if these methods are in 
fact calling Pipeline steps.

> On Jul 26, 2019, at 11:07, Sverre Moe <[email protected]> wrote:
> 
> I got a problem with my Pipeline which has worked fine up until recently.
> I don't quite understand what the problem is:
> 
> expected to call Build.checkUpstream but wound up catching 
> releaseUtility.getReleaseBranch; see: 
> https://jenkins.io/redirect/pipeline-cps-method-mismatches/ 
> <https://jenkins.io/redirect/pipeline-cps-method-mismatches/>
> expected to call Build.checkDownstream but wound up catching 
> releaseUtility.getReleaseBranch; see: 
> https://jenkins.io/redirect/pipeline-cps-method-mismatches/ 
> <https://jenkins.io/redirect/pipeline-cps-method-mismatches/>
> 
> src/no/company/ci/Build.groovy
>     @NonCPS void checkUpstream(upstreamDependencies, projectName, 
> buildEnvironment, releasePackages)
>     @NonCPS void checkDownstream(downstreamDependencies, projectName, 
> buildEnvironment, releasePackages)
> 
> vars/releaseUtility.groovy
>     def getReleaseBranch(projectName, buildEnvironment, releasePackages)
> 
> 
> The checkUpstream goes through all upstream projects, find out which has 
> failed and trigger a build on them
> The checkDownstream does the same for upstream projects.
> 
> Both these methods makes a call to releaseUtility.getReleaseBranch.
> 
> Is this the reason? "it is impossible for non-CPS-transformed code to call 
> CPS-transformed code"
> I guess then getReleaseBranch needs to also be annotated with NonCPS.
> 
> Maybe I no longer need NonCPS on checkUpstream and checkDownstream (ref 
> JENKINS-26481 <https://issues.jenkins-ci.org/browse/JENKINS-26481> mentioned 
> in the URL above).
> These methods do not call node or sh step (just build and println). They do 
> access the Jenkins instance to jenkinsInstance.getItemByFullName and getting 
> all the jobs for it.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-users/15494592-78a8-4e87-b687-be4eac9d7891%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-users/15494592-78a8-4e87-b687-be4eac9d7891%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/C9E2B31B-7B63-4F97-8A8F-7CDAF18AB7C6%40cloudbees.com.

Reply via email to