diff options
author | Marc Cornellà <marc.cornella@live.com> | 2020-03-02 23:41:09 +0100 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2020-03-02 23:41:09 +0100 |
commit | 480f1ecd965c730890492ac9384fe50e193fd98f (patch) | |
tree | 6cd4af17652ff00d5fdcc3bce28822380d4b04df /plugins/jira/jira.plugin.zsh | |
parent | 10ab2911d35c84c120bae8f4e103b087fe19ce08 (diff) | |
parent | 587000ec024b800d968ede14fc01ed28818e4b32 (diff) | |
download | zsh-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.zsh | 28 |
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 } |