-
Bug
-
Resolution: Unresolved
-
Major
-
None
Given a project configured as:
organizationFolder("Org1/Org2") { organizations { gitLabSCMNavigator { projectOwner("Org1/Org2") credentialsId("cee-gitlab-token") serverName("cee-gitlab-server") traits { gitLabBranchDiscovery { strategyId(3) // discover all branches } originMergeRequestDiscoveryTrait { strategyId(1) // discover MRs and merge them with target branch } logComment { logSuccess(true) } mrTriggerComment { commentBody("jenkins rebuild") onlyTrustedMembersCanTrigger(true) } } } } // "Traits" ("Behaviours" in the GUI) that are NOT "declarative-compatible" // For some 'traits', we need to configure this stuff by hand until JobDSL handles it // https://issues.jenkins.io/browse/JENKINS-45504 configure { def traits = it / navigators / 'io.jenkins.plugins.gitlabbranchsource.GitLabSCMNavigator' / traits traits << 'io.jenkins.plugins.gitlabbranchsource.ForkMergeRequestDiscoveryTrait' { strategyId(2) trust(class: 'io.jenkins.plugins.gitlabbranchsource.ForkMergeRequestDiscoveryTrait$TrustPermission') } } projectFactories { workflowMultiBranchProjectFactory { scriptPath 'Jenkinsfile' } } // "Orphaned Item Strategy" orphanedItemStrategy { discardOldItems { daysToKeep(10) numToKeep(5) } } // "Scan Organization Folder Triggers" : 1 day // We need to configure this stuff by hand because JobDSL only allow 'periodic(int min)' for now triggers { periodicFolderTrigger { interval('1d') } } }
Scanning for branches/MRs gets aborted on a first MR that is from a private repository. MRs from public forks and from that repository itself are detected correctly.
Checking merge requests.. Checking merge request !9 ERROR: [Wed Aug 03 07:08:00 UTC 2022] Could not fetch branches from source io.jenkins.plugins.gitlabbranchsource.GitLabSCMNavigator::https://gitlab.example.com::Org1/Org2::Org1/Org2/my-repo [Wed Aug 03 07:08:00 UTC 2022] Finished branch indexing. Indexing took 0.99 sec FATAL: Failed to recompute children of Org1 » Org2 » Org1/Org2/my-repo org.gitlab4j.api.GitLabApiException: 404 Project Not Found at org.gitlab4j.api.AbstractApi.validate(AbstractApi.java:633) at org.gitlab4j.api.AbstractApi.get(AbstractApi.java:213) at org.gitlab4j.api.ProjectApi.getProject(ProjectApi.java:673) at io.jenkins.plugins.gitlabbranchsource.GitLabSCMSource.retrieve(GitLabSCMSource.java:417) Caused: java.io.IOException: Failed to fetch latest heads at io.jenkins.plugins.gitlabbranchsource.GitLabSCMSource.retrieve(GitLabSCMSource.java:538) at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:373) at jenkins.scm.api.SCMSource.fetch(SCMSource.java:283) at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:641) at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:278) at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:166) at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1032) at hudson.model.ResourceController.execute(ResourceController.java:99) at hudson.model.Executor.run(Executor.java:431) Finished: FAILURE
There are essentially 2 consequences:
- None other MRs are discovered, even when they would not run into this bug. The scanning is aborted on first such MR.
- There is no indication why exactly the MR cannot be discovered. The log points to the target repo, while the problem is in reading from the source one.