Files
trading_bot_v4/scripts/discover-deck-ids.sh
mindesbunister 77a22bae3f feat: add Nextcloud Deck roadmap sync system
- 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
2025-11-14 11:09:37 +01:00

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"