2017-06-16 703 views
1

我想用java連接Gerrit REST API,所以我找到了開源的gerrit-rest-java-client。但我不知道如何查詢更改commitMessage如何從gerrit REST API獲取commitMessage使用JAVA

我簡單的代碼如下

GerritRestApiFactory gerritRestApiFactory = new GerritRestApiFactory(); 
GerritAuthData.Basic authData = new GerritAuthData.Basic("Gerrit", "User", "password"); 

GerritApi gerritApi = gerritRestApiFactory.create(authData); 

List<ChangeInfo> changes = gerritApi.changes().query("status:merged").withLimit(1).get(); 

for (ChangeInfo cc : changes) { 
    System.out.println("subject:" + cc.subject); 
    System.out.println("changeId:" + cc.changeId); 
    System.out.println("commitMessage:"); 
} 
+0

我調查了Gerrit REST API找到Revision Endpoints API可以得到提交的消息,但是我用RevisionApi沒有找到任何方法或者變量可以得到的消息。 ChangeApi ccapi = gerritApi.changes().id(「PROJECTBASE_BCX10A51_I031e50eb06c10638b914abb7a5d4 31e49b19abb8」); RevisionApi rr = ccapi.revision(「031e50eb06c10638b914abb7a5d431e49b19abb8」); ' –

回答

0

您需要query changes添加 「& O = CURRENT_REVISION」 得到承諾SHA-1的電流修訂(見更多的細節here)。然後,您需要使用Get Commit端點來最終獲取提交消息。

+0

感謝您的回覆,我知道使用Get Commit可以獲取提交消息,因此我使用RevisionApi類嘗試獲取**提交消息**,但[RevisionApi sourcecode](https://github.com /uwolfer/gerrit-rest-java-client/blob/master/src/main/java/com/google/gerrit/extensions/api/changes/RevisionApi.java)我沒有看到任何有關提交消息的方法或變量。 –

相關問題