Skip to content
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>4.88</version>
<version>5.7</version>
<relativePath />
</parent>

Expand All @@ -17,7 +17,7 @@
<licenses>
<license>
<name>GPL v2.0 License</name>
<url>http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
<url>https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
</license>
</licenses>

Expand Down Expand Up @@ -52,8 +52,8 @@
<properties>
<changelist>999999-SNAPSHOT</changelist>
<!-- https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/ -->
<jenkins.baseline>2.452</jenkins.baseline>
<jenkins.version>${jenkins.baseline}.4</jenkins.version>
<jenkins.baseline>2.479</jenkins.baseline>
<jenkins.version>${jenkins.baseline}.3</jenkins.version>
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
</properties>

Expand All @@ -63,7 +63,7 @@
<!-- Pick up common dependencies for the selected LTS line: https://github.com/jenkinsci/bom#usage -->
<groupId>io.jenkins.tools.bom</groupId>
<artifactId>bom-${jenkins.baseline}.x</artifactId>
<version>3944.v1a_e4f8b_452db_</version>
<version>4545.v56392b_7ca_7b_a_</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down Expand Up @@ -106,15 +106,16 @@
</dependency>

<!-- REST client dependencies -->
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
<version>1.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.23.Final</version>
<version>6.2.11.Final</version>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
Expand All @@ -129,8 +130,8 @@
<artifactId>apache-httpcomponents-client-4-api</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
<artifactId>jackson-jakarta-rs-json-provider</artifactId>
<!-- Needs to match the jackson version from plugin BOM -->
<version>2.17.0</version>
</dependency>
Expand Down
8 changes: 5 additions & 3 deletions src/main/java/com/gitee/jenkins/cause/CauseData.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.gitee.jenkins.cause;

import com.gitee.jenkins.gitee.api.model.PullRequest;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.markup.EscapedMarkupFormatter;
import jenkins.model.Jenkins;
import net.karneim.pojobuilder.GeneratePojoBuilder;
Expand Down Expand Up @@ -124,417 +125,417 @@
}

public Map<String, String> getBuildVariables() {
MapWrapper<String, String> variables = new MapWrapper<>(new HashMap<String, String>());
MapWrapper<String, String> variables = new MapWrapper<>(new HashMap<>());
variables.put("giteeBranch", branch);
variables.put("giteeSourceBranch", sourceBranch);
variables.put("giteeActionType", actionType.name());
variables.put("giteeUserName", userName);
variables.put("giteeUserEmail", userEmail);
variables.put("giteeSourceRepoHomepage", sourceRepoHomepage);
variables.put("giteeSourceRepoName", sourceRepoName);
variables.put("giteeSourceNamespace", sourceNamespace);
variables.put("giteeSourceRepoURL", sourceRepoUrl);
variables.put("giteeSourceRepoSshUrl", sourceRepoSshUrl);
variables.put("giteeSourceRepoHttpUrl", sourceRepoHttpUrl);
variables.put("giteePullRequestTitle", pullRequestTitle);
variables.put("giteePullRequestDescription", pullRequestDescription);
variables.put("giteePullRequestId", pullRequestId == null ? "" : pullRequestId.toString());
variables.put("giteePullRequestIid", pullRequestIid == null ? "" : pullRequestIid.toString());
variables.put("giteePullRequestTargetProjectId", pullRequestTargetProjectId == null ? "" : pullRequestTargetProjectId.toString());
variables.put("giteePullRequestLastCommit", lastCommit);
variables.put("giteePushCreated", created ? "true" : "false");
variables.put("giteePushDeleted", deleted ? "true" : "false");
variables.putIfNotNull("giteePullRequestState", pullRequestState);
variables.putIfNotNull("giteeMergedByUser", mergedByUser);
variables.putIfNotNull("giteePullRequestAssignee", pullRequestAssignee);
variables.put("giteeTargetBranch", targetBranch);
variables.put("giteeTargetRepoName", targetRepoName);
variables.put("giteeTargetNamespace", targetNamespace);
variables.put("giteeTargetRepoSshUrl", targetRepoSshUrl);
variables.put("giteeTargetRepoHttpUrl", targetRepoHttpUrl);
variables.put("giteeBefore", before);
variables.put("giteeAfter", after);
variables.put("giteeBeforeCommitSha", before);
variables.put("giteeAfterCommitSha", after);
variables.put("giteeRef", ref);
variables.put("ref", ref);
variables.put("beforeSha", beforeSha);
variables.put("isTag", isTag);
variables.put("sha", sha);
variables.put("status", status);
variables.put("stages", stages);
variables.put("createdAt", createdAt);
variables.put("finishedAt", finishedAt);
variables.put("duration", buildDuration);
variables.put("jsonBody", jsonBody);
variables.put("noteBody", noteBody);
variables.putIfNotNull("giteeTriggerPhrase", triggerPhrase);
return variables;
}

