diff options
| -rwxr-xr-x | redprine | 32 | 
1 files changed, 19 insertions, 13 deletions
| @@ -11,6 +11,7 @@ GITHUB_OWNER_REPO=''  REDMINE_BASE_URL=''  REDMINE_TOKEN='' +REDMINE_JSON_PARAMS=''  XDG_DATA_HOME=${XDG_DATA_HOME:-"${HOME}/.local/share"}  REDPRINE_DATA_DIR=${REDPRINE_DATA_DIR:-"${XDG_DATA_HOME}/redprine"} @@ -19,7 +20,7 @@ CACHE_FILE="${REDPRINE_DATA_DIR}/${GITHUB_OWNER_REPO/\//--}.json"  function print_usage () {  	cat 1>&2 <<__EOF__ -Usage: redprine --github-token TOKEN --github-username USERNAME --github-owner-repo OWNER_REPO --redmine-base-url URL --redmine-token TOKEN +Usage: redprine --github-token TOKEN --github-username USERNAME --github-owner-repo OWNER_REPO --redmine-base-url URL --redmine-token TOKEN --redmine-json-params EXEC  Flags:        --github-token=TOKEN            GitHub API token with pull request access. @@ -29,6 +30,9 @@ Flags:        --redmine-base-url=URL          Base Redmine URL                                        (e.g. 'https://redmine.eaglejump.co').        --redmine-token=TOKEN           Redmine account API key +      --redmine-json-params=EXEC      Bash-executable string that outputs JSON +                                      as a parameter for updating issues. +                                      Argument '\$0' is the pull request URL.    -h, --help                          Show this help.    -v, --version                       Show application version.  __EOF__ @@ -142,18 +146,7 @@ function update_redmine_status () {  		cut -d '	' -f 2 -  	) -	# status_id=14  # Review -	# done_ratio=100 -	# issue[custom_field_values][11]  # Pull Request -	local json="{ -		\"issue\": { -			\"status_id\": 14, -			\"done_ratio\": 100, -			\"custom_field_values\": { -				\"11\": \"$pull_request_link\" -			} -		} -	}" +	local json=$(bash -c "$REDMINE_JSON_PARAMS" "$pull_request_link")  	local status_code=$(  		curl \ @@ -284,6 +277,18 @@ function parse_arguments () {  			shift  			continue  			;; +		--redmine-json-params) +			REDMINE_JSON_PARAMS="$2" + +			shift 2 +			continue +			;; +		--redmine-json-params=*) +			REDMINE_JSON_PARAMS="${1##--redmine-json-params=}" + +			shift +			continue +			;;  		-h | --help)  			print_usage @@ -305,6 +310,7 @@ function parse_arguments () {  	check_required_argument '--github-owner-repo' "$GITHUB_OWNER_REPO"  	check_required_argument '--redmine-base-url' "$REDMINE_BASE_URL"  	check_required_argument '--redmine-token' "$REDMINE_TOKEN" +	check_required_argument '--redmine-json-params' "$REDMINE_JSON_PARAMS"  } | 
