- Create discover-deck-ids.sh to find board/stack configuration - Implement sync-roadmap-to-deck.py for roadmap → Deck sync - Parse OPTIMIZATION_MASTER_ROADMAP.md and extract initiatives - Map roadmap status to Deck stacks (eingang/planung/arbeit/erledigt) - Create cards with titles, descriptions, due dates, progress - Support dry-run mode for testing before actual sync - Add comprehensive documentation in NEXTCLOUD_DECK_SYNC.md **Benefits:** - Visual kanban board for roadmap management - Drag & drop to prioritize tasks - Single source of truth (markdown files) - Easy task tracking and status updates - No manual duplication between systems **Initial Sync:** - Created 1 card: Initiative 1 (Signal Quality Optimization) - Placed in 'eingang' (FUTURE status) **Future Work:** - Bidirectional sync (Deck → Roadmap) - Phase-level cards parsing - Manual card creation → roadmap entry - Automated cron sync
71 lines
2.1 KiB
Bash
Executable File
71 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Discover Nextcloud Deck Board and Stack IDs
|
|
# Usage: ./discover-deck-ids.sh
|
|
|
|
set -e
|
|
|
|
NEXTCLOUD_URL="${NEXTCLOUD_URL:-http://10.0.0.48:8089}"
|
|
NEXTCLOUD_USER="${NEXTCLOUD_USER:-robert.wiegand}"
|
|
NEXTCLOUD_PASSWORD="${NEXTCLOUD_PASSWORD:-November1985**}"
|
|
|
|
echo "🔍 Discovering Nextcloud Deck configuration..."
|
|
echo ""
|
|
|
|
# Get all boards
|
|
echo "📋 Available Boards:"
|
|
BOARDS=$(curl -sS -X GET "${NEXTCLOUD_URL}/index.php/apps/deck/api/v1.0/boards" \
|
|
-u "${NEXTCLOUD_USER}:${NEXTCLOUD_PASSWORD}" \
|
|
-H 'OCS-APIRequest: true' \
|
|
-k)
|
|
|
|
echo "$BOARDS" | jq -r '.[] | " ID: \(.id) - Title: \(.title)"'
|
|
echo ""
|
|
|
|
# Find trader board
|
|
TRADER_BOARD_ID=$(echo "$BOARDS" | jq -r '.[] | select(.title | test("trader"; "i")) | .id' | head -1)
|
|
|
|
if [ -z "$TRADER_BOARD_ID" ]; then
|
|
echo "❌ No board with 'trader' in title found!"
|
|
echo "Please create a board called 'trader' in Nextcloud Deck first."
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Found 'trader' board with ID: $TRADER_BOARD_ID"
|
|
echo ""
|
|
|
|
# Get stacks for trader board
|
|
echo "📚 Stacks in 'trader' board:"
|
|
STACKS=$(curl -sS -X GET "${NEXTCLOUD_URL}/index.php/apps/deck/api/v1.0/boards/${TRADER_BOARD_ID}/stacks" \
|
|
-u "${NEXTCLOUD_USER}:${NEXTCLOUD_PASSWORD}" \
|
|
-H 'OCS-APIRequest: true' \
|
|
-k)
|
|
|
|
echo "$STACKS" | jq -r '.[] | " ID: \(.id) - Title: \(.title) - Order: \(.order)"'
|
|
echo ""
|
|
|
|
# Create config snippet
|
|
echo "📝 Configuration for sync-roadmap-to-deck.py:"
|
|
echo ""
|
|
echo "nextcloud:"
|
|
echo " url: \"${NEXTCLOUD_URL}\""
|
|
echo " user: \"${NEXTCLOUD_USER}\""
|
|
echo " board_id: ${TRADER_BOARD_ID}"
|
|
echo " stacks:"
|
|
echo "$STACKS" | jq -r '.[] | " \(.title | ascii_downcase | gsub(" "; "_")): \(.id) # \(.title)"'
|
|
echo ""
|
|
|
|
# Save to temp file for script to use
|
|
cat > /tmp/deck-config.json <<EOF
|
|
{
|
|
"url": "${NEXTCLOUD_URL}",
|
|
"user": "${NEXTCLOUD_USER}",
|
|
"password": "${NEXTCLOUD_PASSWORD}",
|
|
"board_id": ${TRADER_BOARD_ID},
|
|
"stacks": $(echo "$STACKS" | jq '[.[] | {name: .title, id: .id, order: .order}]')
|
|
}
|
|
EOF
|
|
|
|
echo "✅ Configuration saved to /tmp/deck-config.json"
|
|
echo ""
|
|
echo "Run: python3 scripts/sync-roadmap-to-deck.py --init"
|