Hubotを使ってcronのようにジョブを実行させる

Trigger

Posted on Feb 19


こんにちは、Coud Automator開発チームの柳瀬です。

Cloud Automatorで使えるタイマートリガーはアクションが実行される日付や曜日と、時間をご指定いただくようになります。そのため、現時点では一日に複数回ジョブを実行したいシーンではあまり効果的ではありません。
前回のブログでHubotからCloud Automatorのジョブを実行するといったエントリを書きましたが、今回はHubotとHTTPトリガーを使ってCloud Automatorのジョブをcronのように動作させ、一日に複数回ジョブを実行させたいと思います。

ローカルの環境構築

ローカルのHubot環境ですが、前回のブログをベースに解説します。構築した環境にnpmコマンドでcronモジュールを追加します。

$ cd my-hubot/
$ npm install cron --save

スクリプト

scriptsディレクトリに以下のようなスクリプトを設置します。

上記スクリプトではCloud Automatorのジョブを実行するために必要な情報をCA_JOB_TOKENCA_JOB_URLにセットしています。前回のブログでもご紹介しておりますが、ジョブの詳細画面から以下のように赤枠部分をコピーしてセットして下さい。
また、通知先となるslackのチャネル名をSLACK_CHANNEL_NAMEにセットします。

$ heroku config:set CA_JOB_URL=bc618414f0b01af2b5860e708c160ce8
$ heroku config:set CA_JOB_TOKEN=e56da5af0036db2a9b6fb91fcc2789e2
$ heroku config:set SLACK_CHANNEL_NAME=bot

コミット完了後、Herokuにデプロイをします。

$ git push heroku master

デプロイが完了後、指定した時間になるとジョブが実行されてbotが発言されるはずです。
botの発言やCloud Automatorでジョブが実行されたことを確認して下さい。

まとめ

今回のエントリではHubotを使ってcronのようにジョブを実行させてみました。
Cloud AutomatorはHubotだけではなく監視サーバーやジョブ管理ツールなどとも連携しやすくなっておりますので、是非お試し下さい。



Search

Tags

By year

  1. 2017 (1)
  2. 2016 (30)
  3. 2015 (31)
  4. 2014 (42)