jirasetcomponentcsv/setComponentCSV.sh
2023-05-10 20:32:00 +00:00

34 lines
1.3 KiB
Bash

#!/bin/bash
jira_base_url="https://jira.someserver.com"
username="usernName"
password="passWord !@#"
csv_file="components.csv"
# Read the CSV file line by line
while IFS='|' read -r project_key component_name user_id; do
# Remove carriage return characters from the component_name
component_name=$(echo "$component_name" | tr -d '\r')
# Get the component ID from Jira API using project_key and component_name
raw_data=$(curl -s -X GET \
-u "$username:$password" \
-H "Content-Type: application/json" \
"$jira_base_url/rest/api/2/project/$project_key/components")
component_id=$(echo "$raw_data" | jq -r --arg component_name "$component_name" '.[] | select(.name == $component_name) | .id')
echo "Updating project $project_key, component $component_name with new lead $user_id..."
# Update the component lead using the component ID and user ID
curl -s -X PUT \
-u "$username:$password" \
-H "Content-Type: application/json" \
-d "{\"leadUserName\":\"$user_id\", \"assigneeType\": \"COMPONENT_LEAD\"}" \
"$jira_base_url/rest/api/2/component/$component_id" > /dev/null
# Output the updated information with a timestamp
timestamp=$(date '+%Y-%m-%d %H:%M:%S')
echo "Updated project $project_key, component $component_name with new lead $user_id at $timestamp"
done < "$csv_file"