#!/bin/bash curl -sLO https://github.com/mike-engel/jwt-cli/releases/latest/download/jwt-linux.tar.gz tar xzf jwt-linux.tar.gz curl -sLO https://github.com/stedolan/jq/releases/latest/download/jq-linux64 mv jq-linux64 jq chmod +x jq app_id=157615 private_key_file=my-tiny-github-app.2021-12-09.private-key.pem exp=$(date -d '10 minutes' +%s) # If your machine doesn't have GNU date command, uncomment below # exp=$(perl -e 'print time + 60*10') JWT=$(./jwt encode --alg RS256 --exp $exp --iss $app_id --secret @$private_key_file) curl -i -H "Authorization: Bearer $JWT" https://api.github.com/app curl -i -H "Authorization: Bearer $JWT" https://api.github.com/app/installations curl -H "Authorization: Bearer $JWT" https://api.github.com/app/installations > installations.json access_tokens_url=$(./jq -r '.[].access_tokens_url' installations.json) curl -i -X POST -H "Authorization: Bearer $JWT" $access_tokens_url curl -X POST -H "Authorization: Bearer $JWT" $access_tokens_url > access_tokens.json access_token=$(./jq -r '.token' access_tokens.json) curl -H "Authorization: token $access_token" https://api.github.com/repos/kyanny/test/issues | ./jq '.[].title'