diff --git a/src/main/java/com/uber/jenkins/phabricator/PhabricatorPostbuildSummaryAction.java b/src/main/java/com/uber/jenkins/phabricator/PhabricatorPostbuildSummaryAction.java index 24a2b391..5694a9d5 100644 --- a/src/main/java/com/uber/jenkins/phabricator/PhabricatorPostbuildSummaryAction.java +++ b/src/main/java/com/uber/jenkins/phabricator/PhabricatorPostbuildSummaryAction.java @@ -31,15 +31,17 @@ public class PhabricatorPostbuildSummaryAction implements Action { private final String iconPath; private final String url; + private final String diffID; private final String revisionID; private final String authorName; private final String authorEmail; private final String commitMessage; - public PhabricatorPostbuildSummaryAction(String iconPath, String phabricatorLink, String revisionID, + public PhabricatorPostbuildSummaryAction(String iconPath, String phabricatorLink, String diffID, String revisionID, String authorName, String authorEmail, String commitMessage) { this.iconPath = iconPath; this.url = phabricatorLink; + this.diffID = diffID; this.revisionID = revisionID; this.authorName = authorName; this.authorEmail = authorEmail; @@ -71,6 +73,10 @@ public String getIconFileName() { return revisionID; } + @Exported public String getDiffID() { + return diffID; + } + @Exported public String getAuthorName() { return authorName; } diff --git a/src/main/java/com/uber/jenkins/phabricator/conduit/Differential.java b/src/main/java/com/uber/jenkins/phabricator/conduit/Differential.java index dbbc1eca..48be791e 100644 --- a/src/main/java/com/uber/jenkins/phabricator/conduit/Differential.java +++ b/src/main/java/com/uber/jenkins/phabricator/conduit/Differential.java @@ -49,6 +49,14 @@ public Differential(JSONObject rawJSON) { this.rawJSON = rawJSON; } + public String getDIffID() { + String rawDiffId = (String) rawJSON.get("id"); + if (rawDiffId == null || rawDiffId.equals("")) { + return null; + } + return rawDiffId; + } + public String getRevisionID(boolean formatted) { String rawRevisionId = (String) rawJSON.get("revisionID"); if (rawRevisionId == null || rawRevisionId.equals("")) { @@ -85,6 +93,7 @@ public PhabricatorPostbuildSummaryAction createSummary(String phabricatorURL) { return new PhabricatorPostbuildSummaryAction( "phabricator.png", getPhabricatorLink(phabricatorURL), + getDIffID(), getRevisionID(true), getAuthorName(), getAuthorEmail(), diff --git a/src/test/java/com/uber/jenkins/phabricator/conduit/DifferentialTest.java b/src/test/java/com/uber/jenkins/phabricator/conduit/DifferentialTest.java index c9f91b06..b1634c0e 100644 --- a/src/test/java/com/uber/jenkins/phabricator/conduit/DifferentialTest.java +++ b/src/test/java/com/uber/jenkins/phabricator/conduit/DifferentialTest.java @@ -32,7 +32,8 @@ import java.io.IOException; public class DifferentialTest extends TestCase { - private static final String FAKE_DIFF_ID = "not-a-real-id"; + private static final String FAKE_DIFF_ID = "not-a-real-diff-id"; + private static final String FAKE_REVISION_ID = "not-a-real-revision-id"; Differential differential; @@ -43,12 +44,12 @@ protected void setUp() throws IOException, ArcanistUsageException, InterruptedEx @Test public void testFetchRevisionID() throws Exception { - assertEquals(FAKE_DIFF_ID, differential.getRevisionID(false)); + assertEquals(FAKE_REVISION_ID, differential.getRevisionID(false)); } @Test public void testGetPhabricatorLink() throws Exception { - assertTrue(differential.getPhabricatorLink("http://example.com").contains(FAKE_DIFF_ID)); + assertTrue(differential.getPhabricatorLink("http://example.com").contains(FAKE_REVISION_ID)); } @Test @@ -86,8 +87,9 @@ public void testGetBaseCommit() throws Exception { @Test public void testGetSummaryMessage() throws Exception { PhabricatorPostbuildSummaryAction summary = differential.createSummary("http://example.com"); - assertEquals("http://example.com/Dnot-a-real-id", summary.getUrl()); - assertEquals("Dnot-a-real-id", summary.getRevisionID()); + assertEquals("http://example.com/Dnot-a-real-revision-id", summary.getUrl()); + assertEquals("not-a-real-diff-id", summary.getDiffID()); + assertEquals("Dnot-a-real-revision-id", summary.getRevisionID()); assertEquals("aiden", summary.getAuthorName()); assertEquals("ai@uber.com", summary.getAuthorEmail()); } diff --git a/src/test/resources/com/uber/jenkins/phabricator/conduit/validDifferentialQueryResponse.json b/src/test/resources/com/uber/jenkins/phabricator/conduit/validDifferentialQueryResponse.json index dae2dd79..b9ceca4d 100644 --- a/src/test/resources/com/uber/jenkins/phabricator/conduit/validDifferentialQueryResponse.json +++ b/src/test/resources/com/uber/jenkins/phabricator/conduit/validDifferentialQueryResponse.json @@ -1,5 +1,6 @@ { - "revisionID": "not-a-real-id", + "id": "not-a-real-diff-id", + "revisionID": "not-a-real-revision-id", "branch": "a-branch-name", "sourceControlBaseRevision": "aaaaaaaa", "authorName": "aiden",