Add support for filtering, viewing, and updating GitHub Issue fields and custom project fields
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 2.1k
- Forks
- 153
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
### Feature summary
Add native support for filtering issues by custom fields, as well as viewing and updating GitHub Issue fields—including built-in fields and custom project fields (such as Iteration, Estimate, Single Select, Date, Number, and Status)—directly from the issue view and CLI context within the GitHub Copilot interface.
### What problem are you trying to solve?
When managing or triaging work via GitHub Copilot, developers cannot easily query, search, or filter issues based on custom project fields. Additionally, interaction within the issue details view is limited to default issue attributes (title, description, labels, assignees, and milestones), leaving no way to filter by or modify custom field values directly.
Modern development teams rely on custom Issue Fields (e.g., Sprint/Iteration, Story Points/Estimates, Severity, Risk, or Target Release) to organize backlogs.
Without filter and field support in Copilot:
* **Inability to Filter:** Developers cannot prompt Copilot with queries like *"List all issues in Current Sprint with High Severity"* because Copilot lacks filtering capabilities for custom project fields.
* **Context Loss:** Copilot cannot evaluate or reason about custom metadata displayed in issue details when summarizing or prioritizing issues.
* **Context Switching:** Developers must leave Copilot and open the GitHub web UI to filter issues by project fields or update metadata after inspecting an issue.
### Proposed solution
Integrate GitHub Issue Field filtering and modification into Copilot's core features:
1. **Filtering Support:** Enable users to filter issues using custom project field criteria (e.g., `field:Estimate>5`, `status:"In Progress"`, or `iteration:"Sprint 12"`) through Copilot prompts and commands.
2. **Direct Edit from Issue Details:** Enable users to view and update standard and custom issue fields directly within the issue details context generated by Copilot.
3. **Read & Context Retrieval:** Fetch and extract custom field metadata alongside standard issue details via the GitHub GraphQL API (`ProjectV2` / `fieldValues`).
4. **Write & Manipulation:** Provide actions/commands to update field values on the fly (e.g., updating `Status` to `In Progress` or setting `Estimate = 3`).
5. **Schema Awareness:** Inspect available custom fields for a repository or project board so Copilot can validate filters and present correct allowed values for edits.
### Workflow impact
* **Precise Issue Discovery:** Developers can instantly query and filter issues based on sprint cycles, effort estimates, or custom priority tags directly from their terminal or IDE.
* **Streamlined In-Context Edits:** Developers reviewing issue details via Copilot can update field values immediately without switching context to a web browser.
* **Faster Backlog Triage:** Enables seamless workflows like *"Filter issues assigned to me for Sprint 4, show details for issue #12, and update its severity to High."*
* **Reduced Friction:** Keeps project planning data synchronized with real-time developer activity directly inside the terminal/IDE workspace.
### Installation context
* **Product/Target:** GitHub Copilot CLI / GitHub Copilot App
* **Environments:** Terminal environments via GitHub CLI (`gh copilot`), IDE integrations (VS Code, JetBrains), and automated workflow scripts.
### Additional context
* **GitHub Issue Fields Documentation:** [https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/adding-and-managing-issue-fields](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/adding-and-managing-issue-fields)
* **GitHub App Repository:** [https://github.com/github/app](https://github.com/github/app)
* **Technical Note:** Filtering and updates can leverage GitHub’s GraphQL API (`projectV2` queries and `updateProjectV2ItemFieldValue` mutations) to filter project items by field values and safely mutate them.
Guía de contribución
Línea de trabajo
El payload no menciona archivos del repositorio, pruebas ni puntos de entrada; empieza por localizar las superficies de issue-details y de consulta/acción de la CLI, y después sigue su integración con GitHub GraphQL. Se considera terminado cuando los usuarios pueden descubrir esquemas de campos, filtrar issues por campos personalizados, ver los valores de los campos y actualizar los campos integrados y de proyecto compatibles en todos los contextos de Copilot indicados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- github, graphql
- Área
- api, cli, desktop
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100