#! /bin/bash # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: BUSL-1.1 set -eo pipefail pr_number=$(gh pr list -H "$(git rev-parse --abbrev-ref HEAD)" -q ".[0].number" --json "number") if [ -z "$pr_number" ]; then echo "Error: Could not find PR number." exit 1 fi # check if this changelog is referencing an enterprise change curdir=$(pwd) filename=".changelog/$pr_number.txt" if [[ ! $curdir == *"enterprise"* ]]; then is_enterprise="n" read -rp "Is this an enterprise PR? (y/n): " is_enterprise if [[ $is_enterprise == "y" ]]; then filename=".changelog/_$pr_number.txt" fi else filename=".changelog/_$pr_number.txt" fi # create a new changelog file touch "$filename" echo "Created a new changelog file for PR $pr_number." # prompt user to pick from list of types of changlog from "breaking-change", "security", "feature", "deprecation", or "bug" echo "Please select the type of change:" echo "1. breaking-change" echo "2. security" echo "3. feature" echo "4. deprecation" echo "5. bug" if [ -z "$1" ]; then read -rp "Enter your choice: " choice else choice=$1 fi type="" case $choice in 1) type="breaking-change" ;; 2) type="security" ;; 3) type="feature" ;; 4) type="deprecation" ;; 5) type="bug" ;; *) echo "Invalid choice. Please select a number from 1 to 5." exit 1 ;; esac msg="" read -erp $'Please enter the changelog message:\n' msg echo -e "\`\`\`release-note:$type\n$msg\n\`\`\`" >>"$filename" echo -e "\nChangelog added to $filename. Contents:\n" cat "$filename"