diff --git a/graphql-add-discussion-comment.sh b/graphql-add-discussion-comment.sh new file mode 100755 index 00000000..f28b33b1 --- /dev/null +++ b/graphql-add-discussion-comment.sh @@ -0,0 +1,30 @@ +. ./.gh-api-examples.conf + +# https://docs.github.com/en/graphql/reference/mutations#adddiscussioncomment +# https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions + + +ts=$(date +%s) +repository_id=$(./list-repo.sh | jq '.node_id') +discussion_id=$(./graphql-list-repository-discussions.sh | jq '[.data.repository.discussions.nodes[].id] | max') + +discussion_title="The Power Discussion ${ts} 💎" +discussion_comment_body="A discussion comment 🍇ðŸĶī" + +set -x +read -r -d '' graphql_script <<- EOF +mutation { + addDiscussionComment( input: {discussionId: $discussion_id, body: $discussion_comment_body }) { + comment { + body + } +}" +EOF + +# Escape quotes and reformat script to a single line +graphql_script="$(echo ${graphql_script//\"/\\\"})" + +curl ${curl_custom_flags} \ + -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: Bearer ${GITHUB_TOKEN}" \ + "${GITHUB_APIV4_BASE_URL}" -d "{ \"query\": \"$graphql_script\"}" diff --git a/graphql-create-repo-discussion.sh b/graphql-create-repo-discussion.sh index 02cb9e1d..4f0b97e7 100755 --- a/graphql-create-repo-discussion.sh +++ b/graphql-create-repo-discussion.sh @@ -3,14 +3,15 @@ # https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions +ts=$(date +%s) repository_id=$(./list-repo.sh | jq '.node_id') category_id=$(./graphql-discussion-categories.sh | jq -r '.data.repository.discussionCategories.nodes[] | select(.name == "General") | .id') -ts=$(date +%s) -title="The Power Discussion ${ts}" +discussion_title="The Power Discussion ${ts} 💎" +discussion_body="The body of a discussion 🎈🎈🎈" read -r -d '' graphql_script <<- EOF mutation { - createDiscussion(input: {repositoryId: $repository_id, categoryId: "$category_id", title: "$title", body: "The body", }) { + createDiscussion(input: {repositoryId: $repository_id, categoryId: "$category_id", title: "$discussion_title", body: "$discussion_body", }) { discussion { id }