diff --git a/src/main/java/org/jenkinsci/plugins/github_branch_source/BranchDiscoveryTrait.java b/src/main/java/org/jenkinsci/plugins/github_branch_source/BranchDiscoveryTrait.java index a301af9f4..172f48e67 100644 --- a/src/main/java/org/jenkinsci/plugins/github_branch_source/BranchDiscoveryTrait.java +++ b/src/main/java/org/jenkinsci/plugins/github_branch_source/BranchDiscoveryTrait.java @@ -6,6 +6,7 @@ import hudson.util.ListBoxModel; import jenkins.scm.api.SCMHead; import jenkins.scm.api.SCMHeadCategory; +import jenkins.scm.api.SCMHeadOrigin; import jenkins.scm.api.SCMRevision; import jenkins.scm.api.trait.SCMBuilder; import jenkins.scm.api.trait.SCMHeadAuthority; @@ -135,6 +136,11 @@ public static class DescriptorImpl extends SCMHeadAuthorityDescriptor { public String getDisplayName() { return null; } + + @Override + public boolean isApplicableToOrigin(@NonNull Class originClass) { + return SCMHeadOrigin.Default.class.isAssignableFrom(originClass); + } } } } diff --git a/src/main/java/org/jenkinsci/plugins/github_branch_source/ForkPullRequestDiscoveryTrait.java b/src/main/java/org/jenkinsci/plugins/github_branch_source/ForkPullRequestDiscoveryTrait.java index 03e3e81d4..77c9ccbef 100644 --- a/src/main/java/org/jenkinsci/plugins/github_branch_source/ForkPullRequestDiscoveryTrait.java +++ b/src/main/java/org/jenkinsci/plugins/github_branch_source/ForkPullRequestDiscoveryTrait.java @@ -2,10 +2,8 @@ import edu.umd.cs.findbugs.annotations.NonNull; import hudson.Extension; -import hudson.ExtensionList; import hudson.scm.SCM; import hudson.util.ListBoxModel; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import jenkins.scm.api.SCMHeadCategory; @@ -101,14 +99,12 @@ public ListBoxModel doFillStrategyIdItems() { } public List getTrustDescriptors() { - List result = new ArrayList<>(); - for (SCMHeadAuthorityDescriptor d : ExtensionList.lookup(SCMHeadAuthorityDescriptor.class)) { - if (d.isApplicableToRequest(GitHubSCMSourceRequest.class) - && d.isApplicableToHead(PullRequestSCMHead.class)) { - result.add(d); - } - } - return result; + return SCMHeadAuthority._for( + GitHubSCMSourceRequest.class, + ChangeRequestSCMHead2.class, + null, + SCMHeadOrigin.Fork.class + ); } } @@ -133,6 +129,11 @@ public static class DescriptorImpl extends SCMHeadAuthorityDescriptor { public String getDisplayName() { return "Contributors"; } + + @Override + public boolean isApplicableToOrigin(@NonNull Class originClass) { + return SCMHeadOrigin.Fork.class.isAssignableFrom(originClass); + } } } @@ -153,6 +154,11 @@ public static class DescriptorImpl extends SCMHeadAuthorityDescriptor { public String getDisplayName() { return "Nobody"; } + + @Override + public boolean isApplicableToOrigin(@NonNull Class originClass) { + return SCMHeadOrigin.Fork.class.isAssignableFrom(originClass); + } } } @@ -173,6 +179,11 @@ public static class DescriptorImpl extends SCMHeadAuthorityDescriptor { public String getDisplayName() { return "Everyone"; } + + @Override + public boolean isApplicableToOrigin(@NonNull Class originClass) { + return SCMHeadOrigin.Fork.class.isAssignableFrom(originClass); + } } } } diff --git a/src/main/java/org/jenkinsci/plugins/github_branch_source/OriginPullRequestDiscoveryTrait.java b/src/main/java/org/jenkinsci/plugins/github_branch_source/OriginPullRequestDiscoveryTrait.java index 1d13eab44..b44490a75 100644 --- a/src/main/java/org/jenkinsci/plugins/github_branch_source/OriginPullRequestDiscoveryTrait.java +++ b/src/main/java/org/jenkinsci/plugins/github_branch_source/OriginPullRequestDiscoveryTrait.java @@ -101,6 +101,11 @@ public static class DescriptorImpl extends SCMHeadAuthorityDescriptor { public String getDisplayName() { return null; } + + @Override + public boolean isApplicableToOrigin(@NonNull Class originClass) { + return SCMHeadOrigin.Default.class.isAssignableFrom(originClass); + } } } }