Skip to content

参加者向けアナウンスのメール配信機能を実装#2741

Merged
jacopen merged 12 commits intomainfrom
pr2-ses-delivery
Mar 15, 2026
Merged

参加者向けアナウンスのメール配信機能を実装#2741
jacopen merged 12 commits intomainfrom
pr2-ses-delivery

Conversation

@takaishi
Copy link
Contributor

@takaishi takaishi commented Mar 1, 2026

概要

参加者向けアナウンスのメール配信機能を追加しました。
公開されたアナウンスを対象参加者へ段階的に配信し、送信状態を追跡できるようにします。

変更内容

  • announcement_deliveries テーブルを追加(配信キュー/結果ログ)
  • announcements テーブルに以下を追加
    • send_status(pending / processing / completed)
    • sent_count
    • failed_count
  • AnnouncementDelivery モデルを追加(status: queued / sent / failed)
  • AnnouncementMailer#notify を追加
  • PrepareAnnouncementDeliveriesJob を追加
    • 配信対象プロフィールを解決して delivery を作成
  • SendAnnouncementBatchJob を追加
    • BATCH_SIZE 件ずつ送信し、残件があれば次バッチを継続
  • Announcement#target_profiles を追加
    • receiver に応じて対象プロフィールを返却
  • Announcementpublish 更新時に配信ジョブを自動起動
  • 管理画面アナウンス一覧に送信状況サマリを表示

テスト

  • model spec
  • job spec
  • mailer spec

@gitops-for-cloudnativedays gitops-for-cloudnativedays bot added the reviewapps Build ReviewApp environment automatically if this label is granted label Mar 1, 2026
@takaishi takaishi changed the title 参加者向けアナウンス メール送信機能を実装 参加者向けアナウンスのメール配信機能を実装 Mar 1, 2026
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 1, 2026
commit: cloudnativedaysjp/dreamkast@b126c34
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22544730808

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
- announcement_deliveries テーブルを新規作成(送信ログ)
- announcements テーブルに send_status/sent_count/failed_count を追加
- AnnouncementDelivery モデル追加(status enum: queued/sent/failed)
- AnnouncementMailer#notify を追加
- PrepareAnnouncementDeliveriesJob: 対象プロフィールを解決しdeliveryを作成
- SendAnnouncementBatchJob: BATCH_SIZE 件ずつ送信しバッチを継続
- Announcement#target_profiles: receiver に応じた対象プロフィールを返す
- publish=true 変更時に PrepareAnnouncementDeliveriesJob を自動トリガー
- 管理画面アナウンス一覧に送信状況サマリ列を追加

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 3, 2026
commit: cloudnativedaysjp/dreamkast@7831c53
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22617854699

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 5, 2026
commit: cloudnativedaysjp/dreamkast@3a9fb43
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22717837251

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 5, 2026
commit: cloudnativedaysjp/dreamkast@655de52
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22718093747

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 5, 2026
commit: cloudnativedaysjp/dreamkast@7eb42df
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22718283687

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 5, 2026
commit: cloudnativedaysjp/dreamkast@d4060ea
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22718522826

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
@takaishi takaishi marked this pull request as ready for review March 5, 2026 12:51
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 7, 2026
commit: cloudnativedaysjp/dreamkast@ee630c0
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/22790344936

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
@jacopen
Copy link
Collaborator

jacopen commented Mar 9, 2026

@copilot レビューして

Copy link
Contributor

Copilot AI commented Mar 9, 2026

@jacopen I've opened a new pull request, #2747, to work on those changes. Once the pull request is ready, I'll request review from you.

…de, receiver validation

Co-authored-by: jacopen <79102+jacopen@users.noreply.github.com>
@jacopen
Copy link
Collaborator

jacopen commented Mar 10, 2026

@takaishi ↑Copilotが修正のPR出してくれたので確認お願いします! ロガーの修正とcascadeの設定、例外処理の追加がメイン

参加者向けアナウンスのメール配信機能を実装
@takaishi takaishi requested a review from jacopen March 14, 2026 00:32
gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 14, 2026
commit: cloudnativedaysjp/dreamkast@639f82e
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/23076136798

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
Copy link
Collaborator

@jacopen jacopen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rubocopよろ

gitops-for-cloudnativedays bot added a commit to cloudnativedaysjp/dreamkast-infra that referenced this pull request Mar 15, 2026
commit: cloudnativedaysjp/dreamkast@9ba179f
action URL: https://github.com/cloudnativedaysjp/dreamkast/actions/runs/23106965939

Co-authored-by: gitops-for-cloudnativedays[bot] <113280573+gitops-for-cloudnativedays[bot]@users.noreply.github.com>
@github-actions
Copy link

@github-actions
Copy link

Simplecov Report

Covered Threshold
65.95% 60%

@takaishi takaishi requested a review from jacopen March 15, 2026 08:50
@jacopen jacopen merged commit 1778c0b into main Mar 15, 2026
9 checks passed
@jacopen jacopen deleted the pr2-ses-delivery branch March 15, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewapps Build ReviewApp environment automatically if this label is granted

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants