NOTE: This is not an officially supported Google product
Triage Party is a tool for triaging incoming GitHub issues for large open-source projects, built with the GitHub API.
Triage focuses on reducing response latency for incoming GitHub issues and PR's, and ensure that conversations are not lost in the ether. It was built from the Google Container DevEx team's experience contributing to open-source projects, such as minikube, kaniko, and skaffold.
Triage Party is a stateless Go web application, configured via YAML. While it has been optimized for Google Cloud Run deployments, it's deployable anywhere due to it's low memory footprint: even on a Raspberry Pi.
Novel features:
- Shareable bookmarked GitHub queries
- Support for queries across multiple repositories
- Supports queries that are not possible on GitHub:
- duration (
updated: +30d
) - conversation direction (
tag: recv
) - regexp (
label: priority/.*
) - reactions (
reactions: >=5
) - comment popularity (
comments-per-month: >0.9
) - ... and more!
- duration (
- Multi-player mode: for simultaneous group triage of a pool of issues
- Button to open issue group as browser tabs
- High performance through agressive intelligent caching
- Supports "Shift-Reload" for live data pull
Production example: http://tinyurl.com/mk-tparty
- GitHub API token
- Go v1.12 or higher
See examples/minikube.yaml
Supported filters:
# issue state (default is "open")
- state:(open|closed|all)
- label: [!]regex
- tag: [!]regex
- milestone: string
- created: [-+]duration
- updated: [-+]duration
- responded: [-+]duration
- reactions: [><=]int
- reactions-per-month: [><=]float
- comments: [><=]int
- comments-per-month: [><=]int
- comments-while-closed: [><=]int
- commenters: [><=]int
- commenters-while-closed: [><=]int
- commenters-per-month: [><=]float
Start the webserver:
export GO111MODULE=on
cd cmd/server
go run main.go \
--token $GITHUB_TOKEN \
--config ../../examples/minikube.yaml
This will use minikube's configuration as a starting point. The first time you run Triage Party against a new repository, there will be a long delay as it will download and cache every issue and PR.
docker build --tag=tp --build-arg CFG=examples/minikube.yaml --build-arg TOKEN=$GITHUB_TOKEN
docker run -p 8080:8080 tp
See examples/gcloud-deploy.sh
Or use the easy button: