Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-12418

flexible publish - Parametrized trigger does not work

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • None
    • Jenkins 1.446 on RHEL 6
      Plugin:run-condition, 0.7,
      Plugin:flexible-publish, 0.7
      Plugin:token-macro, 1.5.1,
      Plugin:conditional-buildstep,
      Plugin:any-buildstep, 0.1,
      Plugin:parameterized-trigger, 2.12

      Enable flexible publish and set any condition and add the Parametrized Trigger plugin, set the next job and some parameters.

      Log shows that it should have been called.

      Run condition [Always] enabling perform for step [Trigger parameterized build on other projects]
      Strings match run condition: string 1=[], string 2=[]
      Run condition [Not] preventing perform for step [Trigger parameterized build on other projects]
      [ArtifactDeployer] - Starting deployment from the post-action ...
      [ArtifactDeployer] - 2 file(s) have been copied from the workspace to '/company/site/groups/jenkins_wp/fahud022/property_files/CHAIN1_MCL_0_Start_2012-01-16_09-58-38'.
      [ArtifactDeployer] - Stopping deployment from the post-action...

      Next job is not called and they do not show up as Downstream Projects on the project page

      possible solutions:

      1. Flex publish Plugin should implement DependecyDeclarer and call any other publishers that require it, if this is possible and makes sense.

      2. Add use of run condition plugin to parametrized trigger plugin. and prevent flexible publish from using parametrized trigger plugin.

          [JENKINS-12418] flexible publish - Parametrized trigger does not work

          cjo9900 created issue -

          bap added a comment -

          Hi,
          Can you re check the logic (change the result of the Run condition that is inside the not) and try again?

          The line "Run condition [Not] preventing perform for step [Trigger parameterized build on other projects]"
          is actually stating that the Run condition called "Not" is preventing the step called "Trigger param..." from being run.

          So from that output, I would not have expected the parameterized trigger step to have executed.

          bap added a comment - Hi, Can you re check the logic (change the result of the Run condition that is inside the not) and try again? The line "Run condition [Not] preventing perform for step [Trigger parameterized build on other projects] " is actually stating that the Run condition called "Not" is preventing the step called "Trigger param..." from being run. So from that output, I would not have expected the parameterized trigger step to have executed.

          cjo9900 added a comment - - edited

          I tested the always and not string == string cases

          Always case:

          Run condition [Always] enabling perform for step [Trigger parameterized build on other projects]

          not string == string case:

          Strings match run condition: string 1=[], string 2=[]
          Run condition [Not] preventing perform for step [Trigger parameterized build on other projects]

          both gave the same results,

          The reason is that the trigger parameterized build performs no action in the Perform code.
          This is because it creates Dependancy's that it attaches to the DependancyGraph in
          buildDependencyGraph() which is part of the DependecyDeclarer interface

          	@Override
          	public void buildDependencyGraph(AbstractProject owner, DependencyGraph graph) {
          		// Can only add dependencies in Hudson 1.341 or higher
          		if (!canDeclare(owner)) return;
          
          		for (BuildTriggerConfig config : configs)
          			for (AbstractProject project : config.getProjectList(null))
          				ParameterizedDependency.add(owner, project, config, graph);
          	}
          

          cjo9900 added a comment - - edited I tested the always and not string == string cases Always case: Run condition [Always] enabling perform for step [Trigger parameterized build on other projects] not string == string case: Strings match run condition: string 1=[], string 2=[] Run condition [Not] preventing perform for step [Trigger parameterized build on other projects] both gave the same results, The reason is that the trigger parameterized build performs no action in the Perform code. This is because it creates Dependancy's that it attaches to the DependancyGraph in buildDependencyGraph() which is part of the DependecyDeclarer interface @Override public void buildDependencyGraph(AbstractProject owner, DependencyGraph graph) { // Can only add dependencies in Hudson 1.341 or higher if (!canDeclare(owner)) return ; for (BuildTriggerConfig config : configs) for (AbstractProject project : config.getProjectList( null )) ParameterizedDependency.add(owner, project, config, graph); }

          bap added a comment -

          Sorry, I just saw the the 2nd entry - my bad.

          I'll try to have a look at this this evening and see if there is anything that can be done from the Flexible publish side (other than just adding the parameterized trigger to the list of excluded steps)

          bap added a comment - Sorry, I just saw the the 2nd entry - my bad. I'll try to have a look at this this evening and see if there is anything that can be done from the Flexible publish side (other than just adding the parameterized trigger to the list of excluded steps)

          Code changed in jenkins
          User: bap2000
          Path:
          src/main/java/org/jenkins_ci/plugins/flexible_publish/ConditionalPublisher.java
          src/main/java/org/jenkins_ci/plugins/flexible_publish/FlexiblePublisher.java
          http://jenkins-ci.org/commit/flexible-publish-plugin/ca9d155ed5930eecacea781b63d99afcaf18da26
          Log:
          Allow contained steps to participate in building the dependency graph

          [FIXED JENKINS-12418]

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: bap2000 Path: src/main/java/org/jenkins_ci/plugins/flexible_publish/ConditionalPublisher.java src/main/java/org/jenkins_ci/plugins/flexible_publish/FlexiblePublisher.java http://jenkins-ci.org/commit/flexible-publish-plugin/ca9d155ed5930eecacea781b63d99afcaf18da26 Log: Allow contained steps to participate in building the dependency graph [FIXED JENKINS-12418]
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

          bap added a comment -

          Can you build HEAD of master and try out the changes?

          bap added a comment - Can you build HEAD of master and try out the changes?

          bap added a comment -

          Don't bother!
          Unfortunately, when using the change above, the conditions are ignored and the downstream builds will always be triggered.

          I will add the parameterized trigger to the list of excluded publishers.

          bap added a comment - Don't bother! Unfortunately, when using the change above, the conditions are ignored and the downstream builds will always be triggered. I will add the parameterized trigger to the list of excluded publishers.
          cjo9900 made changes -
          Description Original: Enable flexible publish and set any condition and add the Parametrized Trigger plugin, set the next job and some parameters.

          Log shows that it should have been called.

          Run condition [Always] enabling perform for step [Trigger parameterized build on other projects]
          Strings match run condition: string 1=[], string 2=[]
          Run condition [Not] preventing perform for step [Trigger parameterized build on other projects]
          [ArtifactDeployer] - Starting deployment from the post-action ...
          [ArtifactDeployer] - 2 file(s) have been copied from the workspace to '/nokia/fa_nmp/groups/jenkins_wp/fahud022/property_files/CHAIN1_MCL_0_Start_2012-01-16_09-58-38'.
          [ArtifactDeployer] - Stopping deployment from the post-action...

          Next job is not called and they do not show up as Downstream Projects on the project page


          possible solutions:

          1. Flex publish Plugin should implement DependecyDeclarer and call any other publishers that require it, if this is possible and makes sense.

          2. Add use of run condition plugin to parametrized trigger plugin. and prevent flexible publish from using parametrized trigger plugin.





          New: Enable flexible publish and set any condition and add the Parametrized Trigger plugin, set the next job and some parameters.

          Log shows that it should have been called.

          Run condition [Always] enabling perform for step [Trigger parameterized build on other projects]
          Strings match run condition: string 1=[], string 2=[]
          Run condition [Not] preventing perform for step [Trigger parameterized build on other projects]
          [ArtifactDeployer] - Starting deployment from the post-action ...
          [ArtifactDeployer] - 2 file(s) have been copied from the workspace to '/company/site/groups/jenkins_wp/fahud022/property_files/CHAIN1_MCL_0_Start_2012-01-16_09-58-38'.
          [ArtifactDeployer] - Stopping deployment from the post-action...

          Next job is not called and they do not show up as Downstream Projects on the project page


          possible solutions:

          1. Flex publish Plugin should implement DependecyDeclarer and call any other publishers that require it, if this is possible and makes sense.

          2. Add use of run condition plugin to parametrized trigger plugin. and prevent flexible publish from using parametrized trigger plugin.





          cjo9900 added a comment -

          Ok, I expected this,
          I will work on the parameterized trigger to add run condition support replacing existing job result only.

          cjo9900 added a comment - Ok, I expected this, I will work on the parameterized trigger to add run condition support replacing existing job result only.

            bap bap
            cjo9900 cjo9900
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: