2016-11-04 5 views
2

Есть ли Геррит REST API для преобразования номера изменения, чтобы изменить IDПреобразовать номер изменения, чтобы изменить идентификатор

Eg: https://android-review.googlesource.com/#/c/23823/

Преобразование 23823 в I4f39e8d8cc22520cd36f83f8675a716cc1ade1d9

Спасибо.

+0

Вы должны знать, что, хотя каждый номер «_number» только сопоставляется с одним «change_id», тот же «change_id» может использоваться в каждом проекте на экземпляре gerrit. Поле «id» отображается обратно в «_number». – Ola

ответ

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

В качестве альтернативы ответу от Марсело Авила де Оливейра вы можете использовать ssh api (по умолчанию на порту 29418), который предоставляет сложное описание изменения в нескольких однострочных строках JSON.

Первая запись является вам нужно, чтобы вы могли обработать его с утилитами оболочки или, как уже было описано с JSON парсер:

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

I64f1c892c13a9bad903955678f104c34f36d1079 

Если вам нужно обратное направление, вы можете кормить в длинном Идентификатор изменения в тот же API и получить несколько строк для всех согласованных изменений с одним и тем же идентификатором изменения.

 Смежные вопросы

  • Нет связанных вопросов^_^