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

Fingerprint handling and upstream relationships not work if more than two jobs in chain.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core
    • None

      If file for fingerprints is copied from upstream job, and then passed to downstream job, downstream job's getUpstreamRelationshipBuild() returns null.

      Easiest explain by using examples.

      Example1 Working case:
      Job1#1 artifact/fingerprint file1 and trigger job2#1, which getArtifactsFrom upstream job and fingerprint it..
      In script console:
      import jenkins.model.*
      def job2 = Jenkins.instance.getJob("job2")
      def build2=job.getBuildByNumber(1)
      def job1 = Jenkins.instance.getJob("job1")
      build2.getUpstreamRelationshipBuild(job1); // this return job1#1 GREAT!
      Example2 NOT Working case:
      JobA artifact/fingerprint file1 and trigger job1, which getArtifactsFrom upstream job and fingerprint it. Then this continues like working example 1.
      Job1#1 artifact/fingerprint file1 and trigger job2#1, which getArtifactsFrom upstream job and fingerprint it..
      In script console:
      import jenkins.model.*
      def job2 = Jenkins.instance.getJob("job2")
      def build2=job.getBuildByNumber(1)
      def job1 = Jenkins.instance.getJob("job1")
      build2.getUpstreamRelationshipBuild(job1) // this return null DAMN!
      build2.getUpstreamBuilds() /this returns [:]
      build2.getTransitiveUpstreamBuilds() //this returns jobA object
      But point is that promotion not work as there is upstreamRelationShip broken. Workaround for this is that you made own specific file in job1 and fingerprint that in job1 and job2

            Unassigned Unassigned
            karisivo Kari Sivonen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: