我需要有關如何成功創建RepositoryMergeRequestCheck
Atlassian的藏匿倉庫實施策略合併請求覈查插件
由於我們的合併工作流程的一部分幫助下,我們需要確保對一些文件的一些策略。政策包括其中包括:
- 單個文件的文件命名約定
- 文件命名(,相關命名的文件爲例)
- 檢查文件的強制或禁止陳述或功能的使用多個文件之間的約定
我希望能夠檢查上的存儲庫合併請求檢查這個政策,我建立一個插件Astlassian藏匿
我曾嘗試以下方法:
使用的
RepositoryMergeRequestCheck.check()
的RepositoryMergeRequestCheckContext
參數由於該方法的簽名是:@Override public void check(RepositoryMergeRequestCheckContext context)
我嘗試使用的第一件事就是上下文參數。我可以這樣說context.getMergeRequest().getPullRequest().getFromRef().getRepository()
現在我得到一個Repository實例,我不知道如何從中提取提交信息。
直接調用的Git:由於這張支票最初是作爲一個git的鉤子腳本,調用從SDK是有道理的git我。這使我這個情況:
String result = gitScm.getCommandBuilderFactory().builder().lsTree().build(…).call();
凡gitScm獲得依賴注入在插件的構造。 注意構建參數?它預計在這種情況下T是一個CommandOutputHandler<T>
字符串,但這是一個接口,我不知道如何獲得實現該接口或如何創建一個實例。
- REST API REST API看起來最簡單的人,但它仍然無法與檢查文件的源代碼的第三個要求幫助,也從合併請求檢查本身就是一個來自Web請求產卵Web請求藏起來似乎並不是性能方面的一個好主意。
我應該遵循什麼樣的路徑?我該怎麼做?