fluentdからChatWorkに投稿するプラグイン「fluent-plugin-chatwork(旧:fluent-plugin-out_chatwork)」


表題の通り fluentd から ChatWork に投稿するプラグインです

使い方

設定ファイルはこんな感じ

<match **>
  @type        chatwork
  api_token    YOUR_SECRET_TOKEN
  room_id      0000000000
  message      Hello ChatWork!\n<%= record["value"] %>
</match>

message ではerbや ¥n の改行に対応しているのが特徴です

ユースケース

社内GitLabのwebhookをtd-agentで受けてchatworkに通知するのに大活躍しています。

古い資料ですがやってるこんな感じです。

fluentd初心者がgitlabとChatWorkを連携してみた - くりにっき

いまだに後悔してること

初めて作ったfluentプラグインでプラグインの命名ルールがよく分かっておらず、fluent-plugin-out_chatworkという名前になっています (おそらく fluent-plugin-chatwork という名前の方がよかった気がする)

【追記】 fluent-plugin-chatwork v1.0.0をリリースした

コメントの @repeatedly さんのアドバイスを参考に名前を変えました

破壊的な変更なのでv0.0.3からv1.0.0にしています

古い名前のgemはfluent-plugin-chatworkをdependencyにしつつ、移行用としてv0.0.99.0をリリースしています。1
https://rubygems.org/gems/fluent-plugin-out_chatwork

gem install しようとすると下記のような警告が出るようにしています。 2

$ gem install fluent-plugin-out_chatwork
Fetching: fluent-plugin-chatwork-1.0.0.gem (100%)
Successfully installed fluent-plugin-chatwork-1.0.0
Fetching: fluent-plugin-out_chatwork-0.0.99.0.gem (100%)
===========================================================================
[DEPRECATION WARNING] fluent-plugin-out_chatwork is deprecated.
Please install fluent-plugin-chatwork instead of fluent-plugin-out_chatwork
===========================================================================

GitHubのリポジトリ名を変えると古いURLにリンクされている場合にリンク切れになるのが嫌だったのでそのままです。


  1. このバージョンはrspec 2.99.0を意識しています。 

  2. post_install_message を利用。http://guides.rubygems.org/specification-reference/#post_install_message