public Integer getSourceProjectId() {
return sourceProjectId;
}

public Integer getTargetProjectId() {
return targetProjectId;
}

public String getBranch() {
return branch;
}

public String getSourceBranch() {
return sourceBranch;
}

public ActionType getActionType() {
return actionType;
}

public String getUserName() {
return userName;
}

public String getUserEmail() {
return userEmail;
}

public String getSourceRepoHomepage() {
return sourceRepoHomepage;
}

public String getSourceRepoName() {
return sourceRepoName;
}

public String getSourceNamespace() {
return sourceNamespace;
}

public String getSourceRepoUrl() {
return sourceRepoUrl;
}

public String getSourceRepoSshUrl() {
return sourceRepoSshUrl;
}

public String getSourceRepoHttpUrl() {
return sourceRepoHttpUrl;
}

public String getPullRequestTitle() {
return pullRequestTitle;
}

public String getPullRequestDescription() {
return pullRequestDescription;
}

public String getPathWithNamespace() { return pathWithNamespace; }

public Integer getPullRequestId() {
return pullRequestId;
}

public Integer getPullRequestIid() {
return pullRequestIid;
}

public Integer getPullRequestTargetProjectId() {
return pullRequestTargetProjectId;
}

public String getTargetBranch() {
return targetBranch;
}

public String getTargetRepoName() {
return targetRepoName;
}

public String getTargetNamespace() {
return targetNamespace;
}

public String getTargetRepoSshUrl() {
return targetRepoSshUrl;
}

public String getTargetRepoHttpUrl() {
return targetRepoHttpUrl;
}

public String getTriggeredByUser() {
return triggeredByUser;
}

public String getBefore() {
return before;
}

public String getAfter() {
return after;
}

public String getLastCommit() {
return lastCommit;
}

public String getTargetProjectUrl() {
return targetProjectUrl;
}

public String getRef() { return ref; }

public String getIsTag() { return isTag; }

public String getSha() { return sha; }

public String getBeforeSha() {return beforeSha; }

public String getStatus() { return status; }

public String getStages() { return stages; }

public String getCreatedAt() { return createdAt; }

public String getFinishedAt() { return finishedAt; }

public String getBuildDuration() { return buildDuration; }

public String getJsonBody() { return jsonBody; }

public String getNoteBody() { return noteBody; }


String getShortDescription() {
return actionType.getShortDescription(this);
}

public String getPullRequestState() {
return pullRequestState;
}

public String getMergedByUser() {
return mergedByUser;
}

public String getPullRequestAssignee() {
return pullRequestAssignee;
}


public boolean getCreated() {
return created;
}

public boolean getDeleted() {
return deleted;
}

