Skip to content

GitHub Scanner ​

Monitors GitHub notifications and CI status on your open pull requests. The first successful poll establishes a baseline without replaying old activity.

Pollen Types ​

TypeDescription
review_neededA notification requests your review
ci_failureCI on one of your open pull requests changed to failing
ci_passedCI recovered after a previously observed failure
mentionA notification mentions you or your team
issue_assignedA notification assigns an issue or pull request to you
notificationOther watched GitHub activity

Prerequisites ​

The scanner always invokes the GitHub CLI (gh). Install it, then either authenticate with gh auth login or provide a token through the configured token_env. A token does not replace the gh executable.

bash
gh auth login
gh auth status

If GITHUB_TOKEN is present, HiveScanner passes it to gh as GH_TOKEN for that invocation and otherwise uses the CLI's existing credential store.

Configuration ​

json
{
  "github": {
    "enabled": true,
    "token_env": "GITHUB_TOKEN",
    "username": "your-github-login",
    "watch_repos": ["owner/repository"],
    "watch_reviews": true,
    "watch_ci": true,
    "watch_mentions": true,
    "watch_assignments": true,
    "watch_activity": false,
    "max_items_per_query": 20,
    "max_notification_pages": 10,
    "max_pr_pages": 10
  }
}
FieldDefaultDescription
enabledtrueEnable this scanner
token_envGITHUB_TOKENOptional environment variable used by gh
username""GitHub login used to identify your pull requests; the global HiveScanner username is the fallback
watch_repos[]Optional unique owner/repository allowlist; empty means all accessible repositories
watch_reviewstrueSurface review-request notifications
watch_citrueTrack CI transitions on your open pull requests
watch_mentionstrueSurface user and team mentions
watch_assignmentstrueSurface assignments
watch_activityfalseSurface other notification reasons
max_items_per_query20Page size, from 1 to 100
max_notification_pages10Notification page cap, from 1 to 10
max_pr_pages10Open-pull-request page cap, from 1 to 10

When a result cannot be paged to a safe boundary, the affected component preserves its prior cursor and tries again later instead of silently skipping records.

Released under the Apache 2.0 + Commons Clause License.