nicoorfi
10/7/2019 - 8:47 AM

CLI Git release

Manual

  1. Create a personal access token through GitHub UI, we only need "Repo" access

  2. Place it in your config by "git config --global github.token YOUR_TOKEN"

  3. Use bash script to make CURL request sh git-release.sh "1.5.0" "Test description"

#!/bin/bash

version=$1
text=$2
branch=$(git rev-parse --abbrev-ref HEAD)
repo_full_name=$(git config --get remote.origin.url | sed 's/.*:\/\/github.com\///;s/.git$//')
token=$(git config --global github.token)

generate_post_data()
{
  cat <<EOF
{
  "tag_name": "$version",
  "target_commitish": "$branch",
  "name": "$version",
  "body": "$text",
  "draft": false,
  "prerelease": false
}
EOF
}

echo "Create release $version for repo: $repo_full_name branch: $branch"
curl --data "$(generate_post_data)" "https://api.github.com/repos/$repo_full_name/releases?access_token=$token"