JIRA的命令行接口

jiracli的Python项目详细描述


JIRA命令行界面

https://travis-ci.org/toabctl/jiracli.svg

jiracli是一个基于jira模块的简单命令行界面。模块使用rest api与jira实例通信。

安装

需要来自https://pypi.python.org/pypi/jira/python2.7jira

  • You can install jiracli with pip in a virtual environment:

    virtualenv myenv
    source myenv/bin/activate
    pip install jiracli
    
  • or without an virtual env:

    pip install jiracli
    
  • or directly from the extracted source:

    python setup.py install
    

配置

在第一次运行期间,jiracli询问用户名、密码和jira url。所有值都存储在~/.jiracli.ini中。 如果从配置文件中删除了密码密钥,jiracli每次都会询问密码。

有一些可选的配置选项可以在配置中设置 文件:

验证:

默认为“真”。如果设置为“假”,则在谈话时进行第五次验证 到jira服务器被禁用。

用法

请尝试以下帮助:

./jiracli -h

示例:创建新问题:

以下命令将为项目项目创建一个新问题。问题类型为dev bug,标签为abcdef,组件为xxxyyyy

./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

贡献

jiracli托管在github。请发送请求或创建 伊索斯在那儿。

测试

毒物用于检测。要执行PEP8样式检查,请运行:

tox -epep8

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
tomcat Java条带错误   java OPENTSDB fsck修复程序不更正重复点   java JavaFX在控制器内切换自身的可见性   java maven surefire插件未并行执行运行程序   读取导致Freemarker模板引擎中TemplateException的Java对象   无法使Java库与我的Android应用程序一起工作   安卓 java。lang.IllegalStateException游标   使用Java检索XML文件中的XSL URL和名称   java如何从文本文件集合中提取特定值   电子邮件java mail gmail   java为什么finalize()只被垃圾收集器调用一次?   java方法findViewById(int)对于Json类型是未定义的。蛇形   java在安卓中尝试从brother打印机打印位图时遇到以下异常   java在颤振中支持Kotlin的优势   java从后面编写文本   java制作列表。第一个列表可以有相同的数字,第二个将是价格,尝试制作第三个列表,如果它们是相同的数字,它将添加价格