【小ネタ】シェルスクリプトの動作結果をChatWorkに出力する

2016.11.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Pythonを勉強中なのにいざCLIで処理を書こう!とするとシバンに#!/bin/bashと書いて、 結果シェルスクリプトになる吉江です。 今回、シェルスクリプトで処理をやらせてる結果をChatWorkに出力させる関数を書きましたので備忘までに。

対象読者

「シェルスクリプト遅いなぁ、ちょっと実行して別の事するか」や「『ここまでやりましたよ!』と人が 集まってる部屋に進捗を連絡したい!」といった方に良いかと思います。

スクリプト内容

# チャットワークに出力
CHAT_OUT(){

# チャットワークAPIトークン
CW_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# チャットワーク部屋ID
CW_ROOM="yyyyy"

# テキスト
TEXT_AREA="お名前:${1}
住所:${2}"

# エンドポイント
curl -X POST -H "X-ChatWorkToken:${CW_TOKEN}" -d "body=${TEXT_AREA} " "https://api.chatwork.com/v1/rooms/${CW_ROOM}/messages"

}

中身解説

# チャットワークAPIトークン
CW_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

ChatWorkのAPIトークンを変数へ

# チャットワーク部屋ID
CW_ROOM="yyyyy"

発言したい部屋IDを入れる

# テキスト
TEXT_AREA="お名前:${1}
住所:${2}"

発言したい内容を記載、単純に発言出来ればよかったのでこのような形に。 関数を呼び出す時に引数で文字列を渡して、各々の変数に入れるようにしてます。

# エンドポイント
curl -X POST -H "X-ChatWorkToken:${CW_TOKEN}" -d "body=${TEXT_AREA} " "https://api.chatwork.com/v1/rooms/${CW_ROOM}/messages"

これまでの変数を織り込んだものでリクエスト

最後に

APIって素晴らしいですね、本当に。 5行ぐらい書いて、ポンポンチャットワークに出力された時は感無量でした。