1
我試圖找到一種方法讓Jenkins作業被匹配特定模式的PR註釋觸發,請檢查PR的最新提交狀態是否爲PASSED將由PR打開時運行的獨立CI作業設置,併合並代碼。 PR的評論將象徵着代碼已經被正確的同行評審,提交狀態表示所有前端和後端單元測試已經通過。Jenkins管道從webhook讀取提交狀態
我真的不確定的唯一部分是從webhook負載中檢索提交狀態。有什麼建議?
我試圖找到一種方法讓Jenkins作業被匹配特定模式的PR註釋觸發,請檢查PR的最新提交狀態是否爲PASSED將由PR打開時運行的獨立CI作業設置,併合並代碼。 PR的評論將象徵着代碼已經被正確的同行評審,提交狀態表示所有前端和後端單元測試已經通過。Jenkins管道從webhook讀取提交狀態
我真的不確定的唯一部分是從webhook負載中檢索提交狀態。有什麼建議?
TLDR
調用statuses API列出針對SHA創建的所有狀態或使用combined status API。
查找最新的承諾
如果您還沒有最新的SHA提交,然後有一些方法來從API端點得到這個。
這將假定有一個應用程序監聽webhook事件,特別是
IssuesCommentEvent
,以解析「特定模式」的註釋正文。
甲網絡掛接事件將包含Pull Requesturl
在JSON體,例如:
{
"action": "created",
"issue": {
...
"pull_request": {
"url": "https://api.github.com/repos/sample/mysample/pulls/13",
...
}
}
}
}
使用在上一步中返回的結束url
的拉取請求API。 JSON正文將包含一個statuses_url
值,該值將返回針對該SHA創建的每個狀態,或者獲取SHA
並調用前面提到的任何狀態端點。
{
"statuses_url": "https://api.github.com/repos/sample/mysamples/statuses/1985617647f17fe4fc85efeeaffef24581a12488",
...
"head":{
"sha": "1985617647f17fe4fc85efeeaffef24581a12488",
}
}