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.
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))
# 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 -->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-.
"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 }
]| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Enkelte kolonne-kode (UUID) eller en hvilken som helst stabil slug) |
title | string | Yes | — | Kolonne overskriften vises i tabellen |
color | string | Yes | #64748b | Kolonne aksentfarge (hex) vises som venstre kant på kort |
order | integer | Yes | — | Nullbasert 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
{
"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": []
}Full oppgave med alle felt
{
"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 }
]
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | Yes | — | Enkelte oppgaveoppkennelse (UUID eller stabil slug)) |
columnId | string | Yes | — | Identifisering av kolonnen som denne oppgaven tilhører |
position | integer | Yes | — | Nullbasert sorteringsordning innenfor kolonne |
title | string | Yes | — | Oppgaveopptak (1280 tegn)) |
description | string | No | "" | Markdown-kompatibel lengre beskrivelse |
priority | enum "low""medium""high""critical" | No | medium | Driftens hastighet |
tags | string[] | No | [] | Frittforms karakterer for filtrering og gruppering |
assigneeIds | string[] | No | [] | Medlems-ID for personer som er tildelt denne oppgaven |
mentionMemberIds | string[] | No | [] | I denne oppgaven er det nevnt (tilkjent) medlem id |
estimatePoints | integer|null | No | null | Story-point estimering (Fibonacci): 1, 2, 3, 5, 8, 13…) |
dueDate | string|null | No | null | ISO 8601 datoord: JJJJ-MM-TT |
plannedStartAt | string|null | No | null | ISO 8601 Datum/tid: planlagt start |
plannedEndAt | string|null | No | null | ISO 8601 Datum/tid: planlagt slutt |
timeboxMinutes | integer|null | No | null | Lengden på fokusmøtet for timeboxing |
isCompleted | boolean | No | false | Merk oppgaven som fullført (tilføy passing i brukergrensesnittet)) |
archivedAt | string|null | No | null | ISO 8601 Datum og tid for arkivering av oppgaven. Arkiverte oppgaver blir slettet i styret |
checklist | object[] | No | [] | Elementer 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.
"checklist": [
{ "title": "Design mockup", "isDone": true },
{ "title": "Code review", "isDone": false },
{ "title": "Deploy to prod", "isDone": false }
]| Field | Type | Required | Default | Description |
|---|---|---|---|---|
title | string | Yes | — | Beskrivelse av kontrolllisteelementet (1255 tegn)) |
isDone | boolean | Yes | — | Om 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.
<!-- 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 -->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:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
low | enum value | No | — | Mindre hastighet. Utformet i skif/grå. |
medium | enum value | No | — | Standard. Utgitt i Bernstein/gul. Å legge bort prioritering er standardiseringen. |
high | enum value | No | — | Viktig. Anført i oransje. |
critical | enum value | No | — | Blokker. 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.
{
"id": "task-old",
"columnId": "col-1",
"position": 99,
"title": "Old completed task",
"archivedAt": "2025-01-10T14:30:00.000Z",
...
}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
{
"ok": true,
"dryRun": true,
"diagnostics": [],
"diffSummary": {
"columnsCreated": 1,
"columnsTouched": 2,
"tasksCreated": 3,
"tasksTouched": 5,
"tasksToArchive": 0
}
}Testløp med feil
{
"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
}
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
code | string | Yes | — | Maskinlesbar feilkode (z). B. ukjent_Spalten_ID) |
message | string | Yes | — | Menneskelige beskrivelser av problemet |
line | integer | Yes | — | Omfattende linjenummer i markdown-dokumentet |
severity | enum "error""warning" | Yes | — | Enten 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.