Added target url for cancelled builds

This commit is contained in:
Tommi Salonen 2018-01-03 08:35:47 +02:00
parent 3cec22aefb
commit 3c17f91f57
2 changed files with 7 additions and 3 deletions

View File

@ -14,6 +14,7 @@ import hudson.model.Job;
import hudson.model.Queue;
import jenkins.model.Jenkins;
import org.apache.commons.lang.StringUtils;
import org.jenkinsci.plugins.displayurlapi.DisplayURLProvider;
import org.jenkinsci.plugins.workflow.job.WorkflowJob;
import java.util.logging.Level;
@ -67,10 +68,11 @@ public class PendingBuildsHandler {
if (StringUtils.isBlank(buildName)) {
return;
}
String targetUrl = DisplayURLProvider.get().getJobURL(job);
GitLabClient client = job.getProperty(GitLabConnectionProperty.class).getClient();
try {
client.changeBuildStatus(causeData.getSourceProjectId(), causeData.getLastCommit(), BuildState.canceled,
causeData.getSourceBranch(), buildName, null, BuildState.canceled.name());
causeData.getSourceBranch(), buildName, targetUrl, BuildState.canceled.name());
} catch (Exception e) {
LOGGER.log(Level.SEVERE, "Failed to set build state to pending", e);
}

View File

@ -103,8 +103,10 @@ public class PendingBuildsHandlerTest {
gitLabPushTrigger.onPost(mergeRequestHook(1, "anotherBranch", "commit4"));
gitLabPushTrigger.onPost(mergeRequestHook(2, "sourceBranch", "commit5"));
verify(gitLabClient).changeBuildStatus(1, "commit1", BuildState.canceled, "sourceBranch", "Jenkins", null, BuildState.canceled.name());
verify(gitLabClient).changeBuildStatus(1, "commit2", BuildState.canceled, "sourceBranch", "Jenkins", null, BuildState.canceled.name());
verify(gitLabClient).changeBuildStatus(eq(1), eq("commit1"), eq(BuildState.canceled), eq("sourceBranch"),
eq("Jenkins"), contains("project1"), eq(BuildState.canceled.name()));
verify(gitLabClient).changeBuildStatus(eq(1), eq("commit2"), eq(BuildState.canceled), eq("sourceBranch"),
eq("Jenkins"), contains("project1"), eq(BuildState.canceled.name()));
assertThat(jenkins.getInstance().getQueue().getItems().length, is(3));
}