Skip to content

Instantly share code, notes, and snippets.

@andyjessop
Created June 27, 2024 08:14
Show Gist options
  • Save andyjessop/9acd6da82dafd6bfd314d9c3914dd034 to your computer and use it in GitHub Desktop.
Save andyjessop/9acd6da82dafd6bfd314d9c3914dd034 to your computer and use it in GitHub Desktop.
on-call report
#!/bin/bash
echo "On-Call Report - $(date '+%Y-%m-%d %H:%M:%S')"
echo "================================================"
echo -e "\n## Recently Updated PRs"
echo "------------------------"
gh pr list --limit 10 --json number,url,title,updatedAt --jq 'sort_by(.updatedAt) | reverse | .[] | "[\(.updatedAt)] \(.url): \(.title)"' | sed 's/T/ /; s/Z//'
echo -e "\n## Issues Needing Author Response"
echo "-----------------------------------"
gh issue list --limit 1000 --json number,url,title,updatedAt,labels --jq 'map(select(any(.labels[]; .name == "needs reproduction" or .name == "awaiting reporter response" or .name == "awaiting dev response"))) | sort_by(.updatedAt) | reverse | .[] | "[\(.updatedAt)] \(.url): \(.title) - Labels: \(.labels | map(.name) | join(", "))"' | sed 's/T/ /; s/Z//'
echo -e "\n## Approved PRs Ready for Merge"
echo "---------------------------------"
gh pr list --limit 1000 --json number,url,title,updatedAt,reviewDecision,isDraft,labels --search "review:approved -label:blocked -is:draft" --jq 'sort_by(.updatedAt) | reverse | .[] | "[\(.updatedAt)] \(.url): \(.title) - Labels: \(.labels | map(.name) | join(", "))"' | sed 's/T/ /; s/Z//'
echo -e "\n## Issues Needing Cloudflare Response"
echo "---------------------------------------"
gh issue list --limit 1000 --json number,url,title,updatedAt,labels --jq 'map(select(any(.labels[]; .name == "awaiting Cloudflare Response"))) | sort_by(.updatedAt) | reverse | .[] | "[\(.updatedAt)] \(.url): \(.title) - Labels: \(.labels | map(.name) | join(", "))"' | sed 's/T/ /; s/Z//'
echo -e "\n## PRs Needing Cloudflare Response"
echo "------------------------------------"
gh pr list --limit 1000 --json number,url,title,updatedAt,labels,state --search "label:\"awaiting Cloudflare response\"" --jq 'sort_by(.updatedAt) | reverse | .[] | "[\(.updatedAt)] \(.url): \(.title) - State: \(.state) - Labels: \(.labels | map(.name) | join(", "))"' | sed 's/T/ /; s/Z//'
echo -e "\nEnd of Report"
echo "================================================"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment