Code changed in jenkins
User: Andrew Bayer
Path:
pom.xml
src/main/java/org/jenkinsci/plugins/credentialsbinding/BindingDescriptor.java
src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/BindingStep.java
src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/FileBinding.java
src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/StringBinding.java
src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/UsernamePasswordBinding.java
src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/UsernamePasswordMultiBinding.java
src/test/java/org/jenkinsci/plugins/credentialsbinding/impl/BindingStepTest.java
http://jenkins-ci.org/commit/credentials-binding-plugin/44d70a8088c8a75b0639a1c88e0bcb2424d64e15
Log:
[FIXED JENKINS-42999] Allow bindings to specify their required context
Not all bindings require a workspace, and those that don't should be
able to be used in `withCredentials` outside of a `node` block. This
adds `BindingDescriptor.getRequiredContext()`, defaulting to the four
contexts that were previously required by `BindingStep`, but allowing
override. `BindingStep` will now throw a
`MissingContextVariableException` if any of the `MultiBinding`s used
have a required context that cannot be satisfied, as well as the
normal potential `MissingContextVariableException` for `BindingStep.DescriptorImpl.getRequiredContext()`.
In addition, bumped `workflow-step-api` to 2.9 and moved `BindingStep`
and friends to non-deprecated code paths while I was here.
PR up at https://github.com/jenkinsci/credentials-binding-plugin/pull/34