MeetAndy logo
快速開始

連接 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 設定精靈

  1. 從側邊選單開啟 Company settings → Integrations
  2. 找到 GitLab 卡片並點選 Connect

設定流程是一個 5 步驟的精靈,每一步都有複製按鈕,方便你把對應的值貼到 GitLab。

GitLab 設定精靈,步驟 1

步驟 1:選擇 GitLab 類型

選擇你的 GitLab 在哪裡:

  • GitLab.com:gitlab.com 的雲端服務
  • Self-hosted:你自己的 GitLab 站台。輸入完整 URL(例如 https://gitlab.acme.com

點選 Next

步驟 2:建立機器人帳號

GitLab 在 MeetAndy 以專用機器人帳號連接時運作得最好,可以避免 merge request 的自我審核問題,也讓稽核紀錄更乾淨。

在 GitLab.com:

  1. 登出你的個人 GitLab 帳號。
  2. 前往 gitlab.com/users/sign_up
  3. 用以下資訊建立帳號:
    • NameMeetAndyAI
    • Usernamemeetandyai
    • Emailmeetandyai@yourcompany.com(或任何你能控制的信箱)
  4. 驗證 Email 並以機器人身分登入。
  5. 將機器人加入你希望 Andy 可以存取的 group 或 project,給予 DeveloperMaintainer 角色。

在自架 GitLab:

  1. 以 GitLab 管理員身分登入。
  2. 進入 Admin Area → Users → New user,用上面相同的 name/username/email 建立機器人。可以不設密碼,後續用 Impersonate 按鈕代替。
  3. 將機器人加入相關的 group/project,給予 DeveloperMaintainer 角色。

回到 MeetAndy 勾選確認方塊,點選 Next

步驟 3:設定 webhook(選用)

webhook 讓 Andy 能即時接收新 merge request 等事件。你可以略過這個步驟,之後再到整合設定中加上 webhook。

精靈中會顯示兩個值:

  • Webhook URL:複製
  • Secret token:複製(只會顯示一次,遺失時可在 MeetAndy 重新產生)

在 GitLab 中:

  1. 進入 group 的 Settings → Webhooks(或 project 的 webhook 設定)。
  2. 點選 Add new webhook
  3. 貼上 URL 與 secret token。
  4. 勾選觸發事件:Push eventsIssues eventsMerge request eventsPipeline eventsComments
  5. 確認 Enable SSL verification 已勾選。
  6. 點選 Add webhook

回到 MeetAndy 點選 Next

步驟 4:建立 OAuth application

這是 MeetAndy 以機器人身分驗證的方式。位置略有差異:

  • GitLab.com:頭像選單 → Edit profile → Applications
  • 自架版Admin Area → Applications

建立新的 application,設定如下:

  • NameMeetAndyAI(從 MeetAndy 複製)
  • Redirect URI:從 MeetAndy 複製
  • Scopes:勾選全部五個 — apiread_apiread_userread_repositorywrite_repository

GitLab 只會顯示一次 Application IDApplication Secret,請 立即複製兩者,secret 之後無法再取得。貼回 MeetAndy 精靈後點選 Next

請馬上複製 application secret。GitLab 不會再次顯示。一旦遺失,你必須刪除這個 application 並重新開始。

步驟 5:連接

最後一步是讓 MeetAndy 以機器人身分授權。

在點選連接按鈕之前,你 必須以機器人帳號(@meetandyai)登入 GitLab。在自架 GitLab 上請使用機器人使用者頁面的 Impersonate 按鈕,而不是直接登入。

  1. 將你的 GitLab session 切換到機器人帳號。
  2. 勾選確認方塊。
  3. 點選 Connect to GitLab,會被導向 GitLab 進行授權,再回到 MeetAndy。
  4. 成功頁會顯示已連接的機器人帳號。Manage → Integrations 上的 GitLab 卡片現在會顯示 Connected

自架版:proxy/IP 允許清單設定

如果你的自架 GitLab 在防火牆後面,MeetAndy 必須從一個固定 IP 連入。連接完成後,GitLab 卡片上會多出一個選項:

☐ GitLab instance requires IP allowlisting

如果你的防火牆會擋掉未知 IP,請勾選這個選項。點選 Learn more 可以看到完整指引。簡短版:

  1. 將以下 IP 加入 GitLab 的防火牆/安全群組:

    34.223.170.213
  2. 允許從這個 IP 連入 port 443(HTTPS)。

  3. 儲存並套用防火牆規則。

  4. 回到 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 整合:

  1. 在 MeetAndy 開啟 Company settings → Integrations → GitLab
  2. 點選 Disconnect,MeetAndy 會解除連線。

OAuth application 與機器人帳號在 group/project 中的權限會留在 GitLab 上。如果你想完全清掉 MeetAndy 的痕跡,請額外:

  • 刪除 OAuth application(頭像選單 → Edit profile → Applications,自架版為 Admin Area → Applications
  • 把機器人從你加入的 group 與 project 中移除,或是直接刪除這個機器人帳號(如果它只用於 MeetAndy)

下一步

連接 Slack →