evac

evac weekly – Slack ouput plugin 追加

evac - Node.js based simple aggregator - でこの一週間改良した箇所まとめです。

Slack output plugin追加

SlackのIncoming webhookを利用してevacの出力をSlack上に流せる様にしました。

例えば、

in:
staticWord:
text: Hello, slack! <http://www.remp.jp>
out:
slack:
url: https://hooks.slack.com/services/***/***/****

の様にoutputとしてslackプラグインを指定し、SlackのIncoming webhookの設定で示されたhook用のURLを指定してやることで任意のルームで発言することができます。

f:id:hideack:20150222154432p:plain

evac weekly – 標準入力プラグインとYAML対応

evac - Node.js based simple aggregator -で今週改良した箇所まとめです。

トピックとしては、以下の2点。

  • YAMLファイルをレシピとして扱える様になった
  • 標準入力をevacの入力として扱える様になった

レシピのYAML対応

今までJSONでレシピを対応する仕様にしていたのですが、YAMLでも定義できる様になりました。

in:
staticWord:
text: "test word."
filter:
through:
out:
stdout:

上記の様なYAMLファイルを用意した上でevacコマンドに渡してやれば、

$ evac test_stdout.yaml
test word.

と今までどおり扱うことができます。

標準入力プラグイン追加

標準入力のプラグインを追加しました。入力として標準入力を扱うことができる様になったので、例えば、標準入力で渡された内容をそのままPushbulletで通知したい場合、

in:
stdin:
out:
pushbullet:
device: ******@gmail.com
token: *******
title: テスト
mode: note

といったレシピファイルを用意した上で実行時にパイプを利用して文字列を渡してやることで、その内容をPush通知できます。

実際に標準入力で渡された文字列をPushbullet経由で通知している様子はこの様な形。

$ echo "Hey" | evac -v test_stdin.yaml


evacでPushbulletに出力する

「Pushbullet」最高。 パソコン、スマホ間のデータ送信が信じられないほどラクに! : ギズモード・ジャパンという記事が目についたので便乗エントリ。

evac - Node.js based simple aggregator -を使うとPushbulletのAPIを使ってプッシュ通知することができます。Pushbulletのトークンはアカウントページで確認できます。

{
"in": {
"staticWord": {
"text": "Pushbullet test."
}
},
"out": {
"pushbullet": {
"device": "******@gmail.com",
"token" : "*******",
"title": "テスト",
"mode": "note"
}
}
}

の様なレシピを用意して、以下の様にevacを実行するとプッシュ通知されます。PushbulletにiPhoneChromeを今回は登録しているので下の様にChromeのポップアップと同時にiPhoneにもプッシュ通知が届きます。

$ evac -v recipe/test_pushbullet.js

今回の例は素朴に文字列をそのまま渡すだけですが、こんな感じで何かをトリガーにして、Pushbullet経由で通知することができます。便利。