37 lines
1.2 KiB
Bash
37 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Jira Cloud base URL (replace <your-domain> with your actual domain)
|
|
jira_base_url="https://<your-domain>.atlassian.net"
|
|
|
|
# Update these with your actual Jira Cloud credentials
|
|
username="email@example.com"
|
|
api_token="YOUR_API_TOKEN"
|
|
|
|
# Replace this with your project key
|
|
project_key="PROJECTKEY"
|
|
|
|
# 1. Pull a project's component list
|
|
# Note the 'api/3' in the URL.
|
|
raw_data=$(curl -s -X GET \
|
|
-u "$username:$api_token" \
|
|
-H "Content-Type: application/json" \
|
|
"$jira_base_url/rest/api/3/project/$project_key/components")
|
|
|
|
# 2. Create a mapping of component ID, component name, and the assignee (lead) info
|
|
# Using jq to parse out the information: .id, .name, .lead.name, and .lead.active
|
|
component_data=$(echo "$raw_data" | \
|
|
jq -c '.[] | {id: .id, name: .name, lead: {name: .lead.name, active: .lead.active}}')
|
|
|
|
# 3. Check components for inactive leads
|
|
echo "Components with inactive leads:"
|
|
IFS=$'\n'
|
|
for component in $component_data; do
|
|
lead_active=$(echo "$component" | jq -r '.lead.active')
|
|
|
|
if [ "$lead_active" = "false" ]; then
|
|
component_name=$(echo "$component" | jq -r '.name')
|
|
lead_name=$(echo "$component" | jq -r '.lead.name')
|
|
echo "Component: $component_name, Inactive lead: $lead_name"
|
|
fi
|
|
done
|