fix(kugetsu): add post-comment helper for PM agent #124

Closed
shoko wants to merge 1 commits from fix/issue-45-post-comment-helper into main
2 changed files with 45 additions and 0 deletions

Submodule .kugetsu-worktrees/git.fbrns.co-shoko-jigaido-2 added at 332d7fc60a

View File

@@ -693,6 +693,47 @@ cmd_logs() {
done done
} }
cmd_post_comment() {
local repo_url="${1:-}"
local issue_or_pr="${2:-}"
local body="${3:-}"
if [ -z "$repo_url" ] || [ -z "$issue_or_pr" ] || [ -z "$body" ]; then
echo "Usage: kugetsu post-comment <repo-url> <issue-or-pr-number> <body>" >&2
echo "Example: kugetsu post-comment https://git.fbrns.co/shoko/kugetsu 81 \"Comment text\"" >&2
exit 1
fi
local token="${GITEA_TOKEN:-}"
if [ -z "$token" ]; then
if [ -f "$KUGETSU_DIR/env/pm-agent.env" ]; then
set -a
source "$KUGETSU_DIR/env/pm-agent.env"
set +a
fi
token="${GITEA_TOKEN:-}"
fi
if [ -z "$token" ]; then
echo "Error: GITEA_TOKEN not set" >&2
exit 1
fi
local api_url="${repo_url%.git}/issues/${issue_or_pr}/comments"
curl -s -X POST "$api_url" \
-H "Authorization: token $token" \
-H "Content-Type: application/json" \
-d "$(printf '{"body":%s}' "$(echo "$body" | python3 -c 'import sys,json; print(json.dumps(sys.stdin.read()))')")"
if [ $? -eq 0 ]; then
echo "Comment posted successfully"
else
echo "Error: Failed to post comment" >&2
exit 1
fi
}
cmd_env() { cmd_env() {
local action="${1:-}" local action="${1:-}"
local agent_type="${2:-}" local agent_type="${2:-}"
@@ -1701,6 +1742,9 @@ main() {
delegate) delegate)
cmd_delegate "$@" cmd_delegate "$@"
;; ;;
post-comment)
cmd_post_comment "$@"
;;
logs) logs)
shift shift
cmd_logs "$@" cmd_logs "$@"