jira: add README, "emulate -L zsh", add "dumpconfig" action

(The "dumpconfig" action is for verifying the configuration behavior against what's documented in the README now.)
add "error" to some of the error messages
This commit is contained in:
Andrew Janke
2015-09-11 18:37:39 -04:00
parent 9c08641d7c
commit c9af79fcad
3 changed files with 79 additions and 30 deletions

View File

@ -1,35 +1,11 @@
# CLI support for JIRA interaction
#
# Setup:
# Add a .jira-url file in the base of your project
# You can also set $JIRA_URL in your .zshrc or put .jira-url in your home directory
# A .jira-url in the current directory takes precedence.
# The same goes with .jira-prefix and $JIRA_PREFIX.
#
# For example:
# cd to/my/project
# echo "https://name.jira.com" >> .jira-url
#
# Variables:
# $JIRA_RAPID_BOARD - set to "true" if you use Rapid Board
# $JIRA_DEFAULT_ACTION - action to do when `jira` is called witn no args
# defaults to "new"
# $JIRA_NAME - Your JIRA username. Used as default for assigned/reported
# $JIRA_PREFIX - Prefix added to issue ID arguments
#
#
# Usage:
# jira # Performs the default action
# jira new # opens a new issue
# jira reported [username]
# jira assigned [username]
# jira dashboard
# jira ABC-123 # Opens an existing issue
# jira ABC-123 m # Opens an existing issue for adding a comment
# See README.md for details
: ${JIRA_DEFAULT_ACTION:=new}
function jira() {
emulate -L zsh
local action=${1:=$JIRA_DEFAULT_ACTION}
local jira_url jira_prefix
@ -63,6 +39,12 @@ function jira() {
elif [[ "$action" == "dashboard" ]]; then
echo "Opening dashboard"
open_command "${jira_url}/secure/Dashboard.jspa"
elif [[ "$action" == "dumpconfig" ]]; then
echo "JIRA_URL=$jira_url"
echo "JIRA_PREFIX=$jira_prefix"
echo "JIRA_NAME=$JIRA_NAME"
echo "JIRA_RAPID_BOARD=$JIRA_RAPID_BOARD"
echo "JIRA_DEFAULT_ACTION=$JIRA_DEFAULT_ACTION"
else
# Anything that doesn't match a special action is considered an issue name
local issue_arg=$action
@ -84,15 +66,17 @@ function jira() {
function _jira_url_help() {
cat << EOF
JIRA url is not specified anywhere.
error: JIRA URL is not specified anywhere.
Valid options, in order of precedence:
.jira-url file
\$HOME/.jira-url file
JIRA_URL environment variable
\$JIRA_URL environment variable
EOF
}
function _jira_query() {
emulate -L zsh
local verb="$1"
local jira_name lookup preposition query
if [[ "${verb}" == "reported" ]]; then
@ -102,12 +86,12 @@ function _jira_query() {
lookup=assignee
preposition=to
else
echo "not a valid lookup: $verb" >&2
echo "error: not a valid lookup: $verb" >&2
return 1
fi
jira_name=${2:=$JIRA_NAME}
if [[ -z $jira_name ]]; then
echo "JIRA_NAME not specified" >&2
echo "error: JIRA_NAME not specified" >&2
return 1
fi