eduardoarantes opened a new issue, #8901:
URL: https://github.com/apache/devlake/issues/8901

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/incubator-devlake/issues?q=is%3Aissue) and 
found no similar feature requirement.
   
   ### Use case
   
   As a team that tracks work in **Linear** (linear.app), I want DevLake to 
collect our Linear data so I can analyze engineering throughput, lead/cycle 
time, sprint (cycle) progress, and status changelogs alongside our other tools 
— without exporting data by hand. Today DevLake has no Linear integration.
   
   ### Description
   
   Add a first-class **Linear** data source plugin, following DevLake's 
standard 3-stage ETL and framework helpers:
   
   - **Collect** (GraphQL → `_raw_linear_*`) using the async GraphQL client 
with rate-limit pacing; incremental collection via a server-side `updatedAt` 
filter.
   - **Extract** (`_raw_linear_*` → `_tool_linear_*`).
   - **Convert** (`_tool_linear_*` → domain tables).
   
   Scope = Linear **Team** → `ticket.Board`. Auth = personal API key. Status is 
mapped deterministically from `WorkflowState.type` (`triage,backlog,unstarted → 
TODO`; `started → IN_PROGRESS`; `completed,canceled → DONE`).
   
   Domain mappings:
   - Team → `boards`
   - Issues → `issues` + `board_issues` + `issue_assignees`
   - Comments → `issue_comments`
   - Labels → `issue_labels`
   - Cycles → `sprints` + `sprint_issues`
   - Issue history → `issue_changelogs` (+ lead/cycle time derived from 
in-progress→done transitions)
   - Users → `accounts`
   
   Also includes config-ui registration (connection form + Teams data scope via 
remote-scopes) and a Grafana dashboard (`grafana/dashboards/Linear.json`).
   
   ### Related issues
   
   Implemented by PR apache/incubator-devlake#8900.
   
   ### Are you willing to submit a PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to