#!/bin/bash set -eu # ensure 1 argument is passed if [ "$#" -ne 1 ]; then echo "Usage: $0 " exit 1 fi PR_NUMBER=$1 OLD=/tmp/orig_pr_body.txt NEW=/tmp/new_pr_body.txt gh pr view --json body --template "{{.body}}" "${PR_NUMBER}" > "${OLD}" cp "${OLD}" "${NEW}" # Remove markdown comments (like the at the start) sed -i '/$/d' "${NEW}" # Remove "PLEASE FILL IN THE PR DESCRIPTION HERE ENSURING ALL CHECKLIST ITEMS (AT THE BOTTOM) HAVE BEEN CONSIDERED." sed -i '/PLEASE FILL IN THE PR DESCRIPTION HERE.*$/d' "${NEW}" # Remove all lines after and including "**BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE**" sed -i '/\*\*BEFORE SUBMITTING, PLEASE READ.*\*\*/,$d' "${NEW}" # Remove HTML
section that includes text of "PR Checklist (Click to Expand)" python3 - <.*?.*?PR Checklist \(Click to Expand\).*?.*?
', re.DOTALL) content = re.sub(pattern, '', content) with open("${NEW}", "w") as file: file.write(content) EOF # Run this only if ${NEW} is different than ${OLD} if ! cmp -s "${OLD}" "${NEW}"; then gh pr edit --body-file "${NEW}" "${PR_NUMBER}" echo echo "Updated PR body:" echo cat "${NEW}" else echo "No changes needed" fi