package com.ribose.jenkins.plugin.awscodecommittrigger.credentials; import com.cloudbees.jenkins.plugins.awscredentials.AmazonWebServicesCredentials; import com.cloudbees.plugins.credentials.Credentials; import com.cloudbees.plugins.credentials.CredentialsMatchers; import com.cloudbees.plugins.credentials.CredentialsProvider; import hudson.model.Item; import hudson.security.ACL; import org.apache.commons.lang.StringUtils; import javax.annotation.CheckForNull; import javax.annotation.Nullable; public final class AwsCredentialsHelper { private AwsCredentialsHelper() { } @CheckForNull public static AmazonWebServicesCredentials getCredentials(@Nullable String credentialsId) { return AwsCredentialsHelper.getCredentials(AmazonWebServicesCredentials.class, credentialsId); } @CheckForNull public static <T extends Credentials> T getCredentials(Class<T> clz, @Nullable String credentialsId) { if (StringUtils.isBlank(credentialsId)) { return null; } return CredentialsMatchers.firstOrNull( CredentialsProvider.lookupCredentials(clz, (Item) null, ACL.SYSTEM, null, null), CredentialsMatchers.withId(credentialsId) ); } }