|
@@ -1,35 +1,11 @@
|
|
# CLI support for JIRA interaction
|
|
# 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}
|
|
: ${JIRA_DEFAULT_ACTION:=new}
|
|
|
|
|
|
function jira() {
|
|
function jira() {
|
|
|
|
+ emulate -L zsh
|
|
local action=${1:=$JIRA_DEFAULT_ACTION}
|
|
local action=${1:=$JIRA_DEFAULT_ACTION}
|
|
|
|
|
|
local jira_url jira_prefix
|
|
local jira_url jira_prefix
|
|
@@ -63,6 +39,12 @@ function jira() {
|
|
elif [[ "$action" == "dashboard" ]]; then
|
|
elif [[ "$action" == "dashboard" ]]; then
|
|
echo "Opening dashboard"
|
|
echo "Opening dashboard"
|
|
open_command "${jira_url}/secure/Dashboard.jspa"
|
|
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
|
|
else
|
|
# Anything that doesn't match a special action is considered an issue name
|
|
# Anything that doesn't match a special action is considered an issue name
|
|
local issue_arg=$action
|
|
local issue_arg=$action
|
|
@@ -84,15 +66,17 @@ function jira() {
|
|
|
|
|
|
function _jira_url_help() {
|
|
function _jira_url_help() {
|
|
cat << EOF
|
|
cat << EOF
|
|
-JIRA url is not specified anywhere.
|
|
|
|
|
|
+error: JIRA URL is not specified anywhere.
|
|
|
|
+
|
|
Valid options, in order of precedence:
|
|
Valid options, in order of precedence:
|
|
.jira-url file
|
|
.jira-url file
|
|
\$HOME/.jira-url file
|
|
\$HOME/.jira-url file
|
|
- JIRA_URL environment variable
|
|
|
|
|
|
+ \$JIRA_URL environment variable
|
|
EOF
|
|
EOF
|
|
}
|
|
}
|
|
|
|
|
|
function _jira_query() {
|
|
function _jira_query() {
|
|
|
|
+ emulate -L zsh
|
|
local verb="$1"
|
|
local verb="$1"
|
|
local jira_name lookup preposition query
|
|
local jira_name lookup preposition query
|
|
if [[ "${verb}" == "reported" ]]; then
|
|
if [[ "${verb}" == "reported" ]]; then
|
|
@@ -102,12 +86,12 @@ function _jira_query() {
|
|
lookup=assignee
|
|
lookup=assignee
|
|
preposition=to
|
|
preposition=to
|
|
else
|
|
else
|
|
- echo "not a valid lookup: $verb" >&2
|
|
|
|
|
|
+ echo "error: not a valid lookup: $verb" >&2
|
|
return 1
|
|
return 1
|
|
fi
|
|
fi
|
|
jira_name=${2:=$JIRA_NAME}
|
|
jira_name=${2:=$JIRA_NAME}
|
|
if [[ -z $jira_name ]]; then
|
|
if [[ -z $jira_name ]]; then
|
|
- echo "JIRA_NAME not specified" >&2
|
|
|
|
|
|
+ echo "error: JIRA_NAME not specified" >&2
|
|
return 1
|
|
return 1
|
|
fi
|
|
fi
|
|
|
|
|