From 871b28ef57c3ffcd333cd86ed9a67299a333d04d Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Fri, 13 Mar 2026 08:40:57 -0400 Subject: add my two best jira-cli scripts --- .local/bin/jira-CR.php | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 .local/bin/jira-CR.php (limited to '.local/bin/jira-CR.php') diff --git a/.local/bin/jira-CR.php b/.local/bin/jira-CR.php new file mode 100755 index 0000000..e87d265 --- /dev/null +++ b/.local/bin/jira-CR.php @@ -0,0 +1,79 @@ +#!/usr/bin/env php + 38) { + $title = substr($title,0,35)."..."; + } + $author = $pr['author']['login']; + + // Show approvers + $review_status = ""; + + $changeNames = []; + foreach ($pr['reviews'] as $r) { + if ($r['state'] === "CHANGES_REQUESTED") { + $changeNames[] = $r['author']['login']; + } + } + $changes = $changeNames ? (str_repeat("❌", count($changeNames)) . ": " . implode(", ", $changeNames) . '. ') : ''; + + $requestNames = []; + foreach ($pr['reviewRequests'] as $rr) { + if ($rr['__typename'] === "Team") { + $requestNames[] = $rr['name']; + } else { + $requestNames[] = $rr['login']; + } + } + $reviewRequests = $requestNames ? (str_repeat("🟡", count($requestNames)) . ": " . implode(", ", $requestNames) . '. ') : ''; + + $approvers = []; + foreach ($pr['reviews'] as $r) { + if ($r['state'] === "APPROVED") { + $approvers[] = $r['author']['login']; + } + } + $approvals = $approvers ? (str_repeat("✅", count($approvers)) . ": " . implode(", ", $approvers) . '. ') : ''; + + $commentNames = []; + foreach ($pr['reviews'] as $r) { + $newName = $r['author']['login']; + if ($r['state'] === "COMMENTED" && !in_array($newName, $approvers) && !in_array($newName, $requestNames) && $newName != $author) { + $commentNames[] = $newName; + } + } + $commentNames = array_unique($commentNames); + $comments = $commentNames ? (str_repeat("💬", count($commentNames)) . ": " . implode(", ", $commentNames) . '. ') : ''; + + $review_status = $changes . $reviewRequests . $approvals . $comments; + // Show review requested for + // show other review statuses + + echo "$pr[url]?T=$title($author)\t$review_status\n"; + } +} +exit(1); + + -- cgit 1.4.1