読者です 読者をやめる 読者になる 読者になる

たまに考える人のメモ書き

ふと考えたことを綴る、特に何の意味もない書き溜め。

redmineとzabbixの連携 zabbix alertmail -> redmine ticket

redmineとzabbixの連携 zabbix alertmail -> redmine ticket

経緯

わけあってredmineとzabbixを連携させるべく、方法を探していたら、どうもzabbixのアラートメールから redmineにチケット起票するやり方が一般的らしいということで設定してみていた。

参考にしたのは下記のブログ。

qiita.com

ハマったところ

いろいろハマったところはあるので、列挙だけしておく。

  • zabbixのアラートメールの宛先アドレスはどうでもよい。redmineに存在するユーザのアドレスでなくてもよい。今回はzabbixサーバのlocalにredmineユーザを作成し宛先とした。このユーザはredmineに存在するかはどうでもよい(たぶん)。
  • 上記と被るが、zabbix側の送信に使うpostfixの/etc/aliasesファイルの宛先はなんでもよい。結局メールを起点にコマンドを実行したいだけだから。コマンドを実行できる権限さえあれば。
  • zabbixのアラートメールの送信元アドレスredmineに存在するユーザのアドレスでなければならない。
  • redmineのAPIkeyと送信元アドレスに設定したユーザのAPIkeyが異なっているとエラー(当然)
  • あと、勘違いしていた部分として、メールサーバとして利用しているpostfixが動いているサーバ上にスクリプトは配置しなければならない。
  • メールサーバとredmineが動いているサーバが違う場合、スクリプト1行目のシェバン?シバン?は書き換える必要あり。自分の場合は、#!/usr/bin/rubyとした。
  • スクリプトの引数の形式がソース内部でぶれてて戸惑う。結果ここはどちらでも動いたんだけど。

疲れた。

redminerdm-mailhandler.rbで気になる部分

上記で書いた、引数の形式がぶれてる問題について。

オプションの付け方として、'=‘のつくつかないがまぎらわしい。結果としてどちらでも動くが、無用の混乱を招く。

該当箇所はこちら。

github.com

上記リンクはpull requestできなくてなえたので後で削除するかもしれん。のでキャプチャも貼っておく。

f:id:hatevoya:20170129145923p:plain

pull request 送ってみようと思ったが、SVNで管理しているので、githubにはpull requestを送るな!というスタンスらしい。 公式リポジトリとかpatchファイル送るやり方ってものがあるらしいが、めんどくさくてやめた。

自分のような新米の開発者にとって、github以外のやり方を覚えるのがかなり手間で、諦めた。 初めてOSSのコントリビューターになれるかもと思ったが、そこまで魅力的な部分でもないし。 こういう微妙な使い勝手の悪さで廃れていくOSSもあるのかな。。と思った次第。偉そうだけど。