GitHub Action
blipdrop/nodd-action@v1 は、GitHub Actions から iPhone へ通知を送り、必要なら承認を待ちます。
アプリで発行した送信キーを、リポジトリの Secrets に NODD_KEY として登録します。ランナーに curl と jq が必要です。
通知を送る
- uses: blipdrop/nodd-action@v1
with:
key: ${{ secrets.NODD_KEY }}
title: デプロイしました
body: ${{ github.sha }}
level: low
承認を待つ
wait: "true" にすると、承認を求めて待ちます。承認が記録されたときだけ成功し、却下、期限切れ、取り下げ、失敗ではジョブが失敗します。
- id: approval
uses: blipdrop/nodd-action@v1
with:
key: ${{ secrets.NODD_KEY }}
title: 本番へデプロイしますか
level: high
wait: "true"
expires-in: "1800"
- name: 却下の理由を出す
if: failure() && steps.approval.outputs.decision == 'rejected'
env:
NOTE: ${{ steps.approval.outputs.note }}
run: echo "$NOTE"
note は人が書いた文なので、例のように env で渡し、run の中へ直接埋めないでください。
入力
key | 必須。送信キー。Secrets から渡します。ログでは隠します |
|---|---|
title | 必須。通知の見出し |
body | 本文 |
level | low、normal、high。既定は normal |
wait | "true" で承認を求めて待ちます。既定は "false" |
expires-in | 応答期限の秒数。既定は "3600" |
api-url | API の URL。既定は https://api.nodd.blipdrop.net |
出力
id | 通知の ID |
|---|---|
decision | approved、rejected、expired、cancelled、failed。wait: "true" のときだけ付きます |
note | 応答した人が書いた理由。あるときだけ付きます。改行は空白に置き換えます |
知っておくこと
- 待つのは
expires-inの 15 分後までです。ジョブのtimeout-minutesはそれより長くしてください - 2 人以上の承認と引き継ぎの入力はありません。必要なら CLI の
nodd askを使います - 通知の失敗でジョブを止めたくないステップには
continue-on-error: trueを付けます