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

Join doesn't trigger if downstream project(s) fail

      Suppose Job A has 2 downstream projects B and C. Project D should execute only after both B and C have completed. D should trigger even if either B or C or both fail.
      A
      / \
      B C
      \ /
      D

      However with the current version of join plugin (1.15), D only executes if B and C are stable/success. If either of the downstream job fail, I get this message "Minimum result threshold not met for join project"

      It will be good to have an option where user can force D to run even if B and/or C fail.
      From he description of the Join plugin it seems like it should allow job D to run once B and C have completed (irrespective of whether they pass or fail).
      "This plugin allows a job to be run after all the immediate downstream jobs have completed"

      For example in the use-case where you want to fire an email notification after both B and C have completed OR send test results after B and C tests have been executed etc.

      The code lies in https://svn.jenkins-ci.org/tags/join-1.6/src/main/java/join/JoinAction.java

      Code:
      Result threshold = this.evenIfDownstreamUnstable ? Result.UNSTABLE : Result.SUCCESS;
      if(this.overallResult.isWorseThan(threshold))

      { listener.getLogger().println("Minimum result threshold not met for join project"); }

      There should be an option to lower the threshold to Result.FAIL from the jenkins UI.

          [JENKINS-28073] Join doesn't trigger if downstream project(s) fail

          Masooma Faquih created issue -
          Masooma Faquih made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Masooma Faquih made changes -
          Description Original: Suppose Job A has 2 downstream projects B and C. Project D should execute only after both B and C have completed. D should trigger even if either B or C or both fail.
             A
           / \
           B C
           \ /
             D

          However with the current version of join plugin (1.15), D only executes if B and C are stable/success. If either of the downstream job fail, I get this message "Minimum result threshold not met for join project"

          It will be good to have an option where user can force D to run even if B and/or C fail.

          For example in the use-case where you want to fire an email notification after both B and C have completed OR send test results after B and C tests have been executed etc.

          The code lies in https://svn.jenkins-ci.org/tags/join-1.6/src/main/java/join/JoinAction.java

          Code:
           if(this.overallResult.isWorseThan(threshold)) {
                          listener.getLogger().println("Minimum result threshold not met for join project");
                      }

          There should be an option to lower the threshold to Result.FAIL from the jenkins UI.
          New: Suppose Job A has 2 downstream projects B and C. Project D should execute only after both B and C have completed. D should trigger even if either B or C or both fail.
             A
           / \
           B C
           \ /
             D

          However with the current version of join plugin (1.15), D only executes if B and C are stable/success. If either of the downstream job fail, I get this message "Minimum result threshold not met for join project"

          It will be good to have an option where user can force D to run even if B and/or C fail.

          For example in the use-case where you want to fire an email notification after both B and C have completed OR send test results after B and C tests have been executed etc.

          The code lies in https://svn.jenkins-ci.org/tags/join-1.6/src/main/java/join/JoinAction.java

          Code:
           Result threshold = this.evenIfDownstreamUnstable ? Result.UNSTABLE : Result.SUCCESS;
           if(this.overallResult.isWorseThan(threshold)) {
                          listener.getLogger().println("Minimum result threshold not met for join project");
                      }

          There should be an option to lower the threshold to Result.FAIL from the jenkins UI.
          Christopher Orr made changes -
          Component/s New: join-plugin [ 15635 ]
          Component/s Original: ci [ 18920 ]
          Key Original: INFRA-281 New: JENKINS-28073
          Project Original: Infrastructure [ 10301 ] New: Jenkins [ 10172 ]
          Workflow Original: jira [ 162677 ] New: JNJira [ 162678 ]
          Christopher Orr made changes -
          Assignee Original: R. Tyler Croy [ rtyler ] New: mdonohue [ mdonohue ]
          Masooma Faquih made changes -
          Description Original: Suppose Job A has 2 downstream projects B and C. Project D should execute only after both B and C have completed. D should trigger even if either B or C or both fail.
             A
           / \
           B C
           \ /
             D

          However with the current version of join plugin (1.15), D only executes if B and C are stable/success. If either of the downstream job fail, I get this message "Minimum result threshold not met for join project"

          It will be good to have an option where user can force D to run even if B and/or C fail.

          For example in the use-case where you want to fire an email notification after both B and C have completed OR send test results after B and C tests have been executed etc.

          The code lies in https://svn.jenkins-ci.org/tags/join-1.6/src/main/java/join/JoinAction.java

          Code:
           Result threshold = this.evenIfDownstreamUnstable ? Result.UNSTABLE : Result.SUCCESS;
           if(this.overallResult.isWorseThan(threshold)) {
                          listener.getLogger().println("Minimum result threshold not met for join project");
                      }

          There should be an option to lower the threshold to Result.FAIL from the jenkins UI.
          New: Suppose Job A has 2 downstream projects B and C. Project D should execute only after both B and C have completed. D should trigger even if either B or C or both fail.
             A
           / \
           B C
           \ /
             D

          However with the current version of join plugin (1.15), D only executes if B and C are stable/success. If either of the downstream job fail, I get this message "Minimum result threshold not met for join project"

          It will be good to have an option where user can force D to run even if B and/or C fail.
          From he description of the Join plugin it seems like it should allow job D to run once B and C have completed (irrespective of whether they pass or fail).
          "This plugin allows a job to be run after all the immediate downstream jobs have completed"

          For example in the use-case where you want to fire an email notification after both B and C have completed OR send test results after B and C tests have been executed etc.

          The code lies in https://svn.jenkins-ci.org/tags/join-1.6/src/main/java/join/JoinAction.java

          Code:
           Result threshold = this.evenIfDownstreamUnstable ? Result.UNSTABLE : Result.SUCCESS;
           if(this.overallResult.isWorseThan(threshold)) {
                          listener.getLogger().println("Minimum result threshold not met for join project");
                      }

          There should be an option to lower the threshold to Result.FAIL from the jenkins UI.
          Issue Type Original: Improvement [ 4 ] New: Bug [ 1 ]
          Priority Original: Major [ 3 ] New: Blocker [ 1 ]
          robsimon made changes -
          Link New: This issue duplicates JENKINS-24566 [ JENKINS-24566 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 162678 ] New: JNJira + In-Review [ 181020 ]

            mdonohue mdonohue
            masoomaf Masooma Faquih
            Votes:
            5 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: