diff --git a/entrypoint.sh b/entrypoint.sh index f44d414..4a4bc8c 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -10,6 +10,8 @@ usage_docs() { echo " github_token: \${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }}" echo " workflow_file_name: main.yaml" } +GITHUB_API_URL="${API_URL:-https://api.github.com}" +GITHUB_SERVER_URL="${SERVER_URL:-https://github.com}" validate_args() { wait_interval=10 # Waits for 10 seconds @@ -80,9 +82,9 @@ validate_args() { } trigger_workflow() { - echo "https://api.github.com/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/dispatches" + echo "${GITHUB_API_URL}/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/dispatches" - curl -X POST "https://api.github.com/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/dispatches" \ + curl -X POST "${GITHUB_API_URL}/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/dispatches" \ -H "Accept: application/vnd.github.v3+json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${INPUT_GITHUB_TOKEN}" \ @@ -104,12 +106,12 @@ wait_for_workflow_to_finish() { do echo "Using the following params to filter the workflow runs to get the triggered run id -" echo "Query params: ${query}" - last_workflow=$(curl -X GET "https://api.github.com/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/runs?${query}" \ + last_workflow=$(curl -X GET "${GITHUB_API_URL}/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/runs?${query}" \ -H 'Accept: application/vnd.github.antiope-preview+json' \ -H "Authorization: Bearer ${INPUT_GITHUB_TOKEN}" | jq '[.workflow_runs[]] | first') done last_workflow_id=$(echo "${last_workflow}" | jq '.id') - last_workflow_url="https://github.com/${INPUT_OWNER}/${INPUT_REPO}/actions/runs/${last_workflow_id}" + last_workflow_url="${GITHUB_SERVER_URL}/${INPUT_OWNER}/${INPUT_REPO}/actions/runs/${last_workflow_id}" echo "The workflow id is [${last_workflow_id}]." echo "The workflow logs can be found at ${last_workflow_url}" echo "::set-output name=workflow_id::${last_workflow_id}" @@ -122,7 +124,7 @@ wait_for_workflow_to_finish() { do echo "Sleeping for \"${wait_interval}\" seconds" sleep "${wait_interval}" - workflow=$(curl -X GET "https://api.github.com/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/runs" \ + workflow=$(curl -X GET "${GITHUB_API_URL}/repos/${INPUT_OWNER}/${INPUT_REPO}/actions/workflows/${INPUT_WORKFLOW_FILE_NAME}/runs" \ -H 'Accept: application/vnd.github.antiope-preview+json' \ -H "Authorization: Bearer ${INPUT_GITHUB_TOKEN}" | jq '.workflow_runs[] | select(.id == '${last_workflow_id}')') conclusion=$(echo "${workflow}" | jq '.conclusion')