Skip to content

通知設定をnotification配下へ統合し、イベント別サウンド指定とE2E時のSlack抑止を可能にする #254

@nrslib

Description

@nrslib

背景

現在の通知設定は notification_sound / notification_sound_events と Slack 通知(TAKT_NOTIFY_WEBHOOK)が分散しており、E2E時だけ通知挙動を明確に切り替えづらい。

目的

通知設定を notification 配下に統合し、イベント単位で音通知のON/OFFと音名を指定できるようにする。あわせてE2E時のSlack通知を明示的に抑止できるようにする。

仕様案

notification:
  enable: true

  sound:
    enable: true
    default_sound: info
    events:
      iteration_limit:
        enable: false
        sound: warning
      piece_complete:
        enable: false
        sound: success
      piece_abort:
        enable: false
        sound: error
      run_complete:
        enable: true
        sound: success
      run_abort:
        enable: true
        sound: error

  slack:
    enable: true
    webhook_env: TAKT_NOTIFY_WEBHOOK
    events:
      run_complete:
        enable: true
      run_abort:
        enable: true

動作ルール

  • 音通知の有効判定: notification.enable && notification.sound.enable && notification.sound.events.<event>.enable
  • 音名解決順: events.<event>.sound -> sound.default_sound -> 実装既定値
  • 音名の許可値(初期): success | error | warning | info

重要方針(互換性)

  • 旧キー(notification_sound / notification_sound_events)は読み込まない
  • 旧挙動へのフォールバックは実装しない
  • 本対応は breaking change として扱う

E2E要件

  • E2E fixtureで run_complete / run_abort もOFFにできること
  • Slack通知はE2E時に無効化可能であること(設定または環境変数除外)

受け入れ条件

  • 新スキーマで通知設定を読み書きできる
  • eventごとのサウンド指定が実行時に反映される
  • E2E実行時に音通知とSlack通知を独立して制御できる
  • 旧キーは非対応であることが仕様・ドキュメントに明記される
  • docs(README / testing/e2e)を更新する

メモ

  • typo注意: faied ではなく failed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions