-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Jenkins:2.60.1
github-branch-source:2.0.6
When a repo has an open PR that originates from a deleted fork, GitHub does not automatically remove the PR. Therefore you end up with something like the following, an unknown repository:
And this breaks the branch indexing:
Looking up test-org-2/50579 Getting remote pull requests... Checking pull request #1 ERROR: [Tue Jul 04 06:31:43 UTC 2017] Could not fetch branches from source ffecb3b1-5acc-48ae-80d7-daafa2ed99ca java.lang.NullPointerException at org.jenkinsci.plugins.github_branch_source.GitHubSCMSource.doRetrieve(GitHubSCMSource.java:623) at org.jenkinsci.plugins.github_branch_source.GitHubSCMSource.retrieve(GitHubSCMSource.java:462) at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:300) at jenkins.scm.api.SCMSource.fetch(SCMSource.java:210) at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:630) at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:266) at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:162) at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:969) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:405) [Tue Jul 04 06:31:43 UTC 2017] Finished branch indexing. Indexing took 0.45 sec FATAL: Failed to recompute children of aburdajewicz ยป test50579 java.lang.NullPointerException at org.jenkinsci.plugins.github_branch_source.GitHubSCMSource.doRetrieve(GitHubSCMSource.java:623) at org.jenkinsci.plugins.github_branch_source.GitHubSCMSource.retrieve(GitHubSCMSource.java:462) at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:300) at jenkins.scm.api.SCMSource.fetch(SCMSource.java:210) at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:630) at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:266) at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:162) at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:969) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:405) Finished: FAILURE
Why PR are not automatically deleted? Probably because in GitHub, an inactive PR can still be merged: https://help.github.com/articles/checking-out-pull-requests-locally/#modifying-an-inactive-pull-request-locally.
The only way to have branch indexing work again is to ensure you don't have any inactive PR.
How to reproduce
- Create a repo in an GH organization
- Create a fork in a different account
- Open a PR from the fork to the original repo
- Trigger branch indexing (branches and PRs are retrieved)
- Delete the fork
- Trigger branch indexing -> it fails with an NPE
- duplicates
-
JENKINS-41246 Branch scanning fails when PR refer to a deleted fork
- Closed
- links to