diff --git a/pom.xml b/pom.xml
index 3235e2aba..80ef8bff8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,10 +45,16 @@
io.jenkins.tools.bom
bom-${jenkins.baseline}.x
- 5543.vfd758c7c868d
+ 5804.v80587a_38d937
pom
import
+
+
+ org.jenkins-ci.plugins
+ credentials
+ 1480.v2246fd131e83
+
diff --git a/src/main/java/org/jenkinsci/plugins/github_branch_source/Connector.java b/src/main/java/org/jenkinsci/plugins/github_branch_source/Connector.java
index d6a30fc14..8a8a52eae 100644
--- a/src/main/java/org/jenkinsci/plugins/github_branch_source/Connector.java
+++ b/src/main/java/org/jenkinsci/plugins/github_branch_source/Connector.java
@@ -27,8 +27,6 @@
import static java.util.logging.Level.FINE;
import static java.util.logging.Level.WARNING;
-import com.cloudbees.plugins.credentials.CredentialsMatcher;
-import com.cloudbees.plugins.credentials.CredentialsMatchers;
import com.cloudbees.plugins.credentials.CredentialsNameProvider;
import com.cloudbees.plugins.credentials.CredentialsProvider;
import com.cloudbees.plugins.credentials.common.StandardCredentials;
@@ -131,12 +129,11 @@ public static ListBoxModel listScanCredentials(@CheckForNull SCMSourceOwner cont
public static ListBoxModel listScanCredentials(@CheckForNull Item context, String apiUri) {
return new StandardListBoxModel()
.includeEmptyValue()
- .includeMatchingAs(
- context instanceof Queue.Task ? ((Queue.Task) context).getDefaultAuthentication() : ACL.SYSTEM,
+ .includeAs(
+ context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
context,
- StandardUsernameCredentials.class,
- githubDomainRequirements(apiUri),
- githubScanCredentialsMatcher());
+ StandardUsernamePasswordCredentials.class,
+ githubDomainRequirements(apiUri));
}
/**
@@ -298,16 +295,12 @@ public static StandardCredentials lookupScanCredentials(
if (Util.fixEmpty(scanCredentialsId) == null) {
return null;
}
- StandardCredentials c = CredentialsMatchers.firstOrNull(
- CredentialsProvider.lookupCredentialsInItem(
- StandardUsernameCredentials.class,
- context,
- context instanceof Queue.Task
- ? ((Queue.Task) context).getDefaultAuthentication2()
- : ACL.SYSTEM2,
- githubDomainRequirements(apiUri)),
- CredentialsMatchers.allOf(
- CredentialsMatchers.withId(scanCredentialsId), githubScanCredentialsMatcher()));
+ var c = CredentialsProvider.findCredentialByIdInItem(
+ scanCredentialsId,
+ StandardUsernamePasswordCredentials.class,
+ context,
+ context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
+ githubDomainRequirements(apiUri));
if (c instanceof GitHubAppCredentials && repoOwner != null) {
// Note: We considered adding an overload so that all existing callers in this plugin could
// specify an exact repository and granular permission, but decided against it. This method
@@ -334,6 +327,7 @@ public static StandardCredentials lookupScanCredentials(
* @return the {@link StandardCredentials} or {@code null}
* @deprecated use {@link #listCheckoutCredentials(Item, String)}
*/
+ @Deprecated
@NonNull
public static ListBoxModel listCheckoutCredentials(@CheckForNull SCMSourceOwner context, String apiUri) {
return listCheckoutCredentials((Item) context, apiUri);
@@ -354,7 +348,7 @@ public static ListBoxModel listCheckoutCredentials(@CheckForNull Item context, S
result.add("- same as scan credentials -", GitHubSCMSource.DescriptorImpl.SAME);
result.add("- anonymous -", GitHubSCMSource.DescriptorImpl.ANONYMOUS);
return result.includeMatchingAs(
- context instanceof Queue.Task ? ((Queue.Task) context).getDefaultAuthentication() : ACL.SYSTEM,
+ context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
context,
StandardUsernameCredentials.class,
githubDomainRequirements(apiUri),
@@ -521,11 +515,6 @@ public static void release(@CheckForNull GitHub hub) {
}
}
- private static CredentialsMatcher githubScanCredentialsMatcher() {
- // TODO OAuth credentials
- return CredentialsMatchers.anyOf(CredentialsMatchers.instanceOf(StandardUsernamePasswordCredentials.class));
- }
-
static List githubDomainRequirements(String apiUri) {
return URIRequirementBuilder.fromUri(StringUtils.defaultIfEmpty(apiUri, GitHubServerConfig.GITHUB_URL))
.build();
diff --git a/src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMBuilder.java b/src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMBuilder.java
index 962b9707e..39ddb8e1a 100644
--- a/src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMBuilder.java
+++ b/src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMBuilder.java
@@ -25,7 +25,6 @@
import com.cloudbees.jenkins.plugins.sshcredentials.SSHUserPrivateKey;
import com.cloudbees.plugins.credentials.Credentials;
-import com.cloudbees.plugins.credentials.CredentialsMatchers;
import com.cloudbees.plugins.credentials.CredentialsProvider;
import com.cloudbees.plugins.credentials.common.IdCredentials;
import com.cloudbees.plugins.credentials.common.StandardCredentials;
@@ -219,19 +218,14 @@ public static RepositoryUriResolver uriResolver(
if (credentialsId == null) {
return HTTPS;
} else {
- StandardCredentials credentials = CredentialsMatchers.firstOrNull(
- CredentialsProvider.lookupCredentialsInItem(
- StandardCredentials.class,
- context,
- context instanceof Queue.Task
- ? ((Queue.Task) context).getDefaultAuthentication2()
- : ACL.SYSTEM2,
- URIRequirementBuilder.create()
- .withHostname(RepositoryUriResolver.hostnameFromApiUri(apiUri))
- .build()),
- CredentialsMatchers.allOf(
- CredentialsMatchers.withId(credentialsId),
- CredentialsMatchers.instanceOf(StandardCredentials.class)));
+ var credentials = CredentialsProvider.findCredentialByIdInItem(
+ credentialsId,
+ StandardCredentials.class,
+ context,
+ context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
+ URIRequirementBuilder.create()
+ .withHostname(RepositoryUriResolver.hostnameFromApiUri(apiUri))
+ .build());
if (credentials instanceof SSHUserPrivateKey) {
return SSH;
} else {