Android Vitals → GitHub Issues
ActionsAbout
Tags
(2)Sync crash- and ANR-errors from Google Play Console to GitHub Issues automatically. This action creates one GitHub issue per unique problem and uses labels for deduplication, ensuring your team stays on top of production issues without manual tracking.
- Automatic Sync: Periodically fetches new crashes and ANRs from the Play Developer Reporting API.
- Smart Deduplication: Uses GitHub labels to track which Play Console issues have already been created.
- Multi-App Support: Monitor multiple Android packages and route them to different repositories if needed.
- Auto-Close: (Optional) Automatically close GitHub issues when they are marked as resolved in the Play Console.
# .github/workflows/play-sync.yml
name: Sync Play Console crashes
on:
schedule:
- cron: "0 */2 * * *" # Every 2 hours
workflow_dispatch:
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: FrankBurmo/android-vitals-auto-issue-creator@v2
with:
service-account-json: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
package-names: "com.example.myapp"
extra-labels: "android,crash"If you manage multiple apps and want them to report to different repositories:
- uses: FrankBurmo/android-vitals-auto-issue-creator@v2
with:
service-account-json: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
package-names: "com.example.app1, com.example.app2"
package-repo-map: |
{
"com.example.app1": "my-org/app1-repo",
"com.example.app2": "my-org/app2-repo"
}| Input | Description | Required | Default |
|---|---|---|---|
service-account-json |
Google service account JSON key with Play Developer Reporting access. | Yes | - |
package-names |
Comma-separated list of Android package names to monitor. | Yes | - |
github-token |
GitHub token with issues:write permission. |
No | ${{ github.token }} |
target-repo |
Target repo for issues (owner/repo). Defaults to current repo. |
No | - |
package-repo-map |
JSON map from package name to GitHub repo. | No | {} |
label-prefix |
Prefix for deduplication labels. | No | play-error: |
extra-labels |
Comma-separated list of additional labels for new issues. | No | play-console,crash |
close-resolved |
Automatically close issues when resolved in Play Console. | No | false |
error-types |
Which error types to sync: CRASH, ANR, or ALL. |
No | ALL |
min-affected-users |
Only create issues for errors affecting at least X users. | No | 1 |
Go to the Google Cloud Console and enable the Google Play Developer Reporting API for your project.
- Create a Service Account in the Google Cloud Console.
- Generate a new JSON key for this service account.
- Save this JSON key; you will need it for the
service-account-jsoninput.
- Go to the Google Play Console.
- Navigate to Users and permissions -> Invite new users.
- Add the Service Account email address.
- Grant View app information and performance data (read-only) permission for the apps you want to monitor.
Add the contents of the JSON key file as a secret named GOOGLE_PLAY_SERVICE_ACCOUNT_JSON in your GitHub repository.
This action uses a label with the format ${label-prefix}${play-issue-id} (e.g., play-error:123456789) to identify unique problems. It checks for the existence of this label in the target repository before creating a new issue.
Android Vitals → GitHub Issues is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.