0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Kubernetes上に構築したjiraとmattermostを連携させて通知出来るようにする

Last updated at Posted at 2019-11-11

目的

Jiraで課題等を作った時にmattermostへ通知が飛ぶようにする。

構成

20191217_jira-to-mattermost-kouseizu.png

利用したtool

jira-to-slackというtoolを使いました。
int128さんが作ってくださっている。ありがとうございます。

メモ

K8s上にdeployしたJIRAとmattermost標準のJiraとmattermostのintegration機能を使うと、うまく行かず(原因: https化してないから?深く切り分けられていない)、上記のjira-to-slackを使わせて頂いた。

構築手順

大枠は、jira-to-slackREADME.mdの通り。
構築手順の変更ポイントとしては、jira-to-slackもkubernetesに乗せるようにした。
今回作ったjira-to-slack用のmanifestをgithubに上げておきました。参考になれば幸いです。
https://github.com/iguchikoma/jira-to-slack-kubernetes

1. Mattermost上にincoming webhookを作る。

Ref. https://docs.mattermost.com/developer/webhooks-incoming.html

1-1. mattermost上にchannelを作る。

通知を受ける用のchannelとしてjiraという名前でchannelを作った。
スクリーンショット 2019-11-11 18.47.09.png

1-2. incoming webhookを設定する

mattermostの左上メニューからintegrations > incoming webhookと進んで、以下のようにwebhookを設定してsaveする
スクリーンショット 2019-11-11 18.48.17.png

するとwebhookが生成される
スクリーンショット 2019-11-11 21.43.25.png

2. JIRAにwebhookを設定する。

右上の歯車 > システム > 左サイドバーのWebフック > Webフックの作成と進み、以下のようにWebhookを作成する。URLは[jira-to-slackのURL]?webhook=[mattermostのwebhookのurl]&dialect=mattermost&channel=jira&debug=1
スクリーンショット 2019-11-11 21.44.43.png

3. jira-to-slackをkubernetesにdeployする

ServiceはNodePortで30003としています。適宜、自分の環境に合わせて書き換えてください。

bash
### jira-to-slackのkubernetes manifest一式をgithubから取ってくる。
vagrant@vagrant:~$ git clone https://github.com/iguchikoma/jira-to-slack-kubernetes.git
vagrant@vagrant:~$ cd jira-to-slack-kubernetes/

### deployする。
vagrant@vagrant:~/jira-to-slack-kubernetes$ kubectl apply -f jira-to-slack-ns.yaml
vagrant@vagrant:~/jira-to-slack-kubernetes$ kubectl apply -f jira-to-slack-deployment.yml
vagrant@vagrant:~/jira-to-slack-kubernetes$ kubectl apply -f jira-to-slack-svc.yaml

### jira-to-slackの動作確認 (NodePortは30003)
vagrant@vagrant:~/jira-to-slack-kubernetes$ kubectl get svc -n jira-to-slack jira-to-slack
NAME            TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
jira-to-slack   NodePort   10.100.82.84   <none>        3000:30003/TCP   75s

### curlでAPIの応答確認
vagrant@vagrant:~/jira-to-slack-kubernetes$ curl http://192.168.33.10:30003
missing query parameter. Request with ?webhook=https://hooks.slack.com/xxx

4. 動作確認

JIRAで適当に課題を作ってみて、mattermostに通知が飛ぶか確認する。mattermostへの通知はこんな感じで飛ぶ。
res001.png

最後に

以上で作業終了です。参考になれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?