Zenn Dev Snowcait Articles E0b473c69f2859
GitHub リポジトリの更新を Nostr へ通知する
- URL: https://zenn.dev/snowcait/articles/e0b473c69f2859
- 日付: 2026-06-26
- Tier: Tier 3
- 要旨: GitHub Actions の on トリガーと jobs の if 条件を組み合わせ、Pull Request がマージされたタイミングで Nostr へ通知を送るワークフローを構築できる。snow-actions/nostr アクションを使うことで、リレーサーバーと秘密鍵を設定するだけで NIP-01 kind 1 の通常投稿が可能になる。さらに NIP-38 kind 30315 を使うとユーザーステータスも更新でき、有効期限を 12 時間に設定するといった細かい制御もできる。リレーアドレスはリポジトリ変数、秘密鍵はシークレットとして管理するパターンが示されている。
詳細
通常投稿(NIP-01 kind 1)の設定:
- uses: snow-actions/nostr@v1.6.0 with: relays: ${{ vars.NOSTR_RELAYS }} private-key: ${{ secrets.NOSTR_PRIVATE_KEY }} content: | PR タイトルと URL を含む投稿文
ユーザーステータス更新(NIP-38 kind 30315):
- kind: 30315 を指定
- tags に d・t・r・expiration を設定
- expiration には date コマンドで 12 時間後の UNIX タイムスタンプを算出して渡す
トリガー条件:
- on: pull_request のイベント
- if: ${{ github.event.pull_request.merged == true }} でマージ時のみ実行
ハッシュタグが不要な場合は tags フィールドごと省略できる。