open-vault/.github/scripts/gh_comment.sh

38 lines
1.2 KiB
Bash

#!/bin/bash
set -e
function update_or_create_comment {
REPO=$1
PR_NUMBER=$2
SEARCH_KEY=$3
BODY=$4
# We only want for the GH bot to place one comment to report build failures
# and if we rerun a job, that comment needs to be updated.
# Let's try to find if the GH bot has placed a similar comment
comment_id=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--paginate \
/repos/hashicorp/"$REPO"/issues/"$PR_NUMBER"/comments | jq -r --arg SEARCH_KEY "$SEARCH_KEY" '.[] | select (.body | contains($SEARCH_KEY)) | .id')
if [[ "$comment_id" != "" ]]; then
# update the comment with the new body
gh api \
--method PATCH \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/hashicorp/"$REPO"/issues/comments/"$comment_id" \
-f body="$BODY"
else
# create a comment with the new body
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/hashicorp/"$REPO"/issues/"$PR_NUMBER"/comments \
-f body="$BODY"
fi
}