Zenodo DOI Integration Guide¶
⏸️ Status: Repo Prepared, External Activation Parked
The repository and release side are prepared, but the real DOI does not exist yet. The remaining Zenodo activation and publication steps are intentionally parked until explicit user go-ahead.
Overview¶
This guide walks you through linking your GitHub repository to Zenodo to generate a permanent Digital Object Identifier (DOI) for academic citations.
Current Status: - ✅ Repository prepared with .zenodo.json metadata - ✅ CITATION.cff updated for the current public release - ✅ Current public release prepared on GitHub - ⏸️ Zenodo activation and publication still require human account access
What's Left: 🔄 Human action required in Zenodo (about 10 minutes) once this track is explicitly activated
Benefits of Zenodo Integration¶
- Permanent Citation: DOI provides a stable, citable reference for your work
- Academic Credibility: Zenodo is recognized by academic institutions worldwide
- Archival: Automatic archival of each GitHub release
- Discoverability: Listed in academic databases and search engines
- Version Tracking: Each release gets its own DOI (with concept DOI for all versions)
- Metadata Preservation:
.zenodo.jsonensures proper attribution and keywords
Prerequisites¶
- ✅ GitHub repository with releases
- ✅
.zenodo.jsonmetadata file (created) - ✅ CITATION.cff file (created)
- ⏸️ README DOI badge will be added only after a real DOI exists
- 🔄 Zenodo account (you'll create this)
Step-by-Step Integration¶
Step 1: Create Zenodo Account (2 minutes)¶
- Go to https://zenodo.org
- Click "Log in" in the top-right corner
- Click "Log in with GitHub"
- Authorize Zenodo to access your GitHub account
- You'll be redirected to your Zenodo dashboard
Why GitHub login? This automatically links your GitHub account for repository syncing.
Step 2: Enable GitHub Integration (3 minutes)¶
- In Zenodo, click your username (top-right) → "GitHub"
- You'll see the GitHub integration page with a list of your repositories
- Find "jerdaw/waittimecanada" in the list
- Click the "On" toggle switch to enable syncing
- The switch should turn green, indicating the repository is now linked
What happens now? Zenodo will automatically create a DOI for: - The latest release - Future releases you create
Step 3: Trigger First DOI Generation (2 minutes)¶
Option A: Use Existing Release (Recommended)
Since the current public release already exists on GitHub: 1. On the Zenodo GitHub page, click "Sync now" button 2. Zenodo will fetch your latest release 3. Wait 30-60 seconds for processing 4. You'll see a new entry on your Zenodo Uploads page
Option B: Create New Release (If Needed)
If you prefer a fresh release:
# Tag the current commit
git tag -a vX.Y.Z -m "vX.Y.Z"
git push origin vX.Y.Z
# Create GitHub release
gh release create vX.Y.Z --title "Release vX.Y.Z" --notes "Release for Zenodo archival."
Zenodo will automatically detect the new release within minutes.
Step 4: Publish on Zenodo (2 minutes)¶
- Go to https://zenodo.org/me/uploads
- You'll see your repository listed (may say "In progress")
- Click on the repository entry
- Review the metadata (pre-filled from
.zenodo.json): - ✅ Title
- ✅ Authors
- ✅ Description
- ✅ Keywords
- ✅ License (MIT)
- ✅ Related identifiers
- Click "Publish" button
- Your DOI is now live! 🎉
Step 5: Verify DOI Badge (1 minute)¶
- Go to your GitHub repository: https://github.com/jerdaw/waittimecanada
- Check the README after the badge is added in a follow-up commit
- Click the badge to verify it links to your Zenodo record
Badge URL Format: Zenodo will provide both the badge image URL and the latest DOI link after publication.
The badge automatically updates when you create new releases!
Understanding Your DOIs¶
Zenodo creates two types of DOIs:
1. Concept DOI (Permanent)¶
- Example:
10.5281/zenodo.1234567 - Points to all versions of your repository
- Use this in your CV, applications, and general citations
- Never changes, even with new releases
2. Version DOI (Specific)¶
- Example:
10.5281/zenodo.1234568(for v1.0.0) - Points to a specific release
- Use this when citing a particular version in research
- Each release gets its own version DOI
Best Practice: Use the concept DOI in the README badge and general citations.
Updating CITATION.cff (Optional)¶
After getting your DOI, you can add it to CITATION.cff:
cff-version: 1.2.0
title: "Wait Time Canada"
message: "If you use this software, please cite it as below."
type: software
authors:
- family-names: "Daw"
given-names: "Jeremy"
repository-code: "https://github.com/jerdaw/waittimecanada"
url: "https://github.com/jerdaw/waittimecanada"
abstract: "A clinically defensible Health Systems Observatory for Canadian emergency department wait-time methodology and data quality."
keywords:
- health systems
- emergency medicine
- wait times
- methodology audit
- open data
- Canada
- healthcare analytics
license: MIT
version: "1.0.0"
date-released: "2026-02-11"
doi: 10.5281/zenodo.XXXXXXX # ← Add your concept DOI here
Troubleshooting¶
Badge Shows "DOI Not Found"¶
- Cause: Repository not yet published on Zenodo
- Fix: Complete Step 4 (Publish on Zenodo)
Repository Not Visible in Zenodo GitHub Page¶
- Cause: GitHub integration not authorized
- Fix: Re-authorize Zenodo in GitHub Settings → Applications
Metadata Incorrect on Zenodo¶
- Cause:
.zenodo.jsonmalformed or not detected - Fix: Validate
.zenodo.jsonsyntax, ensure it's in repository root, create new release
Zenodo Not Detecting New Releases¶
- Cause: Webhook delay or sync issue
- Fix: Use "Sync now" button on Zenodo GitHub page
For Future Releases¶
Once Zenodo is linked, no additional action needed!
Every time you create a GitHub release: 1. Zenodo automatically detects it 2. Creates a new version DOI 3. Updates the concept DOI to point to latest 4. Archives the release files 5. Updates the README badge
Citation Examples¶
APA Format¶
Dawson, J. (2026). Wait Time Canada (Version 1.3.0) [Computer software].
https://doi.org/10.5281/zenodo.XXXXXXX
IEEE Format¶
J. Dawson, "Wait Time Canada," Version 1.3.0, 2026. [Online].
Available: https://doi.org/10.5281/zenodo.XXXXXXX
BibTeX Format¶
@software{dawson2026waittimecanada,
author = {Dawson, Jeremy},
title = {Wait Time Canada},
version = {1.3.0},
year = {2026},
doi = {10.5281/zenodo.XXXXXXX},
url = {https://github.com/jerdaw/waittimecanada}
}
Resources¶
- Zenodo Documentation: https://help.zenodo.org/
- GitHub-Zenodo Integration: https://guides.github.com/activities/citable-code/
- DOI System: https://www.doi.org/
- Zenodo Communities: https://zenodo.org/communities/ (consider joining relevant health/Canada communities)
Checklist¶
- Create Zenodo account via GitHub login
- Enable waittimecanada repository in Zenodo GitHub settings
- Sync or create release to trigger DOI generation
- Publish on Zenodo
- Verify DOI badge displays correctly on GitHub
- (Optional) Add DOI to CITATION.cff
- (Optional) Add DOI to CV/portfolio materials
Estimated Time: 10 minutes
Once complete: Your repository will have a permanent, citable DOI recognized by academic institutions worldwide! 🎓