在前一篇文章中,我們發現內建的 GitLab Tool 功能有限,無法滿足我們的需求。因此,今天我們將採用 HTTP Request Tool 來完成自動化 Code Review 的功能。
針對 GitLab 整合,我們有以下三種選擇:
本篇文章將詳細介紹第二種方案的完整實作過程。
當內建工具無法滿足特定需求時,直接調用 GitLab API 是一個靈活且強大的解決方案。讓我們一步步來實現這個功能。
首先,在 n8n 工作流程中選擇 HTTP Request Tool 作為我們的自定義 API 調用工具:
接下來,我們需要設定以下關鍵參數來確保 API 調用能夠正常運作:
基本配置:
Get Merge Request Diff
GET
API URL 動態設定:
https://{gitlab-url}/api/v4/projects/{{ $json["body"]["project"]["id"] }}/merge_requests/{{ $json["body"]["object_attributes"]["iid"] }}/changes
身份認證設定:
PRIVATE-TOKEN
⚠️ 安全提醒:關於 Access Token 的權限管理和安全最佳實務,我們將在後續章節中詳細說明。
配置完成後,點擊「Execute Step」來測試 API 調用是否能夠成功執行:
回到 AI Agent 節點,我們需要更新 Prompt 內容以充分利用新的 HTTP Request Tool:
請使用 http request tool - get diff merge request 工具取得合併請求的差異內容,並進行全面的 code review。
請求參數配置:
- project_id: {{ $json.body.project.id }}
- merge_request_iid: {{ $json.body.object_attributes.iid }}
- source_branch: {{ $json.body.object_attributes.source_branch }}
- view: "parallel"
請針對程式碼變更提供詳細且具建設性的審查意見,重點包括:
1. **程式碼品質分析** - 評估代碼的可讀性、結構和風格
2. **潛在問題識別** - 找出可能的錯誤、安全漏洞或性能問題
3. **改善建議** - 提供具體可行的優化方案
4. **最佳實務檢查** - 確認是否符合團隊的編程規範
請以專業且友善的語調提供回饋,幫助開發者提升代碼品質。
更新 Prompt 後,執行 AI Agent 來驗證整個流程:
以下是完整的工作流程示意圖:
今天我們成功地透過 HTTP Request Tool 讓 AI Agent 能夠直接存取 GitLab API,實現了功能完整的自動化 Code Review 系統。這種實作方法的主要優勢包括:
雖然這種方法需要手動配置 API 調用的細節,但它提供了比內建工具更大的彈性和控制能力。
下一篇預告: 我們將更進一步,建立屬於自己的 MCP Server,實現更強大的多工具整合功能,讓 MCP Client 能夠一次性存取多個不同的工具和服務,打造更加完善的自動化工作流程。