2017-09-23 31 views
2

我想創建一個GitHub Web鉤子來掃描提交的文件的名稱和內容,並且如果特定的標記出現在其中,則不允許提交。創建一個GitHub Web鉤子來掃描正在提交的文件的內容?

我找到了GitHub webhook documentation,顯然有很多事件可以被捕獲,包括push event。與push事件一起發送的JSON對象中有很多可用的數據,包括commits數組,它是「描述推送提交的提交對象數組(該數組最多包含20個提交,如有必要,你可以使用提交API來提取額外的提交,這個限制只適用於時間線事件,不適用於webhook交付。)「

但是,不清楚如何將它變成一個文件名列表和文件內容。

我該怎麼做?

+0

我相信你可以使用預推git鉤子解析你要提交的文件的內容,如果出現特定標記的列表,就會失敗。 git倉庫頂級目錄中的'.git/hooks'。 – nullpointer

+1

我想使用服務器端鉤子,而不是客戶端鉤子。 – vy32

回答

0

webhook是一個服務器端的鉤子,它只需要用JSON負載調用任何你想要的URL。

這意味着實際的掛鉤(監聽網絡掛接)將你想(的意思,在GitHub上側沒有

而且不要忘了,由當時的掛鉤被觸發時,住在任何地方提交已被推動,不能輕易被「拒絕」(也許還原?)

您的webhook監聽器可以拉和list files在本地回購,將用於分析。
此外,該git pull將拉動所有的提交推,不只是

「20的陣列」而且它可以使用表示本地回購作爲網關,推提交拉到最終目標遠程回購,如果他們的文件內容符合您的政策。
這是在webhook場景中「接受」或「拒絕」提交的另一種方式。