A CLI tool for collecting GitHub repository data including releases, pull requests, issues, and metrics. This tool is used by the HashiCorp DevRel team for automated data collection and analysis.
This scraper is the core data collection tool used in the DevRel infrastructure ecosystem. It runs as containerized batch jobs on a Nomad cluster and stores data in PostgreSQL for analysis and reporting.
- devrel-infra-main - Provides the Nomad cluster and PostgreSQL database where this tool runs
- devrel-github - Contains Nomad job templates that run this scraper tool
- devrel-slack - Avocadobot uses collected data for impact tracking
- devrel-api - API service that exposes the collected data
Retrieve releases created in the repository:
github releases hashicorp terraformRetrieve pullrequests created in the repository:
github pullrequests hashicorp terraformRetrieve pullrequests created in the repository that have been updated since 2023-01-31T00:00:00Z:
github pullrequests -s "2023-01-31T00:00:00Z" hashicorp terraformRetrieve issues created in the repository:
github issues hashicorp terraformRetrieve issues created in the repository that have been updated since 2023-01-31T00:00:00Z:
github issues -s "2023-01-31T00:00:00Z" hashicorp terraformRetrieve traffic metrics about the repository:
github metrics hashicorp terraformOutput the data as JSON to stdout:
github issues -f json hashicorp terraformOutput the data as JSON to a file at /tmp/output.json:
github issues -f json -o /tmp/output.json hashicorp terraformOutput the data as SQL to a database located at postgres://user:password@host:5432/database:
github issues -f sql -o postgres://user:password@host:5432/database hashicorp terraformThis tool is typically deployed as part of the DevRel infrastructure:
- Container Image: Built and stored in GitHub Container Registry
- Nomad Jobs: Deployed via job templates from devrel-github
- Scheduling: Runs on cron schedules as Nomad batch jobs
- Data Storage: Outputs directly to PostgreSQL database managed by devrel-infra-main
The scraper integrates with the broader DevRel ecosystem:
- Authentication: Uses GitHub tokens managed in the infrastructure
- Database: Connects to PostgreSQL instance from devrel-infra-main
- Monitoring: Job status monitored through Nomad cluster
- Data Pipeline: Collected data feeds into reporting and analysis tools