diff options
author | Tom Cammann <tom.cammann@hp.com> | 2014-08-19 15:42:39 +0100 |
---|---|---|
committer | Tom Cammann <tom.cammann@hp.com> | 2014-08-19 15:42:39 +0100 |
commit | df1b0b328983dba57b4cea123b5a05c24493ae8f (patch) | |
tree | f7acc474439e9af8008c86cacf68839c9f2f545a /plugins/jira | |
parent | 1b7a3ea99a8b566510ab7881063148c43be6b98d (diff) | |
download | zsh-df1b0b328983dba57b4cea123b5a05c24493ae8f.tar.gz zsh-df1b0b328983dba57b4cea123b5a05c24493ae8f.tar.bz2 zsh-df1b0b328983dba57b4cea123b5a05c24493ae8f.zip |
Update jira plugin to allow lookup of issues
Plugin now supports lookup of tickets by assignee and reporter
Diffstat (limited to 'plugins/jira')
-rw-r--r-- | plugins/jira/jira.plugin.zsh | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index 3d510e430..a6d08410f 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -26,7 +26,7 @@ open_jira_issue () { jira_url=$JIRA_URL else echo "JIRA url is not specified anywhere." - return 0 + return 1 fi if [ -f .jira-prefix ]; then @@ -39,7 +39,9 @@ open_jira_issue () { if [ -z "$1" ]; then echo "Opening new issue" - $open_cmd "$jira_url/secure/CreateIssue!default.jspa" + $open_cmd "${jira_url}/secure/CreateIssue!default.jspa" + elif [[ "$1" = "assigned" || "$1" = "reported" ]]; then + jira_query $@ else echo "Opening issue #$1" if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then @@ -50,4 +52,39 @@ open_jira_issue () { fi } +jira_name () { + if [[ -z "$1" ]]; then + if [[ "x${JIRA_NAME}" != "x" ]]; then + jira_name=${JIRA_NAME} + else + echo "JIRA_NAME not specified" + return 1 + fi + else + jira_name=$@ + fi +} + +jira_query () { + verb="$1" + if [[ "${verb}" = "reported" ]]; then + lookup=reporter + preposition=by + elif [[ "${verb}" = "assigned" ]]; then + lookup=assignee + preposition=to + else + echo "not a valid lookup $verb" + return 1 + fi + shift 1 + jira_name $@ + if [[ $? = 1 ]]; then + return 1 + fi + echo "Browsing issues ${verb} ${preposition} ${jira_name}" + $open_cmd "${jira_url}/secure/IssueNavigator.jspa?reset=true&jqlQuery=${lookup}+%3D+%22${jira_name}%22+AND+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC" +} + alias jira='open_jira_issue' + |