JIRA的命令行接口
jiracli的Python项目详细描述
安装
需要来自https://pypi.python.org/pypi/jira/的python2.7和jira。
You can install jiracli with pip in a virtual environment:
virtualenv myenv source myenv/bin/activate pip install jiraclior without an virtual env:
pip install jiraclior directly from the extracted source:
python setup.py install
配置
在第一次运行期间,jiracli询问用户名、密码和jira url。所有值都存储在~/.jiracli.ini中。 如果从配置文件中删除了密码密钥,jiracli每次都会询问密码。
有一些可选的配置选项可以在配置中设置 文件:
验证:
默认为“真”。如果设置为“假”,则在谈话时进行第五次验证 到jira服务器被禁用。
用法
请尝试以下帮助:
./jiracli -h
示例:创建新问题:
以下命令将为项目项目创建一个新问题。问题类型为dev bug,标签为abc和def,组件为xxx和yyyy:
./jiracli -c PROJECT "Dev Bug" "my test summary" "abc,def" "xxx,yyyy"
示例:显示单个问题:
以下命令打印单个问题:
./jiracli -i PROJECT-3535 PROJECT-3535, Prod Bug: This is a terrible bug. (Created, Low) created : Thu Oct 24 09:30:35 2013, by t.bechtold assignee : t.bechtold updated : Fri Nov 8 15:56:27 2013 components : SITE:XYZ labels : mylabel attachment :
您还可以提供问题列表。然后所有的版本都会打印出来。要查看问题的描述,请使用–issue desc。要列出评论,请使用–发出评论。如需简短概述(每期在线),请使用–issue oneline。
示例:使用常用过滤器
要查看当前登录用户最喜欢的筛选器,请执行以下操作:
$ ./jiracli --filter-list-fav 23905, t.bechtold PROJECT bugs Url : https://example.com/jira/secure/IssueNavigator.jspa?mode=hide&requestId=23905 description : Bugs of t.bechtold in project PROJECT owner : t.bechtold jql : project = PROJECT AND asignee = t.bechtold
过滤器标题行中的数字23905是过滤器ID。此ID用于搜索此过滤器的问题:
./jiracli --issue-search-by-filter 23905
此命令只执行筛选器给定的搜索字符串。
示例:使用jql
使用jira查询语言进行搜索很简单:
./jiracli --issue-search "assignee=CurrentUser() and status='Closed'" --issue-comments
此命令搜索当前登录用户的所有已关闭问题。该命令还打印每个问题的注释。
示例:添加和删除问题监视程序
如果某个问题发生了变化,就会有观察者通知您。以下命令添加和删除手表:
./jiracli --issue-watch-add PROJECT-1234 ./jiracli --issue-watch-remove PROJECT-1234
示例:添加和删除标签
添加和删除标签很简单。首先添加名为“testlabel”的标签,然后将其删除:
./jiracli --issue-label-add PROJECT-3724 "testlabel" ./jiracli --issue-label-remove PROJECT-3724 "testlabel"
示例:添加和删除组件
给定项目的可用组件列表可从以下位置获得:
./jiracli --project-list-components PROJECT
现在将组件从给定列表中添加和删除到问题:
./jiracli --issue-component-add PROJECT-1234 "COMP1" ./jiracli --issue-component-remove PROJECT-1234 "COMP1"
示例:添加和删除要发布的修订版本
这是一项简单的任务,类似于标签或组件:
./jiracli --issue-fix-version-add PROJECT-3750 "My Fix version" ./jiracli --issue-fix-version-remove PROJECT-3750 "My Fix version"
示例:向问题添加注释
以下命令打开文本编辑器以插入注释:
./jiracli --issue-comment-add PROJECT-3724
缩写为:
./jiracli --issue-comment-add PROJECT-3724 -m "another comment"
示例:一次创建多个票据
有了一个简单的纯文本文件,每行都有问题摘要,您可以 在一次运行中轻松处理多个问题和子任务。
文件的布局非常基本:
- each line represents an issue
- this line will be the summary of the issue
- issues starting with a * or - character will be a Sub-Task of the previous parent issue
示例:
As a DevOps I want to automate all daily duties via a RESTful API * Collect requirments from all DevOps teams * Design RESTful API draft * Implement the API
以下命令使用给定文件中的摘要创建多个票证:
./jiracli --issues-create PROJECT "User Story" "Sub-task" sprint22-stories.txt
将一个文件的子任务或子票追加到一个给定的父ID的现有问题:
./jiracli --issue-parent PROJECT-3763 --issues-create PROJECT "User Story" "Sub-task" sprint22-stories.txt
示例:显示项目
的正在进行的sprint以下命令将向您显示项目当前正在进行的sprint:
./jiracli --sprint MYPROJECT issue status assignee summary ------- -------------- ---------- ------------------------------------------- RD-1547 In Progress user_owner Bug on main screen of MyLittlePoney Project RD-1517 Refused Nobody Please add a green poney RD-1516 Resolved user_x My poney is not pink enough
示例:指定问题
以下命令将为给定用户分配问题:
./jiracli --issue-assign DOCUMENT-628 t.bechtold