LoginSignup
3
2

More than 5 years have passed since last update.

hipchat API を使って roomに画像を送る

Last updated at Posted at 2016-04-21

0. 変数用意

Hipchat APIの使い方は、Atlassianのページにいろいろ載ってます。
https://www.hipchat.com/docs/apiv2/method/send_room_notification
ここではcardというオブジェクトを使ってroomへの通知で画像を送る手順のメモを共有します。

試しに、LGTMの画像を表示させます。
必要に応じてhttp_proxyも設定。

wget -q -O lgtm.html http://lgtm.in/g 
LGTM=`grep '\[LGTM\]' lgtm.html | sed 's/^.*\[/\[\!\[/'`
LGTM=`echo ${LGTM} | sed -e 's/\[!\[LGTM](//' -e 's/)].*//'`
echo ${LGTM}
http://lgtm.in/p/atOSUsdZp

これでLGTMの画像URLゲット。こんな感じです。。。w
LGTM !
次はいろいろとHipchat用の変数準備。
JSONデータを変数に格納するためにはエスケープが必要。

HIPCHAT_HEADER="Content-Type: application/json" 
HIPCHAT_ROOMCODE="xxxxx"  ## room id みたいなやつ
HIPCHAT_AUTH_TOKEN="xxxxxxxxx" 
HIPCHAT_API="https://api.hipchat.com/v2/room/${HIPCHAT_ROOMCODE}/notification?auth_token=${HIPCHAT_AUTH_TOKEN}"
MESSAGE="test"
THUMBNAIL="{ \"url\": \"${LGTM}\", \"width\": 1193, \"height\": 564 }"
HIPCHAT_CARD="{\"style\": \"image\", \"id\": \"123\", \"url\": \"${LGTM}\", \"title\": \"LGTM :)\", \"thumbnail\": ${THUMBNAIL} }"
HIPCHAT_JSON="{\"color\": \"green\", \"message_format\": \"text\", \"message\": \""${MESSAGE}"\", \"card\":${HIPCHAT_CARD} }"

  • idは外すとAPIが受け付けてくれません。値は適当でも大丈夫だった。
  • messageとかmessage_formatも外したらエラーになる。でもここで設定した値はroomでは表示されない。

1. curlでnotificationを試す

以上をふまえて、curlでnotificationを送ります。

curl -H "${HIPCHAT_HEADER}" -X POST -d "${HIPCHAT_JSON}" ${HIPCHAT_API}

これだけです!
だから何?とか言われそうですがジョブが成功したときなどに表示させてみると結構なごみます :)

P.S.) ちなみにslackへのnotificationの場合はもっと簡単にできます。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2