From c95fea0946ce4250ed1feae11eb3d91f8148b2a8 Mon Sep 17 00:00:00 2001 From: copilotcoder Date: Thu, 28 May 2026 13:02:54 -0400 Subject: [PATCH] Forgot a script. Signed-off-by: copilotcoder --- scripts/dispatch-workflow.sh | 92 ++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100755 scripts/dispatch-workflow.sh diff --git a/scripts/dispatch-workflow.sh b/scripts/dispatch-workflow.sh new file mode 100755 index 0000000..3f30632 --- /dev/null +++ b/scripts/dispatch-workflow.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +set -euo pipefail + +API_BASE="http://kankali.darkhelm.lan:3000/api/v1" +TOKEN="" +REPO_FULL="" +WORKFLOW_FILE="" +TARGET_REF="" +HEAD_SHA="" +SOURCE_WORKFLOW="" +BASE_NEEDED="" + +while [[ $# -gt 0 ]]; do + case "$1" in + --api-base) + API_BASE="$2" + shift 2 + ;; + --token) + TOKEN="$2" + shift 2 + ;; + --repo) + REPO_FULL="$2" + shift 2 + ;; + --workflow) + WORKFLOW_FILE="$2" + shift 2 + ;; + --ref) + TARGET_REF="$2" + shift 2 + ;; + --head-sha) + HEAD_SHA="$2" + shift 2 + ;; + --source-workflow) + SOURCE_WORKFLOW="$2" + shift 2 + ;; + --base-needed) + BASE_NEEDED="$2" + shift 2 + ;; + *) + echo "Unknown argument: $1" >&2 + exit 2 + ;; + esac +done + +if [[ -z "$TOKEN" || -z "$REPO_FULL" || -z "$WORKFLOW_FILE" || -z "$TARGET_REF" || -z "$HEAD_SHA" || -z "$SOURCE_WORKFLOW" ]]; then + echo "Missing required arguments" >&2 + exit 2 +fi + +REPO_OWNER="${REPO_FULL%/*}" +REPO_NAME="${REPO_FULL#*/}" + +if [[ -n "$BASE_NEEDED" ]]; then + PAYLOAD=$(cat <