2017-02-06 3 views
1

Я пытаюсь настроить CI для Android-проекта Gradle с помощью Bamboo. Учебное пособие here работает просто отлично работает для успешной сборки.Как получить заметки о фиксации git между двумя Bamboo build

Для получения примечания к выпуску, следующего за мной, выясняется, что Git регистрируется между двумя номерами ревизий.

git log ${bamboo.repository.previous.revision.number}..${bamboo.repository.revision.number} 

Но как получить номер последней успешной сборки git_revision & текущий. Любое предложение?

ответ

0

Это включает сценарии и использование REST API бамбуковых https://docs.atlassian.com/bamboo/REST [Выберите версию вы работаете с]

Чтобы получить все результаты сборки, вы должны сделать вызов:

[GET] <basepath>/rest/api/latest/result/{projectKey}-{buildKey} 

Где , BasePath является http://myhost.com:8085 ИЛИ http://myhost.com:8085/bamboo в результате чего ниже:

{ 
"results": { 
"size": 8, 
"expand": "result", 
"start-index": 0, 
"max-result": 25, 
"result": [ 
    { 
    "link": { 
     "href": "<basepath>/rest/api/latest/result/{projectKey}-{buildKey}-{buildNumber}", 
     "rel": "self" 
    }, 
    "plan": { 
     "shortName": "xyz", 
     "shortKey": "{buildKey}", 
     "type": "chain", 
     "enabled": true, 
     "link": { 
     "href": "<basepath>/rest/api/latest/plan/DS-ASVCCRED", 
     "rel": "self" 
     }, 
     "key": "{projectKey}-{buildKey}", 
     "name": "ABCD", 
     "planKey": { 
     "key": "{projectKey}-{buildKey}" 
     } 
    }, 
    "buildResultKey": "{projectKey}-{buildKey}-{buildNumber}", 
    "lifeCycleState": "Finished", 
    "id": 198039818, 
    "key": "{projectKey}-{buildKey}-{buildNumber}", 
    "planResultKey": { 
     "key": "{projectKey}-{buildKey}-{buildNumber}", 
     "entityKey": { 
     "key": "{projectKey}-{buildKey}" 
     }, 
     "resultNumber": 45 
    }, 
    "state": "Failed", 
    "buildState": "Failed", 
    "number": 45, 
    "buildNumber": 45 
    }, 

Если J Требуется вывод SON, просто добавьте Accept = application/json header во время разговора.

Это вернет последние 25 результатов сборки в последовательности с последним результатом, являющимся первым. Вы можете пройти эти результаты и решить, какие два результата сборки вы заинтересовали.

После того, как вы решите, вы делаете дополнительные звонки, чтобы получить набор изменений (детали фиксации), захваченные бамбуком для этой конкретной сборки.

[GET] <basepath>/rest/api/latest/result/{projectKey}-{buildKey}/{buildNumber : ([0-9]+)|(latest)}?expand=changes 

Это даст вам подробные описания фиксации, как показано ниже:

"changes": { 
"size": 3, 
"expand": "change", 
"change": [ 
    { 
    "author": "1234", 
    "changesetId": "7f76c41a7ff48f679a91d0fa2810ef3398121dc6" 
    }, 
    { 
    "author": "abcd", 
    "changesetId": "104d8b7af9538599a02006005314033c8017e804" 
    }, 
    { 
    "author": "cdef", 
    "changesetId": "d21aef9f3745257aa501425fc31ebd0c6b33f608" 
    } 
], 
"start-index": 0, 
"max-result": 3 
}, 

И тогда вы можете выполнить

git log <changesetId>...<changesetId> 
Смежные вопросы