Decision Letter SMS: Create new LetterReadySMSJob sidekiq job#26323
Decision Letter SMS: Create new LetterReadySMSJob sidekiq job#26323sethdarragile6 merged 7 commits intomasterfrom
Conversation
…tter ready SMS notifications The changes add: - New LetterReadySmsJob Sidekiq job with PII protection via AttrPackage - SMS retry constant and VA Notify configuration (sender ID, template ID) - Comprehensive specs for the new job Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
1 similar comment
|
|
👍 All Parameter Store values in this PR are valid |
…nd development.yml
|
👍 All Parameter Store values in this PR are valid |
There was a problem hiding this comment.
Pull request overview
This PR introduces SMS notification capability for Decision Letters by creating a new Sidekiq job LetterReadySmsJob that sends SMS notifications via VA Notify when decision letters are ready for veterans.
Changes:
- New
LetterReadySmsJobSidekiq job with retry logic, PII protection via Redis cache, and comprehensive error handling - Configuration additions for VA Notify SMS (sender ID and template ID) across settings files
- New constant
SIDEKIQ_RETRY_COUNT_FIRST_SMSfor SMS-specific retry count - Comprehensive test coverage including success cases, error handling, PII protection, and retry behavior
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
app/sidekiq/event_bus_gateway/letter_ready_sms_job.rb |
New Sidekiq job implementing SMS notification logic with retry configuration and PII handling |
app/sidekiq/event_bus_gateway/constants.rb |
Added SIDEKIQ_RETRY_COUNT_FIRST_SMS constant for SMS retry configuration |
config/settings.yml |
Added SMS sender ID and template ID configuration from environment variables |
config/settings/development.yml |
Added fake SMS configuration values for development environment |
config/settings/test.yml |
Added fake SMS configuration values for test environment |
spec/sidekiq/event_bus_gateway/letter_ready_sms_job_spec.rb |
Comprehensive test suite covering job functionality, error handling, and edge cases |
|
What is this? Part of the multichannel notification system the notifies veterans when they have a letter ready (benefits letters, claims decisions, etc.). This job focuses on SMS, but there are other jobs that focus on email and push notifications. Why does this exist? We want to send veterans and their families custom SMS messages they can trust to let them know their letter is ready. How did we do it?
|
…ckageError rescue block Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9db7a40
|
👍 All Parameter Store values in this PR are valid |
|
👍 All Parameter Store values in this PR are valid |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
👍 All Parameter Store values in this PR are valid |
…nses in AttrPackage tests Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
👍 All Parameter Store values in this PR are valid |
|
|
@rjohnson2011 would you mind re-approving when you get a chance? My apologies, I forgot to run Copilot before taking it out of draft and I tweaked a few things. I also added some unit tests per a teammates suggestion. Thanks 🙏 |
This is the first implementation task for enabling SMS notifications for Decision Letters. In subsequent stories, we will connect it up to the existing LetterReady infrastructure (see epic for further details)
The changes add:
Keep your PR as a Draft until it's ready for Platform review. A PR is ready for Platform review when it has a teammate approval and tests, linting, and settings checks pass CI. See these tips on how to avoid common delays in getting your PR merged.
Summary
Benefits Management Tools Team 3
Related issue(s)
Decision Letter SMS: Create new LetterReadySMSJob sidekiq job va.gov-team#130913
Testing done
Screenshots
Tested from my local environment using User 57 from Staging. Note: content of message not yet finalized/approved
What areas of the site does it impact?
(Describe what parts of the site are impacted andifcode touched other areas)
Acceptance criteria
Requested Feedback
(OPTIONAL)What should the reviewers know in addition to the above. Is there anything specific you wish the reviewer to assist with. Do you have any concerns with this PR, why?