如何整合自行架設的 Gitlab 與 Jira Cloud App?

如果你想整合自行架設的 Gitlab 與 Jira Cloud App,你要先知道整合的目的是什麼後決定整合的方式。如果你整合的目的是想要在 Gitlab Commit 時可以點擊 Commit Message 中的 Issue 編號連到對應的 Jira Issue,那麼你需要做的設定相對容易,但如果你整合的目的是希望在 Jira 的 Issue 當中可以直接控制跟看到 Gitlab 的 Branch 和 Commit,那麼你會需要更多步驟才能完成整合。

設定基本的 Gitlab 與 Jira Cloud App 整合

你會需要有完整的 Gitlab 管理權限才能夠設定這個整合,首先你要確保你的 Gitlab 安裝不是相對 URL,例如:https://root.domain/gitlab 這樣的形式是不行的,另外你會需要前往 Jira Cloud App 先建立一個 API tokens 作為未來的操作使用。

接下來到 Gitlab 你需要依下列順序指示開始操作:

  1. 前往 Gitlab 管理介面 /admin
  2. 前往 設定整合頁面 /admin/application_settings/integrations
  3. 找到 Jira 後填寫你的 Jira Cloud App 網址,例如: https://your_cloud_app.atlassian.net,並且填入前面所申請的 API Token
  4. 儲存後即完成設定

接下來你只要在 Commit Message 中提到 Issue 編號,你就可以從 Gitlab 的 Commit Message 連到對應的 Jira Issue。

Gitlab Commit 與 Jira Ticket 連結

參考資料:Configure the Jira integration in GitLab | GitLab

設定進階 Gitlab 與 Jira Cloud App 整合

為了要啟用這個整合,你要確保你的 Gitlab 安裝至少是 15.7 版本以上。你會需要在 Gitlab 中設定 OAuth 流程並且安裝 Atlassian Marketplace 的 GitLab for Jira Cloud App

設定 Gitlab OAuth 流程

請依下面步驟完成 Gitlab OAuth 設定:

  1. 前往管理介面 /admin/applications/ 新增 Application
  2. 設定 Redirect URI 為 https://gitlab.com/-/jira_connect/oauth_callbacks ,並且將 Condifential 取消勾選和在 Scopes 的地方僅勾選 api
  3. 將產生的 Application ID 輸入至 /admin/application_settings/general 頁面裡的 GitLab for Jira App 區塊,並且在 Jira Connect Proxy URL 填入 https://gitlab.com

安裝 GitLab for Jira Cloud App

前往 https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud 安裝對應的 App 後,在過程中你需要輸入你自行架設的 Gitlab 網址。沒有意外到這邊就完成整合了。

參考資料:GitLab for Jira Cloud app | GitLab