Spike: Work Items driven GraphQL API(s) for Planning Views
Summary
This is the technical spike for the Work Items driven GraphQL API(s) for Planning Views. The objective of this spike is to explore the feasibility and potential benefits of a consolidated work items GraphQL API to power planning views (listing pages, epic boards, and roadmaps).
Background
Currently Epics (and Issues too) are available view in following different ways;
- List
- Board
- Roadmap
All these views have their own API and are built around Issuables, if we were to create a similar API for Work Items, we'd still be duplicating a lot of work. Also, these views are just a form of presentation of same data in different ways, so we should ideally figure out a way to create a Baseline API that is agnostic of Work Item type, and can be shared across these 3 views as well as any future views we might introduce (eg; Grid or a Tree view). This will also help us achieve some of the ideas mentioned in &5516 while making our implementation on backend as well as frontend unified.
The objective is to identify whether a unified API or distinct APIs for specific views better align with our technical capabilities and the envisioned improvements for these views.
Goals
- Evaluate the future state vision outlined in this video to identify commonalities and differences among listing pages, boards, and roadmaps.
- Investigate the technical viability and implications of a unified GraphQL API versus multiple APIs tailored to individual views.
- Document findings, technical challenges, and recommendations to guide the decision-making process regarding API architecture for planning views.
- Optional: Prototype and compare scenarios to determine the scalability, flexibility, and maintainability of each approach.