public PullRequest getPullRequest() {
if (pullRequestId == null) {
return null;
}

return new PullRequest(pullRequestId, pullRequestIid, sourceBranch, targetBranch, pullRequestTitle,
sourceProjectId, targetProjectId, pullRequestDescription, pullRequestState, pathWithNamespace);
}

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
CauseData causeData = (CauseData) o;
return new EqualsBuilder()
.append(actionType, causeData.actionType)
.append(sourceProjectId, causeData.sourceProjectId)
.append(targetProjectId, causeData.targetProjectId)
.append(branch, causeData.branch)
.append(sourceBranch, causeData.sourceBranch)
.append(userName, causeData.userName)
.append(userEmail, causeData.userEmail)
.append(sourceRepoHomepage, causeData.sourceRepoHomepage)
.append(sourceRepoName, causeData.sourceRepoName)
.append(sourceNamespace, causeData.sourceNamespace)
.append(sourceRepoUrl, causeData.sourceRepoUrl)
.append(sourceRepoSshUrl, causeData.sourceRepoSshUrl)
.append(sourceRepoHttpUrl, causeData.sourceRepoHttpUrl)
.append(pullRequestTitle, causeData.pullRequestTitle)
.append(pullRequestDescription, causeData.pullRequestDescription)
.append(pullRequestId, causeData.pullRequestId)
.append(pullRequestIid, causeData.pullRequestIid)
.append(pullRequestState, causeData.pullRequestState)
.append(mergedByUser, causeData.mergedByUser)
.append(pullRequestAssignee, causeData.pullRequestAssignee)
.append(pullRequestTargetProjectId, causeData.pullRequestTargetProjectId)
.append(targetBranch, causeData.targetBranch)
.append(targetRepoName, causeData.targetRepoName)
.append(targetNamespace, causeData.targetNamespace)
.append(targetRepoSshUrl, causeData.targetRepoSshUrl)
.append(targetRepoHttpUrl, causeData.targetRepoHttpUrl)
.append(triggeredByUser, causeData.triggeredByUser)
.append(before, causeData.before)
.append(after, causeData.after)
.append(lastCommit, causeData.lastCommit)
.append(targetProjectUrl, causeData.targetProjectUrl)
.append(ref, causeData.getRef())
.append(isTag, causeData.getIsTag())
.append(sha, causeData.getSha())
.append(beforeSha, causeData.getBeforeSha())
.append(status, causeData.getStatus())
.append(stages, causeData.getStages())
.append(createdAt, causeData.getCreatedAt())
.append(finishedAt, causeData.getFinishedAt())
.append(buildDuration, causeData.getBuildDuration())
.append(pathWithNamespace, causeData.getPathWithNamespace())
.append(created, causeData.getCreated())
.append(deleted, causeData.getDeleted())
.append(jsonBody, causeData.getJsonBody())
.append(noteBody, causeData.getNoteBody())
.isEquals();
}

@Override
public int hashCode() {
return new HashCodeBuilder(17, 37)
.append(actionType)
.append(sourceProjectId)
.append(targetProjectId)
.append(branch)
.append(sourceBranch)
.append(userName)
.append(userEmail)
.append(sourceRepoHomepage)
.append(sourceRepoName)
.append(sourceNamespace)
.append(sourceRepoUrl)
.append(sourceRepoSshUrl)
.append(sourceRepoHttpUrl)
.append(pullRequestTitle)
.append(pullRequestDescription)
.append(pullRequestId)
.append(pullRequestIid)
.append(pullRequestState)
.append(mergedByUser)
.append(pullRequestAssignee)
.append(pullRequestTargetProjectId)
.append(targetBranch)
.append(targetRepoName)
.append(targetNamespace)
.append(targetRepoSshUrl)
.append(targetRepoHttpUrl)
.append(triggeredByUser)
.append(before)
.append(after)
.append(lastCommit)
.append(targetProjectUrl)
.append(ref)
.append(isTag)
.append(sha)
.append(beforeSha)
.append(status)
.append(stages)
.append(createdAt)
.append(finishedAt)
.append(buildDuration)
.append(pathWithNamespace)
.append(created)
.append(deleted)
.append(jsonBody)
.append(noteBody)
.toHashCode();
}

