If a Git SCM checkout is configured with multiple repositories then all change sets for the build will use GitHubProjectProperty value for URL when building change links.

      Pipeline Example:

       

      pipeline {
          agent any
      
          stages {
              stage('Checkout'){
                  steps {
                      checkout(
                          [
                              $class: 'GitSCM', 
                              branches: [[name: '*/master']],
                              doGenerateSubmoduleConfigurations: false,
                              extensions: [],
                              submoduleCfg: [],
                              userRemoteConfigs: [
                                  [credentialsId: 'githubId', url: 'https://github.com/Organization/repo-one'], 
                                  [credentialsId: 'githubId', url: 'https://github.com/Organization/repo-two']
                              ]
                          ]
                      )
                  }
              }
          }
      }

       

      If I were to trigger a build by pushing a change to 'https://github.com/Organization/repo-two' then the change set links would be 'https://github.com/Organization/repo-one/commit/<CommitId>' resulting in a 404.

      To clarify this still happens even if the repositories are broken into seperate SCM checkouts in a single pipeline. Issue is slightly mitigated by declaring the repository browser type on the individual checkouts.

      This also occurs on non pipeline jobs as well.

          [JENKINS-45815] Wrong ChangeSet Url for N+1 Repositories.

            Unassigned Unassigned
            tahoward Trevor Howard
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: