- descriptions state WHEN each skill applies - jira-workflow ships curl scripts reading TRACKER_URL/JIRA_TOKEN from env, no hardcoded secrets/URLs - repo-map/docs-map defer values to session corporate context; company specifics left as TODO - go-standards uses realistic Go defaults, company-specific bits marked TODO
28 lines
948 B
Bash
Executable File
28 lines
948 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# add-comment.sh <ISSUE_KEY> "<comment text>"
|
|
# Adds a comment to a tracker issue.
|
|
# Reads TRACKER_URL and JIRA_TOKEN from the environment. No secrets are hardcoded.
|
|
set -euo pipefail
|
|
|
|
KEY="${1:?usage: add-comment.sh <ISSUE_KEY> \"<text>\"}"
|
|
TEXT="${2:?usage: add-comment.sh <ISSUE_KEY> \"<text>\"}"
|
|
: "${TRACKER_URL:?set TRACKER_URL (or take the tracker address from the session corporate context)}"
|
|
: "${JIRA_TOKEN:?set JIRA_TOKEN (tracker personal access token)}"
|
|
|
|
BASE="${TRACKER_URL%/}"
|
|
|
|
# Build JSON body safely (jq escapes the text); fall back to a naive body if jq is absent.
|
|
if command -v jq >/dev/null 2>&1; then
|
|
BODY="$(jq -n --arg b "$TEXT" '{body: $b}')"
|
|
else
|
|
BODY="{\"body\": \"${TEXT//\"/\\\"}\"}"
|
|
fi
|
|
|
|
curl -fsS -X POST \
|
|
-H "Authorization: Bearer ${JIRA_TOKEN}" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$BODY" \
|
|
"${BASE}/rest/api/2/issue/${KEY}/comment" >/dev/null
|
|
|
|
echo "Comment added to ${KEY}"
|