diff --git a/pom.xml b/pom.xml index a7c7d488..8510518e 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ -SNAPSHOT 2.138.4 8 - 2.4.1 + 2.4.2-SNAPSHOT 3.10.0 diff --git a/src/main/java/jenkins/branch/BranchNameContributor.java b/src/main/java/jenkins/branch/BranchNameContributor.java index 79604915..f551100d 100644 --- a/src/main/java/jenkins/branch/BranchNameContributor.java +++ b/src/main/java/jenkins/branch/BranchNameContributor.java @@ -32,12 +32,13 @@ import hudson.model.TaskListener; import java.io.IOException; import java.util.Date; -import jenkins.scm.api.SCMHeadOrigin; import jenkins.scm.api.SCMHead; +import jenkins.scm.api.SCMHeadOrigin; import jenkins.scm.api.metadata.ContributorMetadataAction; import jenkins.scm.api.metadata.ObjectMetadataAction; import jenkins.scm.api.mixin.ChangeRequestSCMHead; import jenkins.scm.api.mixin.ChangeRequestSCMHead2; +import jenkins.scm.api.mixin.ChangeRequestSCMHead3; import jenkins.scm.api.mixin.TagSCMHead; /** @@ -68,6 +69,9 @@ public void buildEnvironmentFor(Job j, EnvVars envs, TaskListener listener) thro if (head instanceof ChangeRequestSCMHead2) { envs.putIfNotNull("CHANGE_BRANCH", ((ChangeRequestSCMHead2) head).getOriginName()); } + if (head instanceof ChangeRequestSCMHead3) { + envs.putIfNotNull("CHANGE_BRANCH_COMMIT_ID", ((ChangeRequestSCMHead3) head).getSourceCommitId()); + } SCMHeadOrigin origin = head.getOrigin(); if (origin instanceof SCMHeadOrigin.Fork) { envs.putIfNotNull("CHANGE_FORK", ((SCMHeadOrigin.Fork) origin).getName()); diff --git a/src/test/java/jenkins/branch/BranchNameContributorTest.java b/src/test/java/jenkins/branch/BranchNameContributorTest.java index 7c3855fe..5a5f15d0 100644 --- a/src/test/java/jenkins/branch/BranchNameContributorTest.java +++ b/src/test/java/jenkins/branch/BranchNameContributorTest.java @@ -122,6 +122,7 @@ public void buildEnvironmentFor() throws Exception { is("CHANGE_TITLE"), is("CHANGE_URL"), is("CHANGE_BRANCH"), + is("CHANGE_BRANCH_COMMIT_ID"), is("CHANGE_AUTHOR"), is("CHANGE_AUTHOR_EMAIL"), is("CHANGE_AUTHOR_DISPLAY_NAME") @@ -130,6 +131,7 @@ public void buildEnvironmentFor() throws Exception { assertThat(env.get("CHANGE_ID"), is(cr1Num.toString())); assertThat(env.get("CHANGE_TARGET"), is("master")); assertThat(env.get("CHANGE_BRANCH"), is("CR-" + cr1Num)); + assertThat(env.get("CHANGE_BRANCH_COMMIT_ID"), is("sha" + cr1Num)); assertThat(env.get("CHANGE_TITLE"), is("Change request #" + cr1Num)); assertThat(env.get("CHANGE_URL"), is("http://changes.example.com/" + cr1Num)); assertThat(env.get("CHANGE_AUTHOR"), is("bob")); @@ -145,6 +147,7 @@ public void buildEnvironmentFor() throws Exception { is("CHANGE_TITLE"), is("CHANGE_URL"), is("CHANGE_BRANCH"), + is("CHANGE_BRANCH_COMMIT_ID"), is("CHANGE_FORK"), is("CHANGE_AUTHOR"), is("CHANGE_AUTHOR_EMAIL"), @@ -154,6 +157,7 @@ public void buildEnvironmentFor() throws Exception { assertThat(env.get("CHANGE_ID"), is(cr2Num.toString())); assertThat(env.get("CHANGE_TARGET"), is("master")); assertThat(env.get("CHANGE_BRANCH"), is("CR-" + cr2Num)); + assertThat(env.get("CHANGE_BRANCH_COMMIT_ID"), is("sha" + cr2Num)); assertThat(env.get("CHANGE_FORK"), is("fork")); assertThat(env.get("CHANGE_TITLE"), is("Change request #" + cr2Num)); assertThat(env.get("CHANGE_URL"), is("http://changes.example.com/" + cr2Num));