summaryrefslogtreecommitdiff
path: root/plugins/jira/jira.plugin.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2020-03-02 23:41:09 +0100
committerMarc Cornellà <marc.cornella@live.com>2020-03-02 23:41:09 +0100
commit480f1ecd965c730890492ac9384fe50e193fd98f (patch)
tree6cd4af17652ff00d5fdcc3bce28822380d4b04df /plugins/jira/jira.plugin.zsh
parent10ab2911d35c84c120bae8f4e103b087fe19ce08 (diff)
parent587000ec024b800d968ede14fc01ed28818e4b32 (diff)
downloadzsh-480f1ecd965c730890492ac9384fe50e193fd98f.tar.gz
zsh-480f1ecd965c730890492ac9384fe50e193fd98f.tar.bz2
zsh-480f1ecd965c730890492ac9384fe50e193fd98f.zip
Merge branch 'update/jira-plugin'
Closes #6506 Closes #6950 Closes #7962
Diffstat (limited to 'plugins/jira/jira.plugin.zsh')
-rw-r--r--plugins/jira/jira.plugin.zsh28
1 files changed, 18 insertions, 10 deletions
diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh
index e706948e9..cb46f540b 100644
--- a/plugins/jira/jira.plugin.zsh
+++ b/plugins/jira/jira.plugin.zsh
@@ -63,25 +63,33 @@ function jira() {
else
# Anything that doesn't match a special action is considered an issue name
# but `branch` is a special case that will parse the current git branch
+ local issue_arg issue
if [[ "$action" == "branch" ]]; then
- local issue_arg=$(git rev-parse --abbrev-ref HEAD)
- local issue="${jira_prefix}${issue_arg}"
+ # Get name of the branch
+ issue_arg=$(git rev-parse --abbrev-ref HEAD)
+ # Strip prefixes like feature/ or bugfix/
+ issue_arg=${issue_arg##*/}
+ # Strip suffixes starting with _
+ issue_arg=(${(s:_:)issue_arg})
+ issue_arg=${issue_arg[1]}
+ if [[ "$issue_arg" = ${jira_prefix}* ]]; then
+ issue="${issue_arg}"
+ else
+ issue="${jira_prefix}${issue_arg}"
+ fi
else
- local issue_arg=$action
- local issue="${jira_prefix}${issue_arg}"
+ issue_arg=${(U)action}
+ issue="${jira_prefix}${issue_arg}"
fi
- local url_fragment=''
+
+ local url_fragment
if [[ "$2" == "m" ]]; then
url_fragment="#add-comment"
echo "Add comment to issue #$issue"
else
echo "Opening issue #$issue"
fi
- if [[ "$JIRA_RAPID_BOARD" == "true" ]]; then
- open_command "${jira_url}/issues/${issue}${url_fragment}"
- else
- open_command "${jira_url}/browse/${issue}${url_fragment}"
- fi
+ open_command "${jira_url}/browse/${issue}${url_fragment}"
fi
}