jiragetinactivecomponentleads/getInactiveComponentLead.sh
2025-01-22 12:41:12 -08:00

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