**Motivations:** - Align master with current codebase (token from projects/<id>/.secrets/<env>/ia_token) - Id resolution by mail To or by API token; no slug **Root causes:** - Token moved from conf.json to .secrets/<env>/ia_token; env from directory name **Correctifs:** - Server and scripts resolve project+env by scanning all projects and envs **Evolutions:** - tickets-fetch-inbox routes by To address; notary-ai agents and API doc updated **Pages affectées:** - ai_working_help/server.js, docs, project_config.py, lib/project_config.sh - projects/README.md, lecoffreio/docs/API.md, gitea-issues/tickets-fetch-inbox.py
36 lines
1022 B
Bash
Executable File
36 lines
1022 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Print issue number, title and body in a single block for agent consumption.
|
|
# Used by the gitea-issues-process agent to get the ticket content before calling /fix or /evol.
|
|
# Usage: ./print-issue-prompt.sh <issue_number>
|
|
#
|
|
set -euo pipefail
|
|
|
|
GITEA_ISSUES_DIR="${GITEA_ISSUES_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)}"
|
|
# shellcheck source=lib.sh
|
|
source "${GITEA_ISSUES_DIR}/lib.sh"
|
|
|
|
require_jq || exit 1
|
|
|
|
if [[ $# -lt 1 ]]; then
|
|
log_err "Usage: $0 <issue_number>"
|
|
exit 1
|
|
fi
|
|
|
|
ISSUE_NUM="$1"
|
|
RESPONSE="$(gitea_api_get "/repos/${GITEA_REPO_OWNER}/${GITEA_REPO_NAME}/issues/${ISSUE_NUM}")"
|
|
if ! echo "$RESPONSE" | jq -e . &>/dev/null; then
|
|
log_err "API error (issue ${ISSUE_NUM}): ${RESPONSE:0:200}"
|
|
exit 1
|
|
fi
|
|
|
|
TITLE="$(echo "$RESPONSE" | jq -r '.title')"
|
|
BODY="$(echo "$RESPONSE" | jq -r '.body // "(no description)"')"
|
|
LABELS="$(echo "$RESPONSE" | jq -r '[.labels[].name] | join(", ")')"
|
|
|
|
echo "Issue #${ISSUE_NUM}"
|
|
echo "Title: ${TITLE}"
|
|
echo "Labels: ${LABELS}"
|
|
echo ""
|
|
echo "${BODY}"
|