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:
root
2026-02-05 13:09:09 +01:00
parent f0dae88639
commit 4277b10f55
21 changed files with 2636 additions and 159 deletions

View File

@@ -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