1111# --targetComponent <component> \
1212# --targetAccountGroup <group> \
1313# --terraformAction <action> \
14- # --internalRef <ref>
14+ # --internalRef <ref> \
15+ # --overrides <overrides> \
16+ # --overrideProjectName <name> \
17+ # --overrideRoleName <name>
18+
1519#
1620# All arguments are required except terraformAction, and internalRef.
1721# Example:
1822# ./dispatch_internal_repo_workflow.sh \
19- # --infraRepoName "nhs-notify-iam-webauth " \
23+ # --infraRepoName "nhs-notify-web-template-management " \
2024# --releaseVersion "v1.2.3" \
2125# --targetWorkflow "deploy.yaml" \
2226# --targetEnvironment "prod" \
2327# --targetComponent "web" \
2428# --targetAccountGroup "core" \
2529# --terraformAction "apply" \
26- # --internalRef "main"
30+ # --internalRef "main" \
31+ # --overrides "tf_var=someString" \
32+ # --overrideProjectName nhs \
33+ # --overrideRoleName nhs-service-iam-role
2734
2835set -e
2936
@@ -65,6 +72,14 @@ while [[ $# -gt 0 ]]; do
6572 overrides=" $2 "
6673 shift 2
6774 ;;
75+ --overrideProjectName) # Override the project name (optional)
76+ overrideProjectName=" $2 "
77+ shift 2
78+ ;;
79+ --overrideRoleName) # Override the role name (optional)
80+ overrideRoleName=" $2 "
81+ shift 2
82+ ;;
6883 * )
6984 echo " [ERROR] Unknown argument: $1 "
7085 exit 1
@@ -96,6 +111,9 @@ echo " targetAccountGroup: $targetAccountGroup"
96111echo " terraformAction: $terraformAction "
97112echo " internalRef: $internalRef "
98113echo " overrides: $overrides "
114+ echo " overrideProjectName: $overrideProjectName "
115+ echo " overrideRoleName: $overrideRoleName "
116+ echo " targetProject: $targetProject "
99117
100118DISPATCH_EVENT=$( jq -ncM \
101119 --arg infraRepoName " $infraRepoName " \
@@ -106,11 +124,17 @@ DISPATCH_EVENT=$(jq -ncM \
106124 --arg terraformAction " $terraformAction " \
107125 --arg targetWorkflow " $targetWorkflow " \
108126 --arg overrides " $overrides " \
127+ --arg overrideProjectName " $overrideProjectName " \
128+ --arg overrideRoleName " $overrideRoleName " \
129+ --arg targetProject " $targetProject " \
109130 ' {
110131 "ref": "' " $internalRef " ' ",
111132 "inputs": (
112133 (if $infraRepoName != "" then { "infraRepoName": $infraRepoName } else {} end) +
113134 (if $terraformAction != "" then { "terraformAction": $terraformAction } else {} end) +
135+ (if $overrideProjectName != "" then { "overrideProjectName": $overrideProjectName } else {} end) +
136+ (if $overrideRoleName != "" then { "overrideRoleName": $overrideRoleName } else {} end) +
137+ (if $targetProject != "" then { "targetProject": $targetProject } else {} end) +
114138 {
115139 "releaseVersion": $releaseVersion,
116140 "targetEnvironment": $targetEnvironment,
@@ -123,7 +147,6 @@ DISPATCH_EVENT=$(jq -ncM \
123147
124148echo " [INFO] Triggering workflow '$targetWorkflow ' in nhs-notify-internal..."
125149
126- set -x
127150trigger_response=$( curl -s -L \
128151 --fail \
129152 -X POST \
@@ -132,7 +155,6 @@ trigger_response=$(curl -s -L \
132155 -H " X-GitHub-Api-Version: 2022-11-28" \
133156 " https://api.github.com/repos/NHSDigital/nhs-notify-internal/actions/workflows/$targetWorkflow /dispatches" \
134157 -d " $DISPATCH_EVENT " 2>&1 )
135- set +x
136158
137159if [[ $? -ne 0 ]]; then
138160 echo " [ERROR] Failed to trigger workflow. Response: $trigger_response "
@@ -147,6 +169,7 @@ sleep 10 # Wait a few seconds before checking for the presence of the api to acc
147169workflow_run_url=" "
148170
149171for _ in {1..18}; do
172+
150173 response=$( curl -s -L \
151174 -H " Accept: application/vnd.github+json" \
152175 -H " Authorization: Bearer ${PR_TRIGGER_PAT} " \
0 commit comments