GitLabのService Deskの設定方法
概要
GitLabのService Deskを使えるように設定しました。その設定方法について説明します。
環境
- GitLab 15.8
Service Deskについて
GitLabは、Gitのホスティングサービスです。GitLab.comという名前のGitLab公式のサービスもありますが、自分でサーバーを用意して、GitLabをインストールして使うことができます。
私が現在利用しているGitLabは、自分で用意したサーバーにインストールしたセルフホスティングのGitLabです。
このGitLabでは、自分で色々と用意する必要はありますが、設定をすることで様々な機能を使うことができます。今回のService Deskもそのひとつです。
Service Deskは、メールを利用してGitLabのプロジェクトのIssueを追加できる機能です。この方法で追加したIssueは、ConfidentialなIssueとして、特定の権限以上のメンバーしか見られないIssueとなります。
メールを利用してIssueを追加する機能は、By sending an emailという名前で既にあります。Service Deskとの主な違いは、ConfidentialなIssueとなる点です。外部の人間からの連絡を受け取りたいときは、Service Deskを使うなど使い分けをします。
Service Deskはデフォルトで無効化されており、自分で設定を追加する必要があります。
ここからは設定方法について説明する
設定方法
Service Deskの設定をするには、あらかじめ、メールサーバーを用意しておく必要があります。
このメールサーバーは、example+なんらかの文字列@example.comのようなメールアドレスへ送った際に、[email protected]にメールが送られるという、エイリアス機能のあるメールサーバーが必要です。代表的な所ではGmailなどが対応しています。
そのため、ここではGmailのメールアドレスがあるということを前提に設定方法を説明します。
設定は、/etc/gitlab/gitlab.rb
に記述します。
最初に、Service Deskの設定を追加します。この設定ではproject_[email protected]宛にメールが届きます。メールアドレスやパスワードは自分の用意したもので置き換えてください。
gitlab_rails['service_desk_email_enabled'] = true
gitlab_rails['service_desk_email_address'] = "project_contact+%{key}@gmail.com"
gitlab_rails['service_desk_email_email'] = "[email protected]"
gitlab_rails['service_desk_email_password'] = "password"
gitlab_rails['service_desk_email_mailbox_name'] = "inbox"
gitlab_rails['service_desk_email_idle_timeout'] = 60
gitlab_rails['service_desk_email_log_file'] = "/var/log/gitlab/mailroom/mail_room_json.log"
gitlab_rails['service_desk_email_host'] = "imap.gmail.com"
gitlab_rails['service_desk_email_port'] = 993
gitlab_rails['service_desk_email_ssl'] = true
gitlab_rails['service_desk_email_start_tls'] = false
これだけでは、設定は不十分です。さらに、Incoming emailの設定をします。この設定では[email protected]宛にメールが届きます。メールアドレスやパスワードは自分の用意したもので置き換えてください。
gitlab_rails['incoming_email_enabled'] = true
gitlab_rails['incoming_email_address'] = "gitlab-incoming+%{key}@gmail.com"
gitlab_rails['incoming_email_email'] = "[email protected]"
gitlab_rails['incoming_email_password'] = "password"
gitlab_rails['incoming_email_host'] = "imap.gmail.com"
gitlab_rails['incoming_email_port'] = 993
gitlab_rails['incoming_email_ssl'] = true
gitlab_rails['incoming_email_start_tls'] = false
gitlab_rails['incoming_email_mailbox_name'] = "inbox"
gitlab_rails['incoming_email_idle_timeout'] = 60
gitlab_rails['incoming_email_delete_after_delivery'] = true
gitlab_rails['incoming_email_expunge_deleted'] = true
これで設定は終わりです。最後に、設定を反映させます。
sudo gitlab-ctl reconfigure
ちゃんと設定できていれば、GitLabの管理者ダッシュボードで、「Reply by email」にチェックがつきます。
これで、Service Deskの利用ができるようになりました。
さいごに
Service Deskを利用する場合は、Service Deskの設定だけでなく、Incoming emailの設定も必要です。忘れずに設定してください。