Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: adapted the [GitHubChecksPublisher] to be compatible with [Stan… #341

Merged
merged 1 commit into from
May 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.Optional;

import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials;
import org.apache.commons.lang3.StringUtils;

import edu.hm.hafner.util.FilteredLog;
Expand Down Expand Up @@ -57,7 +58,7 @@ protected GitHubChecksContext(final Job<?, ?> job, final String url, final SCMFa
*
* @return the credentials
*/
public GitHubAppCredentials getCredentials() {
public StandardUsernameCredentials getCredentials() {
return getGitHubAppCredentials(StringUtils.defaultIfEmpty(getCredentialsId(), ""));
}

Expand All @@ -78,7 +79,7 @@ protected final SCMFacade getScmFacade() {
return scmFacade;
}

protected GitHubAppCredentials getGitHubAppCredentials(final String credentialsId) {
protected StandardUsernameCredentials getGitHubAppCredentials(final String credentialsId) {
return findGitHubAppCredentials(credentialsId).orElseThrow(() ->
new IllegalStateException("No GitHub APP credentials available for job: " + getJob().getName()));
}
Expand Down Expand Up @@ -108,7 +109,7 @@ protected boolean hasValidCredentials(final FilteredLog logger) {
return true;
}

private Optional<GitHubAppCredentials> findGitHubAppCredentials(final String credentialsId) {
private Optional<StandardUsernameCredentials> findGitHubAppCredentials(final String credentialsId) {
return getScmFacade().findGitHubAppCredentials(getJob(), credentialsId);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;

import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials;
import org.apache.commons.lang3.StringUtils;

import edu.hm.hafner.util.VisibleForTesting;
Expand Down Expand Up @@ -57,14 +58,18 @@
/**
* Publishes a GitHub check run.
*
* @param details
* the details of a check run
* @param details the details of a check run
*/
@Override
public void publish(final ChecksDetails details) {
try {
GitHubAppCredentials credentials = context.getCredentials();
GitHub gitHub = Connector.connect(StringUtils.defaultIfBlank(credentials.getApiUri(), gitHubUrl),
StandardUsernameCredentials credentials = context.getCredentials();
String apiUri = null;
if (credentials instanceof GitHubAppCredentials) {

Check warning on line 68 in src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisher.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Partially covered line

Line 68 is only partially covered, one branch is missing
apiUri = ((GitHubAppCredentials) credentials).getApiUri();
}

GitHub gitHub = Connector.connect(StringUtils.defaultIfBlank(apiUri, gitHubUrl),
credentials);

GitHubChecksDetails gitHubDetails = new GitHubChecksDetails(details);
Expand Down
13 changes: 8 additions & 5 deletions src/main/java/io/jenkins/plugins/checks/github/SCMFacade.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.cloudbees.plugins.credentials.CredentialsMatchers;
import com.cloudbees.plugins.credentials.CredentialsProvider;
import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import hudson.model.AbstractProject;
import hudson.model.Job;
Expand Down Expand Up @@ -122,11 +123,13 @@ UserRemoteConfig getUserRemoteConfig(final GitSCM scm) {
* the id of the target credentials
* @return the found GitHub App credentials or empty
*/
public Optional<GitHubAppCredentials> findGitHubAppCredentials(final Job<?, ?> job, final String credentialsId) {
List<GitHubAppCredentials> credentials = CredentialsProvider.lookupCredentials(
GitHubAppCredentials.class, job, ACL.SYSTEM, Collections.emptyList());
GitHubAppCredentials appCredentials =
CredentialsMatchers.firstOrNull(credentials, CredentialsMatchers.withId(credentialsId));
public Optional<StandardUsernameCredentials> findGitHubAppCredentials(final Job<?, ?> job, final String credentialsId) {
List<StandardUsernameCredentials> standardUsernameCredentials = CredentialsProvider.lookupCredentials(
StandardUsernameCredentials.class, job, ACL.SYSTEM, Collections.emptyList());

StandardUsernameCredentials appCredentials =
CredentialsMatchers.firstOrNull(standardUsernameCredentials, CredentialsMatchers.withId(credentialsId));

return Optional.ofNullable(appCredentials);
}

Expand Down