[Feature][config-ui] Manage teams, members and account mapping from the UI
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start by reading the config-ui pages and API client, then inspect the existing org plugin CSV endpoints for teams, users, and account mappings. Build a Teams page with three tabs that loads and saves each full CSV, including parent team selection, member team multi-select, and read-only account details with user mapping. Done when each tab round-trips its data and warns that saving replaces the full file; the issue names no files or tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Search before asking
- I had searched in the issues and found no similar feature requirement.
Use case
As an engineering manager, I want to define my teams and their members in DevLake so that the team dashboards show real numbers.
DevLake ships several dashboards that slice metrics by team:
- DORA (by Team)
- Engineering Throughput and Cycle Time - Team View
- GitHub Copilot Adoption by Team / by Team and User
All of them join through teams, team_users and user_accounts.
Description
Those three tables can only be populated through the org plugin's CSV endpoints:
| Endpoint | Columns |
|---|---|
GET/PUT /plugins/org/teams.csv |
Id, Name, Alias, ParentId, SortingIndex |
GET/PUT /plugins/org/users.csv |
Id, Name, Email, TeamIds (;-separated) |
GET/PUT /plugins/org/user_account_mapping.csv |
every account, with its mapped UserId |
config-ui references none of them. There is no page, button or upload control anywhere in the UI for team data, so the only way to set it up is to hand-craft a multipart upload:
curl -X PUT -F "[email protected]" http://localhost:8080/plugins/org/teams.csv
The practical effect is that on a fresh install every team dashboard renders blank, with no indication in the UI of what is missing or how to supply it. A new user who opens "DORA (by Team)" sees empty panels and no path forward. It is also easy to mistake the ?fake_data=true sample rows ("Tyrone K. Cummings") for the dashboards being built on placeholder data.
Proposed solution
A Teams page in config-ui with three tabs, built on the endpoints that already exist — no backend change:
- Teams — editable table; parent team chosen from a select of the other teams rather than typed as a raw id.
- Members — editable table; team membership as a multi-select that serialises back to the
;-delimitedTeamIdscell. - Account Mapping — every collected tool account with identity columns read-only and a select to map it to a member. Accounts come from data collection, so rows are not addable or removable here.
Each tab round-trips a whole CSV file, which matches the endpoints' existing delete-all-then-save behaviour; the page should say so, since a save overwrites rows added elsewhere since it loaded.
Possible follow-up
Per-row REST CRUD on the org plugin (POST/PATCH/DELETE for a single team or user) would remove the full-file replace and its clobbering window. That is a backend change and seems worth keeping separate from the UI work.
Related issues
None found.
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct
- Lingua principale
- Go
- Stelle
- 3.2k
- Fork
- 819
- Merge medio
- 3g 6h
- PR unite (30g)
- 40
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/devlake
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
apache/devlake#9195 · 1 reazione ·
I maintainer di solito rispondono entro 3 giorni
-
[Bug][Migration] modify refs id length fails on MySQL Group Replication and leaves refs without a primary keyForse già presa @tpam28 l’ha presa 6 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
apache/devlake#9194 · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
[Bug][jenkins] Incremental collection skips the stages of builds that finish after the next syncForse già presa @pballester l’ha presa 15 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
apache/devlake#9177 · 2 commenti ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di apache/devlake
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Add SolentaForse già presa @sharmao07 l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
slavakurilyak/awesome-ai-agents#760 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
agent-review-finding bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
jordansmall/spindrift#5281 ·
I maintainer di solito rispondono entro 1 giorno