2016-11-04 22 views

回答

4

使用「更改」端點搜索更改編號。例如:

curl -s --request GET --user user https://gerrit-server/a/changes/?q=change:32151 

)]}' 
[ 
    { 
    "id": "code~master~I64f1c892c13a9bad903955678f104c34f36d1079", 
    "project": "code", 
    "branch": "master", 
    "hashtags": [], 
    "change_id": "I64f1c892c13a9bad903955678f104c34f36d1079", 
    "subject": "This is an example", 
    "status": "MERGED", 
    "created": "2016-11-03 19:15:36.000000000", 
    "updated": "2016-11-03 23:02:53.475000000", 
    "submittable": false, 
    "insertions": 80, 
    "deletions": 29, 
    "_number": 32151, 
    "owner": { 
     "_account_id": 3 
    } 
    } 
] 

然後獲取「change_id」信息。例如:

curl -s --request GET --user user https://gerrit-server/a/changes/?q=change:32151 | sed 1d | jq --raw-output ".[] | .change_id" 

I64f1c892c13a9bad903955678f104c34f36d1079 

更多信息here

0

除了MarceloÁvilade Oliveira的回答,您還可以使用ssh api(默認情況下在端口29418上),它提供了多個單行JSON字符串更改的複雜描述。

的第一項是一個你需要的,所以你可以與殼utils的處理它或作爲已用JSON解析器描述:

ssh -o ForwardX11=no -p 29418 gerrit-server gerrit query --current-patch-set --format=JSON 23823 | head -1 | jq --raw-output ".id" 

I64f1c892c13a9bad903955678f104c34f36d1079 

如果需要沿相反方向,就可以在很長的進料Change-Id添加到同一個API,並使用相同的Change-Id爲所有匹配的更改獲取多行。