連接 GitLab
將 MeetAndy 連接到 GitLab.com 或自架的 GitLab 站台。
如果團隊使用 GitLab,請在這裡連接,讓 Andy 能讀取程式碼並開立 merge request。如果團隊使用 GitHub,請改看 連接 GitHub。Git host 只需連接其中一個。
GitLab 的設定流程比 GitHub 複雜,因為 GitLab 需要一個專用的機器人帳號。請預留 10–15 分鐘。這個步驟僅限管理員操作。
你會需要
開始之前,請先準備好:
- MeetAndy 的管理員權限
- 你 GitLab 站台的管理員權限(或 GitLab.com 群組的管理員權限)
- 一個可用於機器人帳號的 Email(例如
meetandyai@yourcompany.com)
開啟 GitLab 設定精靈
- 從側邊選單開啟 Company settings → Integrations。
- 找到 GitLab 卡片並點選 Connect。
設定流程是一個 5 步驟的精靈,每一步都有複製按鈕,方便你把對應的值貼到 GitLab。

步驟 1:選擇 GitLab 類型
選擇你的 GitLab 在哪裡:
- GitLab.com:gitlab.com 的雲端服務
- Self-hosted:你自己的 GitLab 站台。輸入完整 URL(例如
https://gitlab.acme.com)
點選 Next。
步驟 2:建立機器人帳號
GitLab 在 MeetAndy 以專用機器人帳號連接時運作得最好,可以避免 merge request 的自我審核問題,也讓稽核紀錄更乾淨。
在 GitLab.com:
- 登出你的個人 GitLab 帳號。
- 前往 gitlab.com/users/sign_up。
- 用以下資訊建立帳號:
- Name:
MeetAndyAI - Username:
meetandyai - Email:
meetandyai@yourcompany.com(或任何你能控制的信箱)
- Name:
- 驗證 Email 並以機器人身分登入。
- 將機器人加入你希望 Andy 可以存取的 group 或 project,給予 Developer 或 Maintainer 角色。
在自架 GitLab:
- 以 GitLab 管理員身分登入。
- 進入 Admin Area → Users → New user,用上面相同的 name/username/email 建立機器人。可以不設密碼,後續用 Impersonate 按鈕代替。
- 將機器人加入相關的 group/project,給予 Developer 或 Maintainer 角色。
回到 MeetAndy 勾選確認方塊,點選 Next。
步驟 3:設定 webhook(選用)
webhook 讓 Andy 能即時接收新 merge request 等事件。你可以略過這個步驟,之後再到整合設定中加上 webhook。
精靈中會顯示兩個值:
- Webhook URL:複製
- Secret token:複製(只會顯示一次,遺失時可在 MeetAndy 重新產生)
在 GitLab 中:
- 進入 group 的 Settings → Webhooks(或 project 的 webhook 設定)。
- 點選 Add new webhook。
- 貼上 URL 與 secret token。
- 勾選觸發事件:Push events、Issues events、Merge request events、Pipeline events、Comments。
- 確認 Enable SSL verification 已勾選。
- 點選 Add webhook。
回到 MeetAndy 點選 Next。
步驟 4:建立 OAuth application
這是 MeetAndy 以機器人身分驗證的方式。位置略有差異:
- GitLab.com:頭像選單 → Edit profile → Applications
- 自架版:Admin Area → Applications
建立新的 application,設定如下:
- Name:
MeetAndyAI(從 MeetAndy 複製) - Redirect URI:從 MeetAndy 複製
- Scopes:勾選全部五個 —
api、read_api、read_user、read_repository、write_repository
GitLab 只會顯示一次 Application ID 與 Application Secret,請 立即複製兩者,secret 之後無法再取得。貼回 MeetAndy 精靈後點選 Next。
請馬上複製 application secret。GitLab 不會再次顯示。一旦遺失,你必須刪除這個 application 並重新開始。
步驟 5:連接
最後一步是讓 MeetAndy 以機器人身分授權。
在點選連接按鈕之前,你 必須以機器人帳號(@meetandyai)登入 GitLab。在自架 GitLab
上請使用機器人使用者頁面的 Impersonate 按鈕,而不是直接登入。
- 將你的 GitLab session 切換到機器人帳號。
- 勾選確認方塊。
- 點選 Connect to GitLab,會被導向 GitLab 進行授權,再回到 MeetAndy。
- 成功頁會顯示已連接的機器人帳號。Manage → Integrations 上的 GitLab 卡片現在會顯示 Connected。
自架版:proxy/IP 允許清單設定
如果你的自架 GitLab 在防火牆後面,MeetAndy 必須從一個固定 IP 連入。連接完成後,GitLab 卡片上會多出一個選項:
☐ GitLab instance requires IP allowlisting
如果你的防火牆會擋掉未知 IP,請勾選這個選項。點選 Learn more 可以看到完整指引。簡短版:
-
將以下 IP 加入 GitLab 的防火牆/安全群組:
34.223.170.213 -
允許從這個 IP 連入 port 443(HTTPS)。
-
儲存並套用防火牆規則。
-
回到 MeetAndy,請 Andy 抓點東西(例如
@MeetAndy what's in the repo?)測試連線。
勾選後,所有從 MeetAndy 發出的 GitLab API 呼叫都會經由這個 IP 上的專用 proxy,所以你的防火牆只需放行這一個位址。
GitLab.com 不需要這個設定,gitlab.com 本身就對外開放。IP 允許清單的選項只會出現在自架版設定中。
確認連線
回到 Company settings → Integrations,GitLab 卡片會顯示 Connected to: @meetandyai(或你機器人的 username)。點選 Test connection 確認 Andy 能連到 GitLab。
自架版上若 Test connection 失敗,最常見的原因是 IP 允許清單,請再確認 34.223.170.213 已被允許進入。
Andy 用 GitLab 做什麼
連接完成後,Andy 可以:
- 讀取你 project 中的程式碼,回答問題與規劃工作
- 在你把任務交給 Coding Agent 時,開立與更新 merge request
- 對 merge request 與 pipeline 事件做出反應(如果你設定了 webhook)
之後 設定每個工作空間 時,你會逐一決定 Andy 在每個工作空間追蹤的 project。
中斷連接
要移除 GitLab 整合:
- 在 MeetAndy 開啟 Company settings → Integrations → GitLab。
- 點選 Disconnect,MeetAndy 會解除連線。
OAuth application 與機器人帳號在 group/project 中的權限會留在 GitLab 上。如果你想完全清掉 MeetAndy 的痕跡,請額外:
- 刪除 OAuth application(頭像選單 → Edit profile → Applications,自架版為 Admin Area → Applications)
- 把機器人從你加入的 group 與 project 中移除,或是直接刪除這個機器人帳號(如果它只用於 MeetAndy)