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.gitignoreincludes.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-finaltomain - 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.jsonwas 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 |