はじめに
Bitriseでビルドしたipaやplist、インストールURLを表示するQRコードの画像も合わせて取得するworkflowを先日まとめました。
http://qiita.com/nofrmm/items/d0dc5bfa7eef13b3c1d0
インストールページの配布をslackで考えたら、もうすこし楽になりました。
Slack
incoming WebHookを作成
WebHookさせるURL作成します。
Bitrise
WorkFlowから保持される変数
- $GIT_CLONE_COMMIT_COMMITER_NAME
- $BITRISE_PUBLIC_INSTALL_PAGE_URL
- $BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL
Scriptをつかう
こちらだと、ビルドの結果の定型で使うことを想定しているため
Scriptからcurlを使って
slackへattachmentを用いてリクエストをなげるようにします。
{
"attachments": [
{
"fallback": "INSTALL_PAGE_URLの情報",
"color": "#36a64f",
"title": "INSTALL_PAGE_URL",
"title_link": "${BITRISE_PUBLIC_INSTALL_PAGE_URL}",
"text": "Optional text that appears within the attachment",
"image_url": "${BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL}",
"thumb_url": "${BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL}",
"footer": "COMMIT_COMMITER:${GIT_CLONE_COMMIT_COMMITER_NAME}",
"ts": ${BITRISE_BUILD_TRIGGER_TIMESTAMP}
}
]
}
terminalからpayloadの記載に間違いがないか確認しながら・・・
https://hooks.slack.com/services/T00000000/B00000000/...
は設定したWebhookのURLへ変更してください。
curl -X POST --data-urlencode "payload={\"attachments\": [{ \"fallback\": \"Required plain-text summary of the attachment.\",\"color\":\"#36a64f\", \"title\":\"INSTALL_PAGE_URL\" ,\"title_link\":\"${BITRISE_PUBLIC_INSTALL_PAGE_URL}\",\"image_url\":\"${BITRISE_PUBLIC_INSTALL_PAGE_QR_CODE_IMAGE_URL}\",\"text\": \"${BITRISE_PUBLIC_INSTALL_PAGE_URL}\",\"footer\":\"COMMIT_COMMITER:${GIT_CLONE_COMMIT_COMMITER_NAME}\",\"ts\":${BITRISE_BUILD_TRIGGER_TIMESTAMP}}]}" https://hooks.slack.com/services/T00000000/B00000000/....
通知
余談
QRコード生成のサービス
公開範囲を限定していない場合は使わないほうがいいのかなと。
http://goqr.me/api/doc/create-qr-code/
さいごに
Slackに表示させたいレイアウトを調整したjson調整が一番面倒でした。
goやrubyでもかけるようなので、bash以外での記述を考えます。