Kanbanize Kartenerstellung dokumentiert: Arrival-Rule-Workaround, Board-Struktur
- Neuer Abschnitt "Karten erstellen (Aufgaben-Workflow)" mit Workflow A/B - Bekannte Struktur erweitert: Workflows, Columns, Lanes für Board 1 - Pitfalls ergänzt: Arrival Rule, Parent-Link API, linkedCards read-only - Settings und Plans aktualisiert Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
99
CLAUDE.md
99
CLAUDE.md
@@ -1000,6 +1000,40 @@ curl -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
| Board | 1 | Team Infrastruktur |
|
||||
| User | 4 | Robert Wiegand |
|
||||
|
||||
**Workflows auf Board 1:**
|
||||
|
||||
| Workflow-ID | Name | Zweck |
|
||||
|-------------|------|-------|
|
||||
| 1 | Aufgaben | Operative Tasks (Backlog → ToDo → In Bearbeitung → Erledigt) |
|
||||
| 2 | Themen | Übergeordnete Themen/Epics, Parent-Karten für Aufgaben |
|
||||
|
||||
**Columns & Lanes — Workflow 1 (Aufgaben):**
|
||||
|
||||
| Column-ID | Name | Section |
|
||||
|-----------|------|---------|
|
||||
| 1 | Aufgaben Backlog | Backlog |
|
||||
| 2 | ToDo | Requested |
|
||||
| 3 | In Bearbeitung | In Progress |
|
||||
| 4 | Erledigt | Done |
|
||||
| 5 | Ready to Archive | Archive |
|
||||
|
||||
| Lane-ID | Name |
|
||||
|---------|------|
|
||||
| 1 | Default (Aufgaben) |
|
||||
|
||||
**Columns & Lanes — Workflow 2 (Themen):**
|
||||
|
||||
| Column-ID | Name | Section |
|
||||
|-----------|------|---------|
|
||||
| 29 | Themen Backlog | Backlog |
|
||||
| 8 | Requested | Requested |
|
||||
| 9 | In Progress | In Progress |
|
||||
| 10 | Ready to Archive | Done/Archive |
|
||||
|
||||
| Lane-ID | Name |
|
||||
|---------|------|
|
||||
| 5 | Default (Themen) |
|
||||
|
||||
### Pflicht-Workflow bei Vinos-Arbeiten
|
||||
|
||||
**Bei JEDER Arbeit im Kontext `~/Nextcloud/vinos/` MUSS geprüft werden:**
|
||||
@@ -1082,24 +1116,71 @@ curl -s -X PATCH -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards/<CARD_ID>"
|
||||
```
|
||||
|
||||
**Bekannte Column-IDs (Board 1):**
|
||||
|
||||
| Column-ID | Name | Section |
|
||||
|-----------|------|---------|
|
||||
| 1 | Aufgaben Backlog | Backlog |
|
||||
| 2 | ToDo | Requested |
|
||||
| 3 | In Bearbeitung | In Progress |
|
||||
| 4 | Erledigt | Done |
|
||||
| 5 | Ready to Archive | Archive |
|
||||
**Column-IDs:** Siehe "Bekannte Struktur" oben für vollständige Auflistung beider Workflows.
|
||||
|
||||
**Achtung:** Wenn alle Child-Karten einer Parent-Karte auf "Done" stehen, wird die Parent-Karte automatisch mit verschoben.
|
||||
|
||||
### Karten erstellen (Aufgaben-Workflow)
|
||||
|
||||
**Hintergrund:** Workflow 1 (Aufgaben) hat eine Arrival Rule, die verlangt, dass jede Karte mit einem Thema (Parent im Themen-Workflow 2) verknüpft ist. Direkte Kartenerstellung in Workflow 1 per API schlägt daher fehl.
|
||||
|
||||
**Workaround:** Karte zunächst in Workflow 2 (Themen) erstellen, Parent-Link setzen, dann nach Workflow 1 verschieben.
|
||||
|
||||
#### Workflow A — Thema existiert bereits
|
||||
|
||||
```bash
|
||||
# 1. Karte in Workflow 2 erstellen (Themen Backlog)
|
||||
NEW_ID=$(curl -s -X POST -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"board_id": 1, "workflow_id": 2, "lane_id": 5, "column_id": 29, "title": "Neue Aufgabe"}' \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards" | jq -r '.data.card_id')
|
||||
|
||||
# 2. Parent-Link zum existierenden Thema setzen
|
||||
curl -s -X PUT -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards/$NEW_ID/parents/<THEMA_ID>"
|
||||
|
||||
# 3. Nach Aufgaben ToDo verschieben + Titel/Owner setzen
|
||||
curl -s -X PATCH -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"workflow_id": 1, "column_id": 2, "lane_id": 1, "owner_user_id": 4}' \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards/$NEW_ID"
|
||||
```
|
||||
|
||||
#### Workflow B — Thema existiert noch nicht
|
||||
|
||||
```bash
|
||||
# 1. Thema in Workflow 2 erstellen
|
||||
THEMA_ID=$(curl -s -X POST -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"board_id": 1, "workflow_id": 2, "lane_id": 5, "column_id": 29, "title": "Neues Thema"}' \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards" | jq -r '.data.card_id')
|
||||
|
||||
# 2. Kind-Karte in Workflow 2 erstellen
|
||||
CHILD_ID=$(curl -s -X POST -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"board_id": 1, "workflow_id": 2, "lane_id": 5, "column_id": 29, "title": "Aufgabe zum Thema"}' \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards" | jq -r '.data.card_id')
|
||||
|
||||
# 3. Parent-Link setzen
|
||||
curl -s -X PUT -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards/$CHILD_ID/parents/$THEMA_ID"
|
||||
|
||||
# 4. Kind-Karte nach Aufgaben ToDo verschieben
|
||||
curl -s -X PATCH -H "apikey: $(cat ~/.config/kanbanize/token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"workflow_id": 1, "column_id": 2, "lane_id": 1, "owner_user_id": 4}' \
|
||||
"https://weinvinosgmbh.kanbanize.com/api/v2/cards/$CHILD_ID"
|
||||
```
|
||||
|
||||
### Pitfalls
|
||||
|
||||
- **Kommentare können NICHT gelöscht werden** — weder via API noch UI. Workaround: Inhalt durch `.` ersetzen
|
||||
- **`\n` wird komplett ignoriert** — immer `<br>` verwenden
|
||||
- **Markdown wird NICHT gerendert** — kein `##`, `**`, `-` etc.
|
||||
- **`type` ist immer `plain`** — kann nicht auf `html` gesetzt werden, HTML wird trotzdem gerendert
|
||||
- **Arrival Rule auf Workflow 1** blockiert direkte Kartenerstellung per API — Workaround: Karte in Workflow 2 erstellen, Parent setzen, dann nach Workflow 1 verschieben (siehe "Karten erstellen")
|
||||
- **Parent-Link Endpunkt:** `PUT /cards/{id}/parents/{parent_id}` — nicht POST, nicht PATCH. Entfernen: `DELETE /cards/{id}/parents/{parent_id}`
|
||||
- **`linkedCards` Sub-Resource ist read-only** — nur GET, keine Manipulation darüber möglich. Parent/Child-Links über `/parents/` und `/children/` Endpunkte verwalten
|
||||
|
||||
### In die Task-Abschluss-Checkliste integriert
|
||||
|
||||
|
||||
Reference in New Issue
Block a user