This workflow acts as a CI/CD quality gate for mobile app
crash-symbolication artifacts.
Whenever a new commit is pushed to GitHub, the workflow automatically
checks the corresponding Sentry release and confirms whether required
build artifacts (dSYM or ProGuard + mapping.txt) exist. If artifacts are
complete, it updates the GitHub commit status to success, allowing
the PR to be merged. If incomplete, the workflow fails silently (no
commit status update), effectively blocking merges.
- Configure GitHub Trigger for your repo.
- Add Sentry API credentials.
- Add GitHub API credentials.
- Update Sentry project URLs with your org_slug and proj_slug.
- Ensure your build pipeline uploads artifacts to Sentry before the workflow runs.
- Activate workflow.
This workflow ensures your mobile crash-symbolication artifacts are fully present in Sentry for every release. When a new GitHub push occurs, the workflow:
- Reads the commit SHA and repo info from the GitHub Push event.
- Fetches the list of all releases from Sentry.
- Locates the correct release and fetches its uploaded artifact files.
- Runs custom validation logic:
- Success if:
- a
*.dSYMfile exists OR - both
proguard.txtANDmapping.txtare present
- a
- Failure if:
- neither dSYM nor both mapping artifacts exist
- Success if:
- If validated successfully, the commit receives a success status on GitHub → PR can be merged.
This provides a strong CI gate ensuring symbolication completeness and preventing un-debuggable releases.
- Mobile development teams using Sentry for crash reporting
- Engineering teams enforcing strict release-quality gates
- DevOps teams wanting automated artifact validation
- CI/CD pipeline engineers integrating Sentry symbolication checks
- Teams who frequently upload dSYM or ProGuard mapping files
- n8n instance (cloud or self-hosted)
- GitHub repository access (API credentials)
- Sentry project with:
- org_slug
- project_slug
- Auth Token with release access
- Build process that uploads artifacts to Sentry releases
- The release version must match the format expected by the workflow
The GithubPushTrigger node listens for push events and extracts:
- Commit SHA\
- Repository full name\
- Branch\
- Metadata
No configuration required except selecting your GitHub credentials.
Open Check Sentry Artifacts Releases and update:
https://sentry.io/api/0/projects/<org_slug>/<proj_slug>/releases/
Make sure the Sentry credential is correctly selected.
The next HTTP Request (Check Sentry Artifacts Files) uses a dynamic URL:
https://sentry.io/api/0/projects/<org_slug>/<proj_slug>/releases/{{ $json.version }}/files/
Ensure your build pipeline sets version consistently with what Sentry
receives.
The Verify Artifacts node runs JS logic to check:
Any file ending with .dSYM
proguard.txtmapping.txt
The Code node returns:
{ "status": "failure", "description": "Missing artifacts..." }This stops the workflow and prevents GitHub commit-status update.
The Artifacts Validation and Get Repository Data node compiles:
- repo full name
- commit SHA
- validation status
If validation failed → workflow ends here.
The Update Status node hits:
POST https://api.github.com/repos/<repoFullName>/statuses/<commitSHA>
And sends:
{
"state": "success",
"description": "Artifacts successfully verified."
}This appears as a green check on your commit/PR.
Turn on the workflow to start enforcing symbolication completeness for all releases.
Edit URLs in both Sentry HTTP Request nodes:
org_slugproj_slug
Modify JS inside Verify Artifacts, e.g., require:
- native symbols
- extra asset files
- other platform artifacts
Edit the request body in Update Status.
Branch logic in:
- Code nodes
- Conditional checks
- Add Slack/Teams notifications when artifacts are missing
- Auto-retry release checks after build completes
- Merge-blocking PR checks for GitHub
- Multi-platform artifact validation (iOS + Android + Unity)
- Upload artifacts directly from n8n
- Store validation logs in Airtable or Google Sheets
- Add GitHub Checks API rich reporting
- Block merges until symbolication artifacts are uploaded.
- Enforce strict Sentry release completeness for every build.
- Ensure Android mapping files always match the correct release version.
- Automatically verify multiple release types (debug, staging, production).
- Improve crash debugging by preventing un-symbolicated builds from shipping.
| Issue | Possible Cause | Solution |
|---|---|---|
| Commit status never updates | Validation failed silently | Check logs in the Verify Artifacts node |
version undefined in URL |
Release not matched | Ensure CI uploads release with correct version |
| 401 from Sentry API | Invalid or expired token | Regenerate token and update credentials |
| Validation always fails | Artifact names differ (e.g. .dsym.zip) |
Update regex logic in the Code node |
| GitHub status API returns 404 | Missing repo permissions | Enable repo:status scope in GitHub token |
| Files array empty | Artifacts not uploaded to Sentry | Verify CI → Sentry artifact upload step |
If you need help customizing the artifact rules, integrating multiple
platforms, or automating Sentry/GitHub workflows, reach out.
We can assist with:
- Mobile CI/CD pipelines
- Sentry automation
- Multi-artifact validation
- GitHub PR quality-gates
- Advanced Code-node scripting
Happy automating! 🚀