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 且在防火牆後面:可以在網路上把 34.223.170.213 加入允許清單,讓 MeetAndy 的 proxy 能連到你的站台

開啟 GitLab 設定精靈

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

Integrations 頁面上、尚未連接的 GitLab 卡片

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

步驟 1:選擇 GitLab 類型

精靈步驟 1:選擇 GitLab 類型

選擇你的 GitLab 在哪裡:

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

選擇 Self-Hosted 後,會多出輸入站台 URL 的欄位

點選 Next

步驟 2:建立機器人帳號

精靈步驟 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

精靈步驟 3:webhook URL 與 secret token

webhook 是 Andy 即時接收 merge request、pipeline 與留言事件的方式。

精靈中會顯示兩個值:

  • 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

精靈步驟 4:要複製到 GitLab 的 OAuth application 設定

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

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

建立新的 application,設定如下:

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

Scopes 列表,以及要把 GitLab 給的 Application ID 與 Secret 貼回的欄位

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

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

步驟 5:連接

精靈步驟 5:Impersonate 警告與 Connect to GitLab 按鈕

最後一步是讓 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 卡片的描述就會直接顯示要放行的 IP,不需要另外開啟任何設定。

已連接的 GitLab 卡片,顯示需要加入允許清單的 IP

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

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

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

  4. 回到 MeetAndy,打開卡片的 Manage 選單並點選 Test connection

所有從 MeetAndy 發出的 GitLab API 呼叫都會經由這個 IP 上的專用 proxy,所以你的防火牆只需放行這一個位址。

GitLab.com 不需要這個設定,gitlab.com 本身就對外開放。只有連接自架版實例時,卡片上才會出現這個 IP。

確認連線

回到 Company settings → Integrations,GitLab 卡片會顯示 Connected to: @meetandyai(或你機器人的 username)。打開卡片的 Manage 選單並點選 Test connection,確認 Andy 能連到 GitLab。

連線完成後的 GitLab 卡片,Manage 選單展開,顯示 Test connection 與 Disconnect

自架版上若 Test connection 失敗,最常見的原因是 IP 允許清單,請再確認 34.223.170.213 已被允許進入。

Andy 用 GitLab 做什麼

連接完成後,Andy 可以:

  • 讀取你 project 中的程式碼,回答問題與規劃工作
  • 在你把任務交給 Coding Agent 時,開立與更新 merge request
  • 對你 project 中的 merge request 與 pipeline 事件做出反應

之後 設定每個工作空間 時,你會逐一決定 Andy 在每個工作空間追蹤的 project。

中斷連接

要移除 GitLab 整合:

  1. 在 MeetAndy 開啟 Company settings → Integrations → GitLab
  2. 打開 GitLab 卡片的 Manage 選單並點選 Disconnect,MeetAndy 會解除連線。

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

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

下一步

連接 Slack →