Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Feature][config-ui] Manage teams, members and account mapping from the UI

Aperta
#9,206 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 3 giorni

@itaispiegel ci sta già lavorando.

Dal 11/10/2026.

  • #9205 di @itaispiegel — aperta

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go
Ambito
backend, frontend

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 ;-delimited TeamIds cell.
  • 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
Lingua principale
Go
Stelle
3.2k
Fork
819
Merge medio
3g 6h
PR unite (30g)
40

Preparare l'ambiente

Apri in Codespaces

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/devlake

Tutte le issue di apache/devlake

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.