2017-06-16 65 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)我没有看到任何有关提交消息的方法或变量。 –

相关问题