Skip to content

feat: support API-level label filtering during sync#319

Open
hyangah wants to merge 4 commits into
google:masterfrom
hyangah:api-label-filtering
Open

feat: support API-level label filtering during sync#319
hyangah wants to merge 4 commits into
google:masterfrom
hyangah:api-label-filtering

Conversation

@hyangah

@hyangah hyangah commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

For very large repositories (such as golang/go ), syncing all issues
can exceed the 10,000-issue pagination limit of the GitHub REST API,
or consume a prohibitive amount of API quota.

This PR introduces API-level label filtering during the repository
sync process. By allowing users to specify labels directly in the
repository URL, Triage Party can now sync only the subset of issues
they care about, bypassing scale limitations and improving sync
performance.

hyangah added 2 commits June 25, 2026 22:57
Correct various klog format string errors that cause compilation failures
under modern Go versions (due to automatic go vet checks).
- Fix %w usage in klog.Errorf (replaced with %v).
- Fix %s usage for slices and maps (replaced with %v).
- Fix argument mismatches (missing or wrong type arguments).

TAG=agy
CONV=158419b3-c81a-4bc9-84bd-33cbf848ab3f
- Update actions/checkout to v4 (fixes Node.js deprecation issues)
- Update actions/setup-python to v5
- Update actions/setup-go to v5
- Update pre-commit/action to v3.0.1
- Bump Go version to 1.25.0 in go.mod and CI

TAG=agy
CONV=158419b3-c81a-4bc9-84bd-33cbf848ab3f
@hyangah
hyangah force-pushed the api-label-filtering branch from d1cacbf to 41872cd Compare June 26, 2026 01:17
hyangah added 2 commits June 26, 2026 01:22
- Remove trailing whitespace on push-latest-dev-image target
- Add missing newline at end of file

TAG=agy
CONV=158419b3-c81a-4bc9-84bd-33cbf848ab3f
This allows filtering issues by label at the API level during sync,
by parsing query parameters (e.g., ?labels=foo) in the repository URL.
This is useful for large repositories (like golang/go) that exceed
the 10,000 issue pagination limit of the GitHub REST API, allowing
users to sync only a subset of issues they care about.

- Parse query parameters in parseRepo to extract labels.
- Include labels in the cache key to prevent overwriting.
- Pass labels to the GitHub API list options.
@hyangah
hyangah force-pushed the api-label-filtering branch from 41872cd to 37972d4 Compare June 26, 2026 01:24
@hyangah

hyangah commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

This currently includes changes from PR #320 too. Once #320 is approved/merged, I will rebase this.

@joeyparrish

Copy link
Copy Markdown
Member

@hyangah, ready for that rebase. I'll wait to review until then so it's a clean diff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants