Kanban StudioMarkdown & JSON Reference
📝

Markdown & JSON Reference

Full schema reference for board editing

Oversikt

Bak hvert kanban-brett er det et klartekst-markdown-dokument som du kan lese, skrive, kopiere og gjennomgå versjonskontroll. Dokumentet består av to deler: en maskinlesbar, strukturert blokk som inneholder borddata i form av JSON, og en gratis, brukerdefiniert blokk for dine personlige notater.

Forordning v1JSON + MarkdownTørrlekontroller
💡

Gjør alltid en tørr løp først

Før du klikker på Tjenere, bruk knappen Prøve for å validere endringene dine. Backend rapporterer feil og en diff oppsummering uten å endre brettet ditt.

Dokumentstruktur

Et komplett Kanban-markdown-dokument består av tre deler::

  • En overskrift som kan leses av mennesker (bordtittel, generasjonsnotat))
  • Den Strukturerte blokken JSON-data mellom HTML-kommentarmarkeringer
  • Den brukerdefinerte blokken gratis markdown (notis, mermaid diagrammer, linker))
board.md
# My Project Board

Generated by Kanban Markdown schema v1.

<!-- KANBAN:STRUCTURED:START -->
```kanban-structured
{
  "version": 1,
  "board": {
    "id": "board-abc123",
    "title": "My Project Board"
  },
  "columns": [
    { "id": "col-1", "title": "Backlog",     "color": "#64748b", "order": 0 },
    { "id": "col-2", "title": "In Progress", "color": "#6366f1", "order": 1 },
    { "id": "col-3", "title": "Done",        "color": "#10b981", "order": 2 }
  ],
  "tasks": [
    {
      "id": "task-1",
      "columnId": "col-2",
      "position": 0,
      "title": "Build authentication flow",
      "description": "Implement JWT login, register, and token refresh.",
      "priority": "high",
      "tags": ["backend", "security"],
      "assigneeIds": ["member-uuid-1"],
      "mentionMemberIds": ["member-uuid-2"],
      "estimatePoints": 5,
      "dueDate": "2025-03-15",
      "plannedStartAt": "2025-03-10",
      "plannedEndAt": "2025-03-15",
      "timeboxMinutes": 90,
      "isCompleted": false,
      "archivedAt": null,
      "checklist": [
        { "title": "Design DB schema",   "isDone": true  },
        { "title": "Write unit tests",   "isDone": false },
        { "title": "Deploy to staging",  "isDone": false }
      ]
    }
  ]
}
```
<!-- KANBAN:STRUCTURED:END -->

<!-- KANBAN:CUSTOM:START -->
## Team Notes

- Sprint ends Friday
- Backend review at 3 PM

```mermaid
flowchart LR
  A[Backlog] --> B[In Progress] --> C[Done]
```
<!-- KANBAN:CUSTOM:END -->
Fullt styredokument med notater om alle avsnitt
⚠️

Ikke fjern kommentarfeltet

Merkene <!-- KANBAN:STRUCTURED:START -->, <!-- KANBAN:STRUCTURED:END -->, <!-- KANBAN:CUSTOM:START --> og <!-- KANBAN:CUSTOM:END --> er nødvendig. Fjerningen fører til en analysefeil.

Kolonner

Koller definerer arbeidsfasene på bordet ditt. De blir rendert fra venstre til høyre av deres `ord-.

JSON
"columns": [
  { "id": "col-1", "title": "To Do",       "color": "#64748b", "order": 0 },
  { "id": "col-2", "title": "In Progress", "color": "#6366f1", "order": 1 },
  { "id": "col-3", "title": "Review",      "color": "#f59e0b", "order": 2 },
  { "id": "col-4", "title": "Done",        "color": "#10b981", "order": 3 }
]
Eksempel: fire kolorer med forskjellige farger
FieldTypeRequiredDescription
idstringYesEnkelte kolonne-kode (UUID) eller en hvilken som helst stabil slug)
titlestringYesKolonne overskriften vises i tabellen
colorstringYesKolonne aksentfarge (hex) vises som venstre kant på kort
orderintegerYesNullbasert annonseringskikk (oppgående, fra venstre til høyre))
ℹ️

Note

Kolonne-ID'er må være tydelige innenfor bordet. Arbeider refererer til kolonne ved hjelp av denne id.

Oppgaver

Arbeidet er en kjernenhet av arbeidet. Hver jobb er i en kolonne (over kolumnId) og er sortert etter `posisjon.

Minimumoppgave

JSON
{
  "id": "task-abc",
  "columnId": "col-1",
  "position": 0,
  "title": "Write release notes",
  "description": "",
  "priority": "medium",
  "tags": [],
  "assigneeIds": [],
  "mentionMemberIds": [],
  "estimatePoints": null,
  "dueDate": null,
  "plannedStartAt": null,
  "plannedEndAt": null,
  "timeboxMinutes": null,
  "isCompleted": false,
  "archivedAt": null,
  "checklist": []
}
Kun obligatoriske felt fylt ut alle valgfeltet er null/lat

Full oppgave med alle felt

JSON
{
  "id": "task-xyz",
  "columnId": "col-2",
  "position": 0,
  "title": "Redesign checkout page",
  "description": "Full UX overhaul based on user research findings.",
  "priority": "critical",
  "tags": ["ux", "frontend", "q1-goal"],
  "assigneeIds": ["member-alice", "member-bob"],
  "mentionMemberIds": ["member-pm"],
  "estimatePoints": 8,
  "dueDate": "2025-04-01",
  "plannedStartAt": "2025-03-20",
  "plannedEndAt": "2025-04-01",
  "timeboxMinutes": 120,
  "isCompleted": false,
  "archivedAt": null,
  "checklist": [
    { "title": "User interviews",       "isDone": true  },
    { "title": "Wireframes approved",   "isDone": true  },
    { "title": "Implement components",  "isDone": false },
    { "title": "A/B test live",         "isDone": false }
  ]
}
Produksjonseksempler med prioritet, tagg, oppdragsgivere, kontrolliste, tidsopptak
FieldTypeRequiredDescription
idstringYesEnkelte oppgaveoppkennelse (UUID eller stabil slug))
columnIdstringYesIdentifisering av kolonnen som denne oppgaven tilhører
positionintegerYesNullbasert sorteringsordning innenfor kolonne
titlestringYesOppgaveopptak (1280 tegn))
descriptionstringNoMarkdown-kompatibel lengre beskrivelse
priorityenum
"low""medium""high""critical"
NoDriftens hastighet
tagsstring[]NoFrittforms karakterer for filtrering og gruppering
assigneeIdsstring[]NoMedlems-ID for personer som er tildelt denne oppgaven
mentionMemberIdsstring[]NoI denne oppgaven er det nevnt (tilkjent) medlem id
estimatePointsinteger|nullNoStory-point estimering (Fibonacci): 1, 2, 3, 5, 8, 13…)
dueDatestring|nullNoISO 8601 datoord: JJJJ-MM-TT
plannedStartAtstring|nullNoISO 8601 Datum/tid: planlagt start
plannedEndAtstring|nullNoISO 8601 Datum/tid: planlagt slutt
timeboxMinutesinteger|nullNoLengden på fokusmøtet for timeboxing
isCompletedbooleanNoMerk oppgaven som fullført (tilføy passing i brukergrensesnittet))
archivedAtstring|nullNoISO 8601 Datum og tid for arkivering av oppgaven. Arkiverte oppgaver blir slettet i styret
checklistobject[]NoElementer i underskuddslisten (se avsnittet Sjekkliste)“)

Kontrolleringselementer

Hver oppgave støtter en flatt liste over kontrolllisteelementer enkle underoppgaver som kan markeres som gjort enkeltvis uten at det kreves separate oppgaver.

JSON
"checklist": [
  { "title": "Design mockup",   "isDone": true  },
  { "title": "Code review",     "isDone": false },
  { "title": "Deploy to prod",  "isDone": false }
]
Tre sjekklistepunkter: Den første er ferdig, to igjen
FieldTypeRequiredDescription
titlestringYesBeskrivelse av kontrolllisteelementet (1255 tegn))
isDonebooleanYesOm dette punktet er avskåret

Sektion Gjenstandsnotater“.

Alt mellom <!-- KANBAN:CUSTOM:START --> og <!-- KANBAN:CUSTOM:END --> er notatet ditt. Det støtter fullstendige markdown og mermaid diagrammer. Innholdet blir ikke lastet opp av board-motoren. Det vises bare på tabellen.

Markdown
<!-- KANBAN:CUSTOM:START -->
## Sprint Notes

- Daily standup at 10:00 AM
- Backend API freeze on Friday

```mermaid
gantt
  title Sprint 12
  section Tasks
  Auth flow     :done, 2025-03-10, 3d
  Dashboard UI  :active, 2025-03-13, 4d
  API docs      :2025-03-17, 2d
```

> Reminder: update JIRA tickets before end of day.
<!-- KANBAN:CUSTOM:END -->
Notater med mermaiden-gants diagram
💡

Tip

Bruk avsnittet Determine for sprintnotater, teamlinks, Gantt diagrammer, arkitektoniske diagrammer alt du vil se i tillegg til din borddata.

Prioritetskrav

Feltet priority aksepterer nøyaktig en av fire verdier, som hver blir tildelt en bestemt merkefarge i brukergrenset:

FieldTypeRequiredDescription
lowenum valueNoMindre hastighet. Utformet i skif/grå.
mediumenum valueNoStandard. Utgitt i Bernstein/gul. Å legge bort prioritering er standardiseringen.
highenum valueNoViktig. Anført i oransje.
criticalenum valueNoBlokker. Tegnet i rød/rosen.

Arkiveringsaktiver

For å arkivere en oppgave, skriv inn feltet archivedAt på en ISO-dato/tidssikre. Arkiverte oppgaver er ekskludert fra den aktive styresyn, men blir bevart underveis.

JSON
{
  "id": "task-old",
  "columnId": "col-1",
  "position": 99,
  "title": "Old completed task",
  "archivedAt": "2025-01-10T14:30:00.000Z",
  ...
}
Arkivert oppgave skilt av brettet, hentet i snapshot
ℹ️

Note

Hvis du setter archivedAt på null, blir oppgaven arkivert. Diff-sammenslutningen viser tasksToArchive når du bruker et markdown-snapshot som arkiverer nå aktive oppgaver på brettet.

Test og diagnose

Probefunksjonen validerer nedbetalingen uten endringer. Backend gir en diffSummary (som ville endre) og en diagnostics-Array tilbake som viser alle feil eller advarsler.

Erklæring av et vellykket prøvningsreaksjon

JSON
{
  "ok": true,
  "dryRun": true,
  "diagnostics": [],
  "diffSummary": {
    "columnsCreated": 1,
    "columnsTouched": 2,
    "tasksCreated": 3,
    "tasksTouched": 5,
    "tasksToArchive": 0
  }
}
ok: true betyr at avslagene er gyldige og sikkert å bruke

Testløp med feil

JSON
{
  "ok": false,
  "dryRun": true,
  "diagnostics": [
    {
      "code": "unknown_column_id",
      "message": "Task 'task-xyz' references unknown column 'col-999'.",
      "line": 42,
      "severity": "error"
    },
    {
      "code": "duplicate_task_id",
      "message": "Task ID 'task-abc' is used more than once.",
      "line": 67,
      "severity": "error"
    }
  ],
  "diffSummary": {
    "columnsCreated": 0,
    "columnsTouched": 0,
    "tasksCreated": 0,
    "tasksTouched": 0,
    "tasksToArchive": 0
  }
}
ok: false Korrigere feil før bruk
FieldTypeRequiredDescription
codestringYesMaskinlesbar feilkode (z). B. ukjent_Spalten_ID)
messagestringYesMenneskelige beskrivelser av problemet
lineintegerYesOmfattende linjenummer i markdown-dokumentet
severityenum
"error""warning"
YesEnten Feil (Blockene gjelder) eller varsel (bruk av inntekter))
🚫

Feil blokkerer Apply

Hvis diagnosen inneholder et element med en grad av alvorlighetsgrad feil, vil Apply-prosessen nekte å fortsette. Advarsler er rådgivende og blokkerer ikke.

Rekommenderte arbeidsflyt

Følg denne prosessen når du redigerer brettet via Markdown:

  • Åpne markdown-panelet på brettet ditt
  • Redigere JSON i Strukturert blokk legg til eller endre kolonne eller oppgaver
  • Klikk på tørkløp for å validere uten å endre noe
  • Korrigere alle feilene som vises i diagnoselisten
  • Klikk på Overføre for å ta endringer i live-bordet
  • Bruk download for å lagre en lokal .md-bakkup
💡

Tipp til versjonskontroll

Da dokumentet er rent tekst, kan du legge det inn i et Git-register, skille ut versjoner og gjenopprette tidligere bordstatus ved å bruke et eldre bilde igjen.

Schema v1 · Updated September 2026