Details
-
Improvement
-
Status: Resolved (View Workflow)
-
Critical
-
Resolution: Fixed
-
-
Jenkins 2.241
Description
SimpleBuildStep.perform needs to be given an EnvVars argument. Otherwise there is no way for an implementation to observe any local environment variable settings.
Attachments
Issue Links
- causes
-
JENKINS-62723 Build fails with "java.lang.IllegalArgumentException: Method perform not found in hudson.plugins.analysis.core.HealthAwareRecorder"
-
- Resolved
-
-
JENKINS-63754 InvocationTargetException instead of AbortException
-
- Resolved
-
- is blocking
-
JENKINS-23713 Remove AbstractProject-ness from BuildStep
-
- Resolved
-
- is duplicated by
-
JENKINS-65151 Using Environment Variables in Plugins is not Possible / not Documented
-
- Open
-
- relates to
-
JENKINS-40070 ${env.GLOBALSETTINGSNAME} invalid out of node context
-
- Open
-
-
JENKINS-35671 Define Run.getEnvironmentForExpansion
-
- Open
-
-
JENKINS-29537 EnvironmentContributingAction compatible with Workflow
-
- Resolved
-
-
JENKINS-46175 Ability to mark a SimpleBuildStep as not requiring a workspace context
-
- Closed
-
- links to
Turns out that for my immediate purpose in my plugin, it was actually very easy to add support for getting environment variables by implementing a metastep (all my builders share a base class that implements the perform() anyway, so no SimpleBuildStep needed at all).
The trick is to know that metasteps exist, which I didn't until I read the javadoc for isMetaStep() while going over what CoreStep does.
Anyway, I've assigned this to myself and will look at setting up clones of jenkins and workflow-basic-steps-plugin to see what I can make work without breaking tests.
And thanks for the pointer to the incrementals; that's useful info.