Newsletter Integration Setup Checklist
Newsletter Integration Setup Checklist
Use this checklist to ensure all components are properly configured before going live.
✅ Pre-Setup Requirements
- Access to GitHub repository settings
- Ruby installed locally (for testing)
- Blog is deployed and accessible at
https://blog.status.health
✅ GitHub Configuration
1. Add Repository Secret
- Go to: Settings → Secrets and variables → Actions
- Click New repository secret
- Add secret:
- Name:
NEWSLETTER_WEBHOOK_SECRET
- Value:
d9bd68f101c326057976e366c7c29ddfb3397abb2cbc01890488c6e9aeef0e2f
- Name:
- Click Add secret
2. Verify Files Present
.github/workflows/notify-newsletter.yml
- Main workflow.github/workflows/test-newsletter.yml
- Test workflow (temporary).github/scripts/notify-new-posts.rb
- Notification logicscripts/test-newsletter-webhook.rb
- Webhook testscripts/test-newsletter-integration.sh
- Full test suitescripts/simulate-github-action.rb
- Local simulator.env.example
- Environment variable template.gitignore
includes.github/notified-posts.json
✅ Local Testing
1. Basic Webhook Test
export NEWSLETTER_WEBHOOK_SECRET='d9bd68f101c326057976e366c7c29ddfb3397abb2cbc01890488c6e9aeef0e2f'
ruby scripts/test-newsletter-webhook.rb
- Test passes with success message
2. Full Integration Test
./scripts/test-newsletter-integration.sh
- All tests pass
- No errors reported
3. GitHub Actions Simulation
ruby scripts/simulate-github-action.rb
- Simulation completes successfully
- Tracking file created
✅ GitHub Actions Testing
1. Create Test Branch
git checkout -b test-newsletter-verify
git push origin test-newsletter-verify
- Branch created and pushed
2. Run Test Workflow
- Go to Actions tab → “Test Newsletter Integration”
- Run workflow manually with dry-run = true
- Verify successful completion
- Run again with dry-run = false
- Check logs for successful notification
✅ Pre-Production Verification
- API endpoint responds:
curl -I https://newsletter-subscribers.vercel.app/api/webhook/new-post
- Webhook secret is correctly set in GitHub Secrets
- Test workflow ran successfully
- No syntax errors in Ruby scripts
- Draft posts are properly ignored in tests
✅ Go-Live Steps
1. Clean Up Test Files
git checkout main
git pull origin main
git checkout -b newsletter-integration-final
# Remove test workflow
git rm .github/workflows/test-newsletter.yml
# Commit
git add .
git commit -m "Add newsletter webhook integration"
2. Create Pull Request
- Create PR from
newsletter-integration-final
tomain
- Review all changed files
- Verify no test data or secrets in code
- Merge PR
3. First Live Test
- Create a new blog post
- Push to main branch
- Monitor Actions tab for workflow execution
- Verify green checkmark
- Check
.github/notified-posts.json
was created/updated - Confirm email received by test subscriber
✅ Post-Launch Monitoring
- Set up monitoring for failed workflows
- Document the integration in team wiki
- Add webhook secret to password manager
- Schedule periodic tests (monthly)
🚨 Rollback Plan
If issues occur:
# Disable workflow
mv .github/workflows/notify-newsletter.yml .github/workflows/notify-newsletter.yml.disabled
git add . && git commit -m "Disable newsletter notifications" && git push
📞 Support Contacts
- Newsletter API Issues: Check https://newsletter-subscribers.vercel.app status
- GitHub Actions: Check https://www.githubstatus.com/
- Webhook Secret: Stored in password manager under “status.health Newsletter Webhook”
Important Values to Remember:
Item | Value |
---|---|
Webhook URL | https://newsletter-subscribers.vercel.app/api/webhook/new-post |
Webhook Secret | d9bd68f101c326057976e366c7c29ddfb3397abb2cbc01890488c6e9aeef0e2f |
Blog URL | https://blog.status.health |
Secret Name in GitHub | NEWSLETTER_WEBHOOK_SECRET |