diff --git a/src/main/java/jenkins/plugins/git/AbstractGitSCMSource.java b/src/main/java/jenkins/plugins/git/AbstractGitSCMSource.java index 7bec990bf3..24d5253377 100644 --- a/src/main/java/jenkins/plugins/git/AbstractGitSCMSource.java +++ b/src/main/java/jenkins/plugins/git/AbstractGitSCMSource.java @@ -787,10 +787,14 @@ protected List retrieveActions(@NonNull SCMHead head, @CheckForNull SCMH */ @Override protected boolean isCategoryEnabled(@NonNull SCMHeadCategory category) { - if (category instanceof TagSCMHeadCategory) { - return new GitSCMSourceContext<>(null, SCMHeadObserver.none()).withTraits(getTraits()).wantTags(); + if (super.isCategoryEnabled(category)) { + for (SCMSourceTrait trait : getTraits()) { + if (trait.isCategoryEnabled(category)) { + return true; + } + } } - return super.isCategoryEnabled(category); + return false; } protected String getCacheEntry() { diff --git a/src/main/java/jenkins/plugins/git/traits/TagDiscoveryTrait.java b/src/main/java/jenkins/plugins/git/traits/TagDiscoveryTrait.java index ad025e3ee3..5a65aa34e1 100644 --- a/src/main/java/jenkins/plugins/git/traits/TagDiscoveryTrait.java +++ b/src/main/java/jenkins/plugins/git/traits/TagDiscoveryTrait.java @@ -44,6 +44,7 @@ import jenkins.scm.api.trait.SCMSourceRequest; import jenkins.scm.api.trait.SCMSourceTrait; import jenkins.scm.api.trait.SCMSourceTraitDescriptor; +import jenkins.scm.impl.TagSCMHeadCategory; import jenkins.scm.impl.trait.Discovery; import org.kohsuke.stapler.DataBoundConstructor; @@ -75,7 +76,7 @@ protected void decorateContext(SCMSourceContext context) { */ @Override public boolean includeCategory(@NonNull SCMHeadCategory category) { - return category.isUncategorized(); + return category instanceof TagSCMHeadCategory; } /**