diff --git a/action.yml b/action.yml index 27df515..5103a71 100644 --- a/action.yml +++ b/action.yml @@ -18,6 +18,10 @@ inputs: description: "Custom API base URL (for OpenAI-compatible providers). Ignored for built-in providers." required: false default: "" + server_url: + description: "Override the Gitea/GitHub server URL used for API calls (e.g. http://server:3000 for internal routing inside the runner). Defaults to the auto-detected server URL." + required: false + default: "" token: description: "Git platform token for posting PR comments" required: true diff --git a/entrypoint.sh b/entrypoint.sh index e5589de..e64cf22 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -11,6 +11,7 @@ export PI_API_KEY="${INPUT_API_KEY}" export PI_PROVIDER="${INPUT_PROVIDER:-zai}" export PI_MODEL="${INPUT_MODEL:-glm-5.1}" export PI_BASE_URL="${INPUT_BASE_URL:-}" +export PI_SERVER_URL="${INPUT_SERVER_URL:-}" export PI_TOOLS="${INPUT_TOOLS:-read,grep,find,ls}" export PI_REVIEW_PROMPT="${INPUT_REVIEW_PROMPT:-}" export PI_EXCLUDE="${INPUT_EXCLUDE_PATTERNS:-*.lock package-lock.json yarn.lock pnpm-lock.yaml *.min.js *.min.css *.map}" diff --git a/scripts/review.sh b/scripts/review.sh index 66c5d65..4c78695 100755 --- a/scripts/review.sh +++ b/scripts/review.sh @@ -86,7 +86,12 @@ REPO="${GITHUB_REPOSITORY:-${GITEA_REPOSITORY:-}}" # Detect Gitea vs GitHub. Gitea sets $GITHUB_SERVER_URL too, so the only # reliable signal is $GITEA_ACTIONS (or a non-github.com server URL). -SERVER_URL="${GITHUB_SERVER_URL:-${GITEA_SERVER_URL:-}}" +# +# $PI_SERVER_URL (server_url input) overrides the auto-detected server URL. +# Gitea reports its *external* hostname (e.g. git.example.com), which may not +# be routable from inside the runner's container network. Setting server_url +# to the internal address (e.g. http://server:3000) fixes API calls. +SERVER_URL="${PI_SERVER_URL:-${GITHUB_SERVER_URL:-${GITEA_SERVER_URL:-}}}" if [ -n "${GITEA_ACTIONS:-}" ] || { [ -n "$SERVER_URL" ] && [ "${SERVER_URL#*github.com}" = "$SERVER_URL" ]; }; then API_BASE="${SERVER_URL}/api/v1" PLATFORM="gitea"