From c8f585b5d827500d3663edb8450b376d677226ea Mon Sep 17 00:00:00 2001 From: Alexander Tomokhov Date: Tue, 9 Jan 2024 01:31:49 +0400 Subject: [PATCH] universal GraphQL query.sh script --- query.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 query.sh diff --git a/query.sh b/query.sh new file mode 100755 index 0000000..51b0927 --- /dev/null +++ b/query.sh @@ -0,0 +1,30 @@ +#! /usr/bin/env bash + +set -o errtrace +set -o nounset +set -o pipefail +shopt -s inherit_errexit +trap 'echo $LINENO: "$BASH_COMMAND"; exit 1' ERR + +: "${DOMAIN:?specify domain name}" +readonly AUTH_HEADER="Authorization: Bearer ${API_TOKEN}" +QUERY="$1" + +REQUEST=$(cat << EOF +{ + "query": "$(echo $QUERY)", + "variables": null +} +EOF +) +readonly REQUEST + +if RESPONSE="$(curl --fail-with-body --show-error -s "https://api.$DOMAIN/graphql" \ +--compressed \ +-H 'Content-Type: application/json' \ +--data-raw "$REQUEST" -k -H "$AUTH_HEADER")" +then + jq --sort-keys <<<"$RESPONSE" +else + echo "$RESPONSE" +fi