-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplatform_data.sh
executable file
·67 lines (50 loc) · 2.2 KB
/
platform_data.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# inputs
url=http://<ip> # https://12.1.2.31
username=<username> # harness username
password=<password> # harness user password
organizationCount=<count> # 5
projectCount=<count> # 2 (per organization)
# login
b64Str=$(printf "%s" "$username:$password" | base64)
LOGIN_RESULT=$(curl --location "$url/gateway/api/users/login" \
--header 'content-type: application/json' \
--data "{\"authorization\":\"Basic $b64Str\"}")
accountId=(`echo ${LOGIN_RESULT} | grep -o '"defaultAccountId":"[^"]*' | cut -d : -f2 | cut -d "\"" -f2`)
token=(`echo ${LOGIN_RESULT} | grep -o '"token":"[^"]*' | cut -d : -f2 | cut -d "\"" -f2`)
# Create Organizations and projects
orgUrl="$url/gateway/ng/api/organizations?accountIdentifier=$accountId"
projectUrl="$url/gateway/ng/api/projects?routingId=$accountId&accountIdentifier=$accountId&orgIdentifier="
for ((index = 1; index <= $organizationCount; index++)); do
orgName="harness_organization_${index}"
json_data='{
"organization": {
"name": "'"${orgName}"'",
"description": "",
"identifier": "'"${orgName}"'",
"tags": {} } }'
response=$(curl --location --request POST "$orgUrl" \
--header "authorization: Bearer $token" \
--header "content-type: application/json" \
--data-raw "$json_data")
echo "\\n# adding harness_organization_$index"
echo "$response\\n"
projectFinal="${projectUrl}${orgName}"
for ((projectIndex = 1; $projectIndex <= $projectCount; projectIndex++)); do
projectName="harness_project_${projectIndex}"
json_data_project='{
"project": {
"name": "'"${projectName}"'",
"orgIdentifier": "'"${orgName}"'",
"color": "#0063f7",
"description": "",
"identifier": "'"${projectName}"'",
"tags": {},
"modules": [] } }'
projectResponse=$(curl --location --request POST "$projectFinal" \
--header "authorization: Bearer $token" \
--header "content-type: application/json" \
--data-raw "$json_data_project")
echo "\\n# adding harness_project_$projectIndex in harness_organization_$index"
echo "$projectResponse\\n"
done
done