克隆此仓库并运行 install.sh
。
$ git clone https://github.com/cats-oss/cujira.git
$ cd cujira
$ ./install.sh
https://[ 这里 ].atlassian.net
。请执行这 3 个命令。
$ cujira register domain XXX
$ cujira register username XXX
$ cujira register apikey XXX
另外,您可以使用 cujira register info
查看已注册的信息。
您可以使用 cujira list board
来查看 ProjectID (或 BoardID),它会显示您 Jira 域中的所有看板。
$ cujira list board
Results:
id: 1
name: cujira Development
project - id: 10001
project - name: cujira
id: 2
name: cujira Bug Fix
project - id: 10002
project - name: cujira (Bug)
检查 ProjectID 后,使用 cujira alias project add
添加项目别名。
$ cujira alias project add cujira-bug --project-id 10002
另外,您可以使用 cujira alias project list
查看已注册的项目别名。
$ cujira alias project list
name: cujira-bug, projectID: 10002, boardID: 2
如果您想获取今天项目的问题,可以使用以下命令:
$ cujira issue search cujira-bug today
JQL: project = 10002 AND created >= startOfDay()
Summary: All command responses are `Great Scott!!`.
URL: https://XXX.atlassian.net/browse/BUG-1985
IssueType: Critical Bug
Status: Open
User: doc-emmett-brown
Summary: Command usages is a little strange.
URL: https://XXX.atlassian.net/browse/BUG-1986
IssueType: Bug
Status: Open
User: --
如果您想使用 SPRINT_NAME
获取问题,请使用 cujira list sprint
查看 sprints。
$ cujira list sprint --alias cujira-bug
Results:
id: 5
name: Sprint 1
startDate: 2018/06/02
endDate: 2018/06/07
id: 8
name: Sprint 2
startDate: 2018/06/08
endDate: --
在检查 sprint 名称后,您可以使用 cujira issue search cujira-bug "Sprint 2"
获取问题。
cujira issue search
命令有一些选项。
Options:
--issus-type [ISSUE_TYPE]
... Filter issues with a issueType.
--label [ISSUE_LABEL]
... Filter issues with a issue label.
--status [STATUS_NAME]
... Filter issues with a issue status.
--assigned [USER_NAME]
... Filter issues with a user who has assigned.
--epic-link [EPIC_LINK]
... Filter issues with a epic link.
--aggregate
... Show every options issue counts.
--all-issues
... Print all issues to ignore options. (This option is only available to use `--aggreegate`)
--output-json
... Print results as JSON format.
您可以获得问题的聚合结果。
$ cujira issue search cujira-bug today --issue-type "Critical Bug" --aggregate
JQL: project = 10002 AND created >= startOfDay()
Summary: All command responses are `Great Scott!!`.
URL: https://XXX.atlassian.net/browse/BUG-1985
IssueType: Critical Bug
Status: Open
User: doc-emmett-brown
Number of Issues: 2
Number of Critical Bug: 1
cujira issue search
命令有 --output-json
选项。它使得在其他脚本中轻松处理 cujira 响应成为可能。这是一个 node.js
示例代码。
// sample.js
var exec = require('child_process').exec;
var COMMAND = 'cujira issue search cujira-bug today --issue-type \"Critical Bug\" --aggregate --output-json';
exec(COMMAND, function(error, stdout, stderr) {
var aggregations = JSON.parse(stdout);
aggregations.forEach(aggregation => {
console.log('name: ' + aggregation.name);
console.log('count: ' + aggregation.count);
aggregation.issueResults.forEach(issueResult => {
console.log('\tid: ' + issueResult.issue.id);
});
});
});
$ node sample.js
name: Issues
count: 2
id 19851026
id 20151021
name: Critical Bug
count: 1
id 19851026
name: Matched Issues
count: 1
id 19851026
您可以使用环境变量运行 cujira
。
$ env CUJIRA_USER_NAME="XXX" CUJIRA_API_KEY="XXX" CUJIRA_DOMAIN="XXX" cujira
感谢 @skskeeee, 我的手写logo 变成了非常棒的 logo!
cujira 使用 MIT 许可。有关更多信息,请参阅 LICENSE 文件。