2017-02-06 3 views
1

Ich versuche, CI für Gradle-basierte Android-Projekt mit Bamboo einzurichten. Tutorial here Arbeit funktioniert einfach großartig für den erfolgreichen Build.Wie bekomme ich git commit Notizen zwischen zwei Bamboo Build

Für Release-Hinweis folgenden ich herausfinden Git zwischen zwei Revisionsnummer zu bekommen.

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

Aber wie letzten erfolgreichen Build git_revision Nummer & aktuelle eins zu bekommen. Irgendwelche Vorschläge?

Antwort

0

Dies beinhaltet Scripting und Verwendung REST API von Bambus https://docs.atlassian.com/bamboo/REST [Wählen Sie die Version mit dem Sie arbeiten]

Um alle Build-Ergebnisse zu erhalten, müssen Sie einen Anruf tätigen:

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

Wo Resultierende, basepath ist http://myhost.com:8085 OR http://myhost.com:8085/bamboo in unten:

{ 
"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 
    }, 

Wenn J SON-Ausgabe ist erwünscht, fügen Sie einfach Accept = application/json header hinzu, während Sie einen Anruf tätigen.

Dadurch werden die letzten 25 Build-Ergebnisse in einer Sequenz mit dem neuesten Ergebnis als Erstem zurückgegeben. Sie können durch diese Ergebnisse gehen und entscheiden, welche zwei Build-Ergebnisse Sie interessiert sind.

Sobald Sie sich entscheiden, machen Sie zusätzliche Anrufe, um Änderung gesetzt (commit Details) von Bambus für diesen bestimmten Build erfasst.

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

Dies wird Ihnen Beschreibung begehen wie unten beschrieben:

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

Und dann kann man durchführen

git log <changesetId>...<changesetId> 
Verwandte Themen