Invoking ambiguous Pipeline Step triggerRemoteJob

Article ID:360030668932
1 minute readKnowledge base

Issue

The build console output shows a similar message:

 Invoking ambiguous Pipeline Step ‘triggerRemoteJob’ (org.jenkinsci.plugins.ParameterizedRemoteTrigger.pipeline.RemoteBuildPipelineStep). ‘triggerRemoteJob’ could refer to any of the following steps: [org.jenkinsci.plugins.ParameterizedRemoteTrigger.pipeline.RemoteBuildPipelineStep, com.cloudbees.opscenter.triggers.RemoteTriggerBuilderStep].

Followed by:

You can invoke steps by class name instead to avoid ambiguity. For example: steps.'org.jenkinsci.plugins.ParameterizedRemoteTrigger.pipeline.RemoteBuildPipelineStep'(...)

The warning log you are seeing was added in JENKINS-53333, which was released as part of Pipeline: Groovy plugin version 2.55.

The issue is that there are 2 plugins defining the Pipeline step triggerRemoteJob.

The plugins are:

  • operations-center-context

  • parameterized-remote-trigger

This means that when calling the short form (triggerRemoteJob) Jenkins Pipeline engine is unable to determine which step you are referring to.

Prior to Pipeline: Groovy plugin version 2.55, Pipeline would just choose whatever step it found first.

Resolution

Instead of using triggerRemoteJob(...), use:

  • steps.'org.jenkinsci.plugins.ParameterizedRemoteTrigger.pipeline.RemoteBuildPipelineStep'(...) - if you want to use the parameterized-remote-trigger implementation.

  • steps.'com.cloudbees.opscenter.triggers.RemoteTriggerBuilderStep'(...) - if you want to use the Operations Center implementation.

OR

Uninstall the parameterized-remote-trigger plugin so that the step is no longer ambiguous.

This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.