Skip to content

Commit 23cf60a

Browse files
authored
Merge pull request #1498 from jglick/byId
Use `CredentialsProvider.findCredentialByIdInItem`
2 parents a4f42f8 + 23c7a8d commit 23cf60a

File tree

3 files changed

+27
-38
lines changed

3 files changed

+27
-38
lines changed

pom.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,16 @@
4545
<dependency>
4646
<groupId>io.jenkins.tools.bom</groupId>
4747
<artifactId>bom-${jenkins.baseline}.x</artifactId>
48-
<version>5543.vfd758c7c868d</version>
48+
<version>5804.v80587a_38d937</version>
4949
<type>pom</type>
5050
<scope>import</scope>
5151
</dependency>
52+
<!-- TODO until in BOM -->
53+
<dependency>
54+
<groupId>org.jenkins-ci.plugins</groupId>
55+
<artifactId>credentials</artifactId>
56+
<version>1480.v2246fd131e83</version>
57+
</dependency>
5258
</dependencies>
5359
</dependencyManagement>
5460

src/main/java/org/jenkinsci/plugins/github_branch_source/Connector.java

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import static java.util.logging.Level.FINE;
2828
import static java.util.logging.Level.WARNING;
2929

30-
import com.cloudbees.plugins.credentials.CredentialsMatcher;
31-
import com.cloudbees.plugins.credentials.CredentialsMatchers;
3230
import com.cloudbees.plugins.credentials.CredentialsNameProvider;
3331
import com.cloudbees.plugins.credentials.CredentialsProvider;
3432
import com.cloudbees.plugins.credentials.common.StandardCredentials;
@@ -131,12 +129,11 @@ public static ListBoxModel listScanCredentials(@CheckForNull SCMSourceOwner cont
131129
public static ListBoxModel listScanCredentials(@CheckForNull Item context, String apiUri) {
132130
return new StandardListBoxModel()
133131
.includeEmptyValue()
134-
.includeMatchingAs(
135-
context instanceof Queue.Task ? ((Queue.Task) context).getDefaultAuthentication() : ACL.SYSTEM,
132+
.includeAs(
133+
context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
136134
context,
137-
StandardUsernameCredentials.class,
138-
githubDomainRequirements(apiUri),
139-
githubScanCredentialsMatcher());
135+
StandardUsernamePasswordCredentials.class,
136+
githubDomainRequirements(apiUri));
140137
}
141138

142139
/**
@@ -298,16 +295,12 @@ public static StandardCredentials lookupScanCredentials(
298295
if (Util.fixEmpty(scanCredentialsId) == null) {
299296
return null;
300297
}
301-
StandardCredentials c = CredentialsMatchers.firstOrNull(
302-
CredentialsProvider.lookupCredentialsInItem(
303-
StandardUsernameCredentials.class,
304-
context,
305-
context instanceof Queue.Task
306-
? ((Queue.Task) context).getDefaultAuthentication2()
307-
: ACL.SYSTEM2,
308-
githubDomainRequirements(apiUri)),
309-
CredentialsMatchers.allOf(
310-
CredentialsMatchers.withId(scanCredentialsId), githubScanCredentialsMatcher()));
298+
var c = CredentialsProvider.findCredentialByIdInItem(
299+
scanCredentialsId,
300+
StandardUsernamePasswordCredentials.class,
301+
context,
302+
context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
303+
githubDomainRequirements(apiUri));
311304
if (c instanceof GitHubAppCredentials && repoOwner != null) {
312305
// Note: We considered adding an overload so that all existing callers in this plugin could
313306
// specify an exact repository and granular permission, but decided against it. This method
@@ -334,6 +327,7 @@ public static StandardCredentials lookupScanCredentials(
334327
* @return the {@link StandardCredentials} or {@code null}
335328
* @deprecated use {@link #listCheckoutCredentials(Item, String)}
336329
*/
330+
@Deprecated
337331
@NonNull
338332
public static ListBoxModel listCheckoutCredentials(@CheckForNull SCMSourceOwner context, String apiUri) {
339333
return listCheckoutCredentials((Item) context, apiUri);
@@ -354,7 +348,7 @@ public static ListBoxModel listCheckoutCredentials(@CheckForNull Item context, S
354348
result.add("- same as scan credentials -", GitHubSCMSource.DescriptorImpl.SAME);
355349
result.add("- anonymous -", GitHubSCMSource.DescriptorImpl.ANONYMOUS);
356350
return result.includeMatchingAs(
357-
context instanceof Queue.Task ? ((Queue.Task) context).getDefaultAuthentication() : ACL.SYSTEM,
351+
context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
358352
context,
359353
StandardUsernameCredentials.class,
360354
githubDomainRequirements(apiUri),
@@ -521,11 +515,6 @@ public static void release(@CheckForNull GitHub hub) {
521515
}
522516
}
523517

524-
private static CredentialsMatcher githubScanCredentialsMatcher() {
525-
// TODO OAuth credentials
526-
return CredentialsMatchers.anyOf(CredentialsMatchers.instanceOf(StandardUsernamePasswordCredentials.class));
527-
}
528-
529518
static List<DomainRequirement> githubDomainRequirements(String apiUri) {
530519
return URIRequirementBuilder.fromUri(StringUtils.defaultIfEmpty(apiUri, GitHubServerConfig.GITHUB_URL))
531520
.build();

src/main/java/org/jenkinsci/plugins/github_branch_source/GitHubSCMBuilder.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
import com.cloudbees.jenkins.plugins.sshcredentials.SSHUserPrivateKey;
2727
import com.cloudbees.plugins.credentials.Credentials;
28-
import com.cloudbees.plugins.credentials.CredentialsMatchers;
2928
import com.cloudbees.plugins.credentials.CredentialsProvider;
3029
import com.cloudbees.plugins.credentials.common.IdCredentials;
3130
import com.cloudbees.plugins.credentials.common.StandardCredentials;
@@ -219,19 +218,14 @@ public static RepositoryUriResolver uriResolver(
219218
if (credentialsId == null) {
220219
return HTTPS;
221220
} else {
222-
StandardCredentials credentials = CredentialsMatchers.firstOrNull(
223-
CredentialsProvider.lookupCredentialsInItem(
224-
StandardCredentials.class,
225-
context,
226-
context instanceof Queue.Task
227-
? ((Queue.Task) context).getDefaultAuthentication2()
228-
: ACL.SYSTEM2,
229-
URIRequirementBuilder.create()
230-
.withHostname(RepositoryUriResolver.hostnameFromApiUri(apiUri))
231-
.build()),
232-
CredentialsMatchers.allOf(
233-
CredentialsMatchers.withId(credentialsId),
234-
CredentialsMatchers.instanceOf(StandardCredentials.class)));
221+
var credentials = CredentialsProvider.findCredentialByIdInItem(
222+
credentialsId,
223+
StandardCredentials.class,
224+
context,
225+
context instanceof Queue.Task t ? t.getDefaultAuthentication2() : ACL.SYSTEM2,
226+
URIRequirementBuilder.create()
227+
.withHostname(RepositoryUriResolver.hostnameFromApiUri(apiUri))
228+
.build());
235229
if (credentials instanceof SSHUserPrivateKey) {
236230
return SSH;
237231
} else {

0 commit comments

Comments
 (0)