Archive of all campaign content sent by Philly Bike Action.
Historical campaigns from when PBA used MailChimp are included in this repository.
To sync new campaigns from MailJet, create a .env file:
cp .env.example .env
# Edit .env with your credentialsThen run:
./sync_mailjet.pyOr pass credentials directly:
./sync_mailjet.py --api-key YOUR_KEY --api-secret YOUR_SECRET--dry-run: Show what would be downloaded without making changes--force: Re-download all campaigns, even if already archived
The script is idempotent and can be run repeatedly to fetch new campaigns.
Add MailJet campaign draft IDs to ignored_campaign_ids.txt, one per line.
Blank lines and # comments are supported:
15112258 # Test Organizer Blast
Use the ID printed during sync or the numeric prefix of an archived filename
(for example, 15112258_test-organizer-blast.html). The committed list applies
to local runs and the scheduled GitHub Actions sync, including --force and
--dry-run. Ignored campaigns are skipped before fetching their content or assets.
Invalid entries stop the sync with a line-numbered error.
Adding an ID prevents future downloads; it does not remove existing archive files
or index entries. If a campaign was already merged into the archive, also remove
its HTML file and its row from archive_index.csv, then regenerate the index.