@Override
public String toString() {
return new ToStringBuilder(this)
.append("actionType", actionType)
.append("sourceProjectId", sourceProjectId)
.append("targetProjectId", targetProjectId)
.append("branch", branch)
.append("sourceBranch", sourceBranch)
.append("userName", userName)
.append("userEmail", userEmail)
.append("sourceRepoHomepage", sourceRepoHomepage)
.append("sourceRepoName", sourceRepoName)
.append("sourceNamespace", sourceNamespace)
.append("sourceRepoUrl", sourceRepoUrl)
.append("sourceRepoSshUrl", sourceRepoSshUrl)
.append("sourceRepoHttpUrl", sourceRepoHttpUrl)
.append("pullRequestTitle", pullRequestTitle)
.append("pullRequestDescription", pullRequestDescription)
.append("pullRequestId", pullRequestId)
.append("pullRequestIid", pullRequestIid)
.append("pullRequestState", pullRequestState)
.append("mergedByUser", mergedByUser)
.append("pullRequestAssignee", pullRequestAssignee)
.append("pullRequestTargetProjectId", pullRequestTargetProjectId)
.append("targetBranch", targetBranch)
.append("targetRepoName", targetRepoName)
.append("targetNamespace", targetNamespace)
.append("targetRepoSshUrl", targetRepoSshUrl)
.append("targetRepoHttpUrl", targetRepoHttpUrl)
.append("triggeredByUser", triggeredByUser)
.append("before", before)
.append("after", after)
.append("lastCommit", lastCommit)
.append("targetProjectUrl", targetProjectUrl)
.append("ref", ref)
.append("isTag", isTag)
.append("sha", sha)
.append("beforeSha", beforeSha)
.append("status", status)
.append("stages", stages)
.append("createdAt", createdAt)
.append("finishedAt", finishedAt)
.append("duration", buildDuration)
.append("pathWithNamespace", pathWithNamespace)
.append("created", created)
.append("deleted", deleted)
.append("jsonBody", jsonBody)
.append("noteBody", noteBody)
.toString();
}

public enum ActionType {
PUSH {
@Override
String getShortDescription(CauseData data) {
return getShortDescriptionPush(data);
}
}, TAG_PUSH {
@Override
String getShortDescription(CauseData data) {
return getShortDescriptionPush(data);
}
}, MERGE {
@Override
String getShortDescription(CauseData data) {
String forkNamespace = StringUtils.equals(data.getSourceNamespace(), data.getTargetBranch()) ? "" : data.getSourceNamespace() + "/";
if (Jenkins.getActiveInstance().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
if (Jenkins.get().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
return Messages.GiteeWebHookCause_ShortDescription_PullRequestHook_plain(String.valueOf(data.getPullRequestIid()),
forkNamespace + data.getSourceBranch(),
data.getTargetBranch());
} else {
return Messages.GiteeWebHookCause_ShortDescription_PullRequestHook_html(String.valueOf(data.getPullRequestIid()),
forkNamespace + data.getSourceBranch(),
data.getTargetBranch(),
data.getTargetProjectUrl());
}
}
}, NOTE {
@Override
String getShortDescription(CauseData data) {
String triggeredBy = data.getTriggeredByUser();
String forkNamespace = StringUtils.equals(data.getSourceNamespace(), data.getTargetBranch()) ? "" : data.getSourceNamespace() + "/";
if (Jenkins.getActiveInstance().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {
if (Jenkins.get().getMarkupFormatter() instanceof EscapedMarkupFormatter || data.getTargetProjectUrl() == null) {

Check warning on line 538 in src/main/java/com/gitee/jenkins/cause/CauseData.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered lines

Lines 128-538 are not covered by tests
return Messages.GiteeWebHookCause_ShortDescription_NoteHook_plain(triggeredBy,
String.valueOf(data.getPullRequestIid()),
forkNamespace + data.getSourceBranch(),
Expand Down Expand Up @@ -589,6 +590,7 @@
return map.put(key, value);
}

@NonNull
@Override
public Set<Entry<K, V>> entrySet() {
return map.entrySet();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.cloudbees.plugins.credentials.CredentialsNameProvider;
import com.cloudbees.plugins.credentials.NameWith;
import com.cloudbees.plugins.credentials.common.StandardCredentials;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.Util;
import hudson.util.Secret;

Expand All @@ -15,8 +16,10 @@ public interface GiteeApiToken extends StandardCredentials {
Secret getApiToken();

class NameProvider extends CredentialsNameProvider<GiteeApiToken> {

@NonNull
@Override
public String getName(GiteeApiToken c) {
public String getName(@NonNull GiteeApiToken c) {
String description = Util.fixEmptyAndTrim(c.getDescription());
return Messages.GiteeApiToken_name() + (description != null ? " (" + description + ")" : "");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.cloudbees.plugins.credentials.CredentialsScope;
import com.cloudbees.plugins.credentials.impl.BaseStandardCredentials;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.Extension;
import hudson.util.Secret;
import org.kohsuke.stapler.DataBoundConstructor;
Expand All @@ -26,6 +27,8 @@ public Secret getApiToken() {

@Extension
public static class DescriptorImpl extends BaseStandardCredentialsDescriptor {

@NonNull
@Override
public String getDisplayName() {
return Messages.GiteeApiToken_name();
Expand Down
18 changes: 8 additions & 10 deletions src/main/java/com/gitee/jenkins/connection/GiteeConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@
import com.cloudbees.plugins.credentials.SystemCredentialsProvider;
import com.cloudbees.plugins.credentials.common.StandardCredentials;
import com.cloudbees.plugins.credentials.domains.Domain;
import com.cloudbees.plugins.credentials.domains.DomainRequirement;
import com.gitee.jenkins.gitee.api.GiteeClient;
import com.gitee.jenkins.gitee.api.GiteeClientBuilder;
import com.gitee.jenkins.gitee.api.impl.GiteeV5ClientBuilder;
import hudson.init.InitMilestone;
import hudson.init.Initializer;
import hudson.model.Item;
import hudson.security.ACL;
import hudson.util.Secret;
import jenkins.model.Jenkins;
Expand All @@ -28,7 +26,7 @@
import java.util.List;
import java.util.UUID;

import static com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials;
import static com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentialsInItem;
import static com.gitee.jenkins.gitee.api.GiteeClientBuilder.getGiteeClientBuilderById;


Expand Down Expand Up @@ -121,14 +119,14 @@

private String getApiToken(String apiTokenId) {
StandardCredentials credentials = CredentialsMatchers.firstOrNull(
lookupCredentials(StandardCredentials.class, (Item) null, ACL.SYSTEM, new ArrayList<DomainRequirement>()),
lookupCredentialsInItem(StandardCredentials.class, null, ACL.SYSTEM2, new ArrayList<>()),
CredentialsMatchers.withId(apiTokenId));
if (credentials != null) {
if (credentials instanceof GiteeApiToken) {
return ((GiteeApiToken) credentials).getApiToken().getPlainText();
if (credentials instanceof GiteeApiToken token) {
return token.getApiToken().getPlainText();
}
if (credentials instanceof StringCredentials) {
return ((StringCredentials) credentials).getSecret().getPlainText();
if (credentials instanceof StringCredentials stringCredentials) {
return stringCredentials.getSecret().getPlainText();

Check warning on line 129 in src/main/java/com/gitee/jenkins/connection/GiteeConnection.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered lines

Lines 122-129 are not covered by tests
}
}
throw new IllegalStateException("No credentials found for credentialsId: " + apiTokenId);
Expand All @@ -148,10 +146,10 @@

@Initializer(after = InitMilestone.PLUGINS_STARTED)
public static void migrate() throws IOException {
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.getInstance().getDescriptor(GiteeConnectionConfig.class);
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.get().getDescriptor(GiteeConnectionConfig.class);
for (GiteeConnection connection : descriptor.getConnections()) {
if (connection.apiTokenId == null && connection.apiToken != null) {
for (CredentialsStore credentialsStore : CredentialsProvider.lookupStores(Jenkins.getInstance())) {
for (CredentialsStore credentialsStore : CredentialsProvider.lookupStores(Jenkins.get())) {

Check warning on line 152 in src/main/java/com/gitee/jenkins/connection/GiteeConnection.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered line

Line 152 is not covered by tests
if (credentialsStore instanceof SystemCredentialsProvider.StoreImpl) {
List<Domain> domains = credentialsStore.getDomains();
connection.apiTokenId = UUID.randomUUID().toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
import org.eclipse.jgit.util.StringUtils;
import org.jenkinsci.plugins.plaincredentials.StringCredentials;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

import javax.ws.rs.ProcessingException;
import javax.ws.rs.WebApplicationException;
import jakarta.ws.rs.ProcessingException;
import jakarta.ws.rs.WebApplicationException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
Expand All @@ -49,7 +49,7 @@
}

@Override
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException {
connections = req.bindJSONToList(GiteeConnection.class, json.get("connections"));
// useAuthenticatedEndpoint = json.getBoolean("useAuthenticatedEndpoint");
refreshConnectionMap();
Expand Down Expand Up @@ -152,11 +152,11 @@
}

public ListBoxModel doFillApiTokenIdItems(@QueryParameter String name, @QueryParameter String url) {
if (Jenkins.getInstance().hasPermission(Item.CONFIGURE)) {
if (Jenkins.get().hasPermission(Item.CONFIGURE)) {
AbstractIdCredentialsListBoxModel<StandardListBoxModel, StandardCredentials> options = new StandardListBoxModel()
.includeEmptyValue()
.includeMatchingAs(ACL.SYSTEM,
Jenkins.getActiveInstance(),
.includeMatchingAs(ACL.SYSTEM2,
Jenkins.get(),

Check warning on line 159 in src/main/java/com/gitee/jenkins/connection/GiteeConnectionConfig.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered lines

Lines 155-159 are not covered by tests
StandardCredentials.class,
URIRequirementBuilder.fromUri(url).build(),
new GiteeCredentialMatcher());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@


import com.gitee.jenkins.gitee.api.GiteeClient;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.Extension;
import hudson.model.Job;
import hudson.model.JobProperty;
Expand All @@ -13,7 +14,7 @@
import org.apache.commons.lang.StringUtils;
import org.jenkinsci.Symbol;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerRequest2;

/**
* @author Robin Müller
Expand All @@ -33,51 +34,52 @@

public GiteeClient getClient() {
if (StringUtils.isNotEmpty(giteeConnection)) {
GiteeConnectionConfig connectionConfig = (GiteeConnectionConfig) Jenkins.getInstance().getDescriptor(GiteeConnectionConfig.class);
GiteeConnectionConfig connectionConfig = (GiteeConnectionConfig) Jenkins.get().getDescriptor(GiteeConnectionConfig.class);
return connectionConfig != null ? connectionConfig.getClient(giteeConnection) : null;
}
return null;
}

public static GiteeClient getClient(Run<?, ?> build) {
final GiteeConnectionProperty connectionProperty = build.getParent().getProperty(GiteeConnectionProperty.class);
if (connectionProperty != null) {
return connectionProperty.getClient();
}
return null;
}

public static GiteeClient getClient(Job<?, ?> job) {
final GiteeConnectionProperty connectionProperty = job.getProperty(GiteeConnectionProperty.class);
if (connectionProperty != null) {
return connectionProperty.getClient();
}
return null;
}


@Extension
@Symbol("giteeConnection")
public static class DescriptorImpl extends JobPropertyDescriptor {

@NonNull
@Override
public String getDisplayName() {
return "Gitee connection";
}

@Override
public boolean isApplicable(Class<? extends Job> jobType) {
return true;
}

@Override
public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException {
public JobProperty<?> newInstance(StaplerRequest2 req, JSONObject formData) throws FormException {
return req.bindJSON(GiteeConnectionProperty.class, formData);
}

public ListBoxModel doFillGiteeConnectionItems() {
ListBoxModel options = new ListBoxModel();
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.getInstance().getDescriptor(GiteeConnectionConfig.class);
GiteeConnectionConfig descriptor = (GiteeConnectionConfig) Jenkins.get().getDescriptor(GiteeConnectionConfig.class);

Check warning on line 82 in src/main/java/com/gitee/jenkins/connection/GiteeConnectionProperty.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered lines

Lines 37-82 are not covered by tests
for (GiteeConnection connection : descriptor.getConnections()) {
options.add(connection.getName(), connection.getName());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
@Override
public void buildEnvironmentFor(@NonNull Run r, @NonNull EnvVars envs, @NonNull TaskListener listener) throws IOException, InterruptedException {
GiteeWebHookCause cause = null;
if (r instanceof MatrixRun) {
MatrixBuild parent = ((MatrixRun)r).getParentBuild();
if (r instanceof MatrixRun run) {
MatrixBuild parent = run.getParentBuild();
if (parent != null) {
cause = (GiteeWebHookCause) parent.getCause(GiteeWebHookCause.class);
cause = parent.getCause(GiteeWebHookCause.class);

Check warning on line 26 in src/main/java/com/gitee/jenkins/environment/GiteeEnvironmentContributor.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered lines

Lines 23-26 are not covered by tests
}
} else {
cause = (GiteeWebHookCause) r.getCause(GiteeWebHookCause.class);
Expand Down
14 changes: 7 additions & 7 deletions src/main/java/com/gitee/jenkins/gitee/JacksonConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;

import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.ext.ContextResolver;
import jakarta.ws.rs.ext.Provider;

/**
* @author Robin Müller
Expand All @@ -19,7 +19,7 @@
public class JacksonConfig implements ContextResolver<ObjectMapper> {
public ObjectMapper getContext(Class<?> type) {
return new ObjectMapper()
.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)

Check warning on line 22 in src/main/java/com/gitee/jenkins/gitee/JacksonConfig.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered line

Line 22 is not covered by tests
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public static GiteeClientBuilder getGiteeClientBuilderById(String id) {
}

public static List<GiteeClientBuilder> getAllGiteeClientBuilders() {
List<GiteeClientBuilder> builders = new ArrayList<>(Jenkins.getInstance().getExtensionList(GiteeClientBuilder.class));
List<GiteeClientBuilder> builders = new ArrayList<>(Jenkins.get().getExtensionList(GiteeClientBuilder.class));
sort(builders);
return builders;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.gitee.jenkins.gitee.api.impl;

import com.gitee.jenkins.gitee.api.model.*;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import jakarta.ws.rs.*;
import jakarta.ws.rs.core.MediaType;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,7 @@
@Restricted(NoExternalUse.class)
public final class GiteeV5ClientBuilder extends ResteasyGiteeClientBuilder {
private static final int ORDINAL = 3;
private static final Function<PullRequest, Integer> MERGE_REQUEST_ID_PROVIDER = new Function<PullRequest, Integer>() {
@Override
public Integer apply(PullRequest pullRequest) {
return pullRequest.getIid();
}
};
private static final Function<PullRequest, Integer> MERGE_REQUEST_ID_PROVIDER = PullRequest::getIid;

public GiteeV5ClientBuilder() {
super(GiteeV5ApiProxy.ID, ORDINAL, GiteeV5ApiProxy.class, MERGE_REQUEST_ID_PROVIDER);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ final class ResteasyGiteeClient implements GiteeClient {
}

@Override
public final String getHostUrl() {
public String getHostUrl() {
return hostUrl;
}

Expand Down
Loading
Loading