公開:5月 28, 2025
2分で読めます
この記事ではGitLabのフリー版をご利用の方が無料で実現できる、他社製品とのインテグレーション方法について、詳しくご説明します。
1.はじめに
2.はしがき
3.Redmine
本書で扱うRedmine
Redmineのインストール
セットアップ
初期設定
GitLabのマニュアルの確認
GitLab側の設定
実際に使用している様子
GitLabのコミット時に「#2」を指定している様子
本インテグレーションのポイント
ご注意
4.Backlog
本書で扱うBacklog
Backlogの利用開始
ユーザ登録
初期設定
GitLabのマニュアルの確認
GitLab側の設定
GitLabのイシュー機能を非表示
実際に使用している様子
GitLabのコミット時に「キー情報」を指定している様子
本インテグレーションのポイント
ご注意
5.Jira
本書で扱うJiraと2つのユースケース
Jiraの利用開始
ユーザ登録
初期設定
GitLabのマニュアルの確認
ユースケース1. Jira Issue Integration
GitLab側の設定
GitLabのイシュー機能を非表示
実際に使用している様子
GitLabのコミット時に「URL情報」を指定している様子
本インテグレーションJira Issueのポイント
ご注意
ユースケース2. Jira development panel Integration
Jira側の設定
実際に使用している様子
本書は、GitLabのフリー版をお使いの皆様に、無料で実現できる他社製品とのインテグレーション方法について詳しく説明したものです。
ぜひ実際に手を動かして、セットアップしてみてください。
いずれもプロジェクト単位なので、他のGitLab上のプロジェクトに影響を与えることはありません。
本書に登場する会社名および商品名は各社の商標または登録商標です。
なお、本書ではⓇ、TM マークを明記しておりません。
本書で前提としている各製品等のバージョンは以下となります。
GitLab.com および GitLab Community Edition/Enterprise Edition Free版 17.10
Redmineとは、https://www.redmine.org/ で提供されている、無料のプロジェクト管理ツールです。非常に人気が高いOSSプロダクトです。
引用元: https://www.redmine.org/
2025/04/01時点で、最新のものは、 6.0.4となっています。
引用元: https://www.redmine.org/
本書では、Dockerをつかってインストールします。
以下のファイルを作成: docker-compose.yml
version: '3.1'
services:
redmine:
image: redmine
restart: always
ports:
- 80:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: example
REDMINE_SECRET_KEY_BASE: supersecretkey
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: redmine
その後、以下のコマンドでインスタンスを起動します。
sudo docker compose up \-d
Redmine側でプロジェクトや、イシューを作成できるよう、トラッカー等の設定をおこないます。一通りセットアップを完了します。
引用元: https://www.redmine.org/
仮に以下の内容で準備が完了したとします。
項目 | 設定値 |
---|---|
URL | http://my-redmine.samurai-tanuki.com/ |
作成したプロジェクト | sample-project-1 |
以下のURLで、GitLabとRedmineの設定方法についてのガイドが記載されています。
項目 | 設定値 |
---|---|
プロジェクトのURL | http://my-redmine.samurai-tanuki.com/projects/sample-project-1 |
イシューのURL | http://my-redmine.samurai-tanuki.com/issues/:id |
新しいイシューのURL | http://my-redmine.samurai-tanuki.com/projects/sample-project-1/issues/new |
(*上記では、「新しいイシューのURL」を指定していますが、本機能はもう動作しません。UI上は入力チェック機能が動作するため、なにか適当な文字列を指定すればよいです。プロジェクトのURL、イシューのURLを指定し、「テスト設定」を押下して動作を確認します)
上記の「プロジェクトのURL」は、GitLabのメニューの以下の部分に表示されます。
Redmine側で、以下のようにイシューを作成します。
引用元: https://www.redmine.org/
引用元: https://www.redmine.org/
コミットした後、以下のようにリンクが作成されます。
上記で「Issue in Redmine」をクリックすると、以下の画面に遷移します。
引用元: https://www.redmine.org/
GitLabとRedmineのインテグレーションを実現すると、以下のような内容が実現できます。
ポイントとして、
の2点が価値ポイントとなります。
本機能を有効にすると、GitLab側の「イシュー」機能が利用できなくなります。
Backlogとは、株式会社ヌーラボ社から提供されている、製品です。ここでは、GitLabとのインテグレーション方法について解説します。
引用元: https://backlog.com/ja/
Backlogの契約がまだで、テスト的に利用したい場合は、Free版が提供されているようなので、それを利用するのものオススメです。
Backlog側でプロジェクトの作成をおこないます。Backlogの場合、プロジェクトを作成すれば、すぐに使えるようになっています。
引用元: https://backlog.com/ja/
項目 | 設定値 |
---|---|
URL | https://tsukasano.backlog.com/ |
作成したプロジェクト | sample-project-1 |
以下のURLで、GitLabとBacklogについては、汎用的な接続インターフェースで設定します。
この設定をした場合、GitLabの既存の「イシュー」機能も「存続」します。そのため、特に併用の必要がない場合は、GitLab側の「イシュー」を非表示することをおすすめします。
Custom issue tracker | GitLab Docs
項目 | 設定値 |
---|---|
プロジェクトのURL | https://tsukasano.backlog.com/projects/PAFE1 |
イシューのURL | https://tsukasano.backlog.com/view/PAFE1-:id |
新しいイシューのURL | https://tsukasano.backlog.com/add/PAFE1 |
Backlogの場合、イシューのURLの部分に少し注意が必要です。上記では、プロジェクトIDは「PAGE1」ですが、イシューを参照したときのURLは、(イシュー番号が6の場合)「https://tsukasano.backlog.com/view/PAFE1-6」となります。そのため、分かりづらいですが、上記の「イシューのURL」のように、「:id」を含める部分については注意が必要です。不明であれば、一旦、Backlog側でイシューを開き、そのURLの構成を確認するとよいでしょう。
(* 上記では、「新しいイシューのURL」を指定していますが、本機能はもう動作しません。UI上は入力チェック機能が動作するため、なにか適当な文字列を指定すればよいです。プロジェクトのURL、イシューのURLを指定し、「テスト設定」を押下して動作を確認します)
上記の「プロジェクトのURL」は、GitLabのメニューの以下の部分に表示されます。
Backlogをメインとして使う場合、GitLabの「設定」ー「一般」ー「可視性、プロジェクトの機能、権限」より、「イシュー」をOffにします。
その後、[変更を保存]ボタンを押して、設定を反映します。
そうすると、以下のようにメニューの表示が変わります。
Backlog側で、以下のようにイシューを作成します。
引用元: https://backlog.com/ja/
この時、上の図の矢印アイコンをクリックすると、課題名とキーが含まれた「キー情報」がクリップボードにコピーされます。
コミットした後、以下のようにリンクが作成されます。
上記で「Issue in Custom issue tracker」をクリックすると、以下の画面に遷移します。
引用元: https://backlog.com/ja/
GitLabとBacklogのインテグレーションを実現すると、以下のような内容が実現できます。
ポイントとして、
の2点が価値ポイントとなります。
本機能を有効にすると、GitLab側の「イシュー」機能は残りますので、特別な理由がない限り、GitLab側の「イシュー」機能は停止するとよいでしょう。
Jiraとは、アトラシアン社から提供されている、製品です。ここでは、GitLabとのインテグレーション方法について解説します。
ここで扱うユースケースは、2つあります。このJiraの場合だけ、少し特殊なのが面白いところです。
「Jira Issue」と「Jira development panel」Integrationです。
引用元: https://www.atlassian.com/software/jira
Jiraの契約がまだで、テスト的に利用したい場合は、Free版が提供されているようなので、それを利用するのものオススメです。
Jira側でプロジェクトの作成をおこないます。Jiraの場合、プロジェクトを作成すれば、すぐに使えるようになっています。
引用元: https://www.atlassian.com/software/jira
項目 | 設定値 |
---|---|
URL | https://gitlab-tsukasa.atlassian.net/jira/software/projects/KAN/boards/1 |
作成したプロジェクト | KAN |
以下のURLで、GitLabとJiraについては、専用のインターフェースで設定します。Jiraの場合は他のプロダクトと比較して、よりレベルの高いインテグレーションが可能になっています。
GitLabとJiraのインテグレーションは、以下の2箇所あります。
それぞれ、GitLabとどう関係するのかは、以下のURLをご参考ください。
例)
(以下続く)
以下のURLにアクセスして、Jira側でAPIトークンを取得します。
https://id.atlassian.com/manage-profile/security/api-tokens
その時のユーザは、Jiraの管理者である必要があります。このユーザをつかって、GitLab側でのコミット情報をJira側にも書き込みます。
ここでは、Web URLをつかって、インテグレーションをおこないます。
項目 | 設定値 |
---|---|
Web URL | https://gitlab-tsukasa.atlassian.net |
以下の部分はデフォルトでチェックされていますので、そのままにします。これにより、Jira側へコメントが自動書き込みされます。
GitLab Premium版以上を使うと、GitLabの「イシュー」画面から透過的にJiraのイシューを見ることができますが、本書はGitLabフリー版を前提としていますので、GitLabの「イシュー」機能を非表示にします。
Jiraをメインとして使う場合、GitLabの「設定」ー「一般」ー「可視性、プロジェクトの機能、権限」より、「イシュー」をOffにします。
その後、[変更を保存]ボタンを押して、設定を反映します。
そうすると、以下のようにメニューの表示が変わります。
Jira側で、以下のようにイシューを作成します。
この時、上の図のクリップアイコンをクリックすると、このチケットへのURLがクリップボードにコピーされます。
コミットした後、以下のようにリンクが作成されます。
一方、キー番号のみを記述すると以下にになります。
上記で「Issue in Jira issue」をクリックすると、以下の画面に遷移します。
このように、コメントが記入されますので、URLよりも、キーを指定することをおすすめします。
GitLabとJira Issueのインテグレーションを実現すると、以下のような内容が実現できます。
ポイントとして、
の3点が価値ポイントとなります。
GitLab Free版を使う場合
本機能を有効にすると、GitLab側の「イシュー」機能は残りますので、特別な理由がない限り、GitLab側の「イシュー」機能は停止するとよいでしょう。
ご参考 GitLab Premium以上をご利用するとGitLabの「イシュー」から、JiraのIssueが見えるようになります。
Jira issues integration | GitLab Docs
また、GitLab Ultimateをご利用すると、GitLab側でセキュリティスキャンを行ったのち、脆弱性がみつかった際、その脆弱性をJira側へ新規のチケットとして起票する、という機能が利用可能です。
Jira issues integration | GitLab Docs
このユースケースを使用する際、Jira側でどの「Jira」を使っているのかが重要になります。Atlassian社が提供するクラウドサービスを使っている場合、「GitLab for Jira Cloud app」(GitLab製)を使います。一方、オンプレミス版の「Jira Data Center or Jira Server」を使っている場合は、「Jira DVCS connector」(Atlassian社製)を使います。
本書では、クラウドサービスのJiraを使っている、という前提で解説します。
Jiraの画面で、「アプリ」ー「その他のアプリを探す」をクリックします。
引用元: https://www.atlassian.com/software/jira
ここで、GitLab製のこの「GitLab for Jira Cloud」Appをインストールします。
引用元: https://www.atlassian.com/software/jira
引用元: https://www.atlassian.com/software/jira
これで無事インストールが完了です。
完了すると、次のポップアップが表示されますので、「Get started」をクリックします。
引用元: https://www.atlassian.com/software/jira
すると、次の画面が表示されますので、GitLab.comを選択した状態で、認証を完了させます。
引用元: https://www.atlassian.com/software/jira
引用元: https://www.atlassian.com/software/jira
次に、このAppを有効にするGitLab側のグループを選択する画面になります。ここで、任意のグループを選択します。
引用元: https://www.atlassian.com/software/jira
ここで選択できるのは、プロジェクトではなく、グループです。
引用元: https://www.atlassian.com/software/jira
無事完了すると、次の画面になります。
引用元: https://www.atlassian.com/software/jira
では、実際になにがどう見えるのか実践してみます。
Jira側で、なにか適当なイシューを作成するなり、見つけてみましょう。そのキーが「KAN-14」だとします。
引用元: https://www.atlassian.com/software/jira
ここで、GitLab側でなにか適当に変更して、コミットする際のダイアログボックス画面で以下のように入力します。
Jira側にもどって、該当チケットを見てみます。
赤矢印のところに、GitLab側のレポジトリ情報が連携されていることがわかります。
引用元: https://www.atlassian.com/software/jira
以下のように、コミット情報等も連携されていることがわかります。
引用元: https://www.atlassian.com/software/jira
また、「すべての開発情報を表示」をクリックすると、以下のような画面も表示されます。
引用元: https://www.atlassian.com/software/jira
参考までに、この時点でこのAppをアンインストールすると、以下のように、開発情報は表示されなくなります。
引用元: https://www.atlassian.com/software/jira
Jira側からブランチを作成することも可能です。
引用元: https://www.atlassian.com/software/jira
また、以下は他のチケットですが、一度コミット時にJiraとの紐づけを行っておくと、そのブランチに対してビルドしたり、デプロイしたりした履歴が、以下のようにJira側にも反映されます。
引用元: https://www.atlassian.com/software/jira
引用元: https://www.atlassian.com/software/jira
このように、Jiraのチケットから、「最終的にいまどこまで進んだ?」みたいな内容まで確認できるようになります。