#!/bin/bash # issue-list.sh - List issues on Gitea or GitHub # Usage: issue-list.sh [-s state] [-l label] [-m milestone] [-a assignee] set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/detect-platform.sh" # Default values STATE="open" LABEL="" MILESTONE="" ASSIGNEE="" LIMIT=100 usage() { cat <&2 usage ;; esac done PLATFORM=$(detect_platform) case "$PLATFORM" in github) CMD="gh issue list --state $STATE --limit $LIMIT" [[ -n "$LABEL" ]] && CMD="$CMD --label \"$LABEL\"" [[ -n "$MILESTONE" ]] && CMD="$CMD --milestone \"$MILESTONE\"" [[ -n "$ASSIGNEE" ]] && CMD="$CMD --assignee \"$ASSIGNEE\"" eval "$CMD" ;; gitea) CMD="tea issues list --state $STATE --limit $LIMIT" [[ -n "$LABEL" ]] && CMD="$CMD --labels \"$LABEL\"" [[ -n "$MILESTONE" ]] && CMD="$CMD --milestones \"$MILESTONE\"" # Note: tea may not support assignee filter directly eval "$CMD" if [[ -n "$ASSIGNEE" ]]; then echo "Note: Assignee filtering may require manual review for Gitea" >&2 fi ;; *) echo "Error: Could not detect git platform" >&2 exit 1 ;; esac