summaryrefslogtreecommitdiff
path: root/plugins/jira/jira.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jira/jira.plugin.zsh')
-rw-r--r--plugins/jira/jira.plugin.zsh33
1 files changed, 25 insertions, 8 deletions
diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh
index 341e23ec0..052481a60 100644
--- a/plugins/jira/jira.plugin.zsh
+++ b/plugins/jira/jira.plugin.zsh
@@ -2,13 +2,21 @@
#
# See README.md for details
-: ${JIRA_DEFAULT_ACTION:=new}
-
function jira() {
emulate -L zsh
- local action=${1:=$JIRA_DEFAULT_ACTION}
+ local action jira_url jira_prefix
+ if [[ -n "$1" ]]; then
+ action=$1
+ elif [[ -f .jira-default-action ]]; then
+ action=$(cat .jira-default-action)
+ elif [[ -f ~/.jira-default-action ]]; then
+ action=$(cat ~/.jira-default-action)
+ elif [[ -n "${JIRA_DEFAULT_ACTION}" ]]; then
+ action=${JIRA_DEFAULT_ACTION}
+ else
+ action="new"
+ fi
- local jira_url jira_prefix
if [[ -f .jira-url ]]; then
jira_url=$(cat .jira-url)
elif [[ -f ~/.jira-url ]]; then
@@ -38,7 +46,11 @@ function jira() {
_jira_query $@
elif [[ "$action" == "dashboard" ]]; then
echo "Opening dashboard"
- open_command "${jira_url}/secure/Dashboard.jspa"
+ if [[ "$JIRA_RAPID_BOARD" == "true" ]]; then
+ open_command "${jira_url}/secure/RapidBoard.jspa"
+ else
+ open_command "${jira_url}/secure/Dashboard.jspa"
+ fi
elif [[ "$action" == "dumpconfig" ]]; then
echo "JIRA_URL=$jira_url"
echo "JIRA_PREFIX=$jira_prefix"
@@ -47,8 +59,14 @@ function jira() {
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
- local issue="${jira_prefix}${issue_arg}"
+ # but `branch` is a special case that will parse the current git branch
+ if [[ "$action" == "branch" ]]; then
+ local issue_arg=$(git rev-parse --abbrev-ref HEAD)
+ local issue="${jira_prefix}${issue_arg}"
+ else
+ local issue_arg=$action
+ local issue="${jira_prefix}${issue_arg}"
+ fi
local url_fragment=''
if [[ "$2" == "m" ]]; then
url_fragment="#add-comment"
@@ -99,4 +117,3 @@ function _jira_query() {
query="${lookup}+%3D+%22${jira_name}%22+AND+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC"
open_command "${jira_url}/secure/IssueNavigator.jspa?reset=true&jqlQuery=${query}"
}
-