因为要获取Jira信息,所以有了前一个文章:
GitLab和Jira集成
,本来打算能集成后方便获取的jira信息的,万万没想到,没成功😂。
本来还尝试了手动去获取jira登录等方式,但是试来试去还是感觉太麻烦,就直接去github上找了。
逛了下github,发现了这个包:
go-jira
,看着好像是那么回事,就尝试了下。此处给出官方文档:
go-jira相关文档
相关的源码就直接github看吧,上面也有用法示例,入门很简单。我就直接给出我相关代码了,也欢迎大佬们给出意见(或许很多部分可以简化等)
⚠️
注意点
🐷
-
1、连接部分可看官方文档,我用的是用户名密码的形式
-
2、jql直接在jira issue的筛选部分选择“高级筛选”,就会展示jql了,copy过来即可,无需转义
-
3、看了jira api的官方文档可知,通过jql方式查看的issue,最大只返回50条,所以要传一个最大值,也就是getIssueNotCloseDays()方法中option.MaxResults,只要比筛选得到的issue数大就行
package main
import (
"fmt"
"time"
jira "gopkg.in/andygrunwald/go-jira.v1"
var client *jira.Client
func jiraClient() {
tp := jira.BasicAuthTransport{
Username: "xxx",
Password: "xxx",
client, _ = jira.NewClient(tp.Client(), "https://jira.xxx.io")
func getIssueTotal() int {
jql := "project = xxx AND issuetype = 故障 ORDER BY key DESC, priority DESC, updated DESC"
fmt.Printf("Usecase: Running a JQL query '%s'\n", jql)
_, resp, err := client.Issue.Search(jql, nil)
if err != nil {
fmt.Println(err)
total := resp.Total
return total
func getIssueNotCloseDays() int64{
option := &jira.SearchOptions{
StartAt: 0,
MaxResults: 500,
Expand: "",
Fields: nil,
ValidateQuery: "",
jql := "project = xxx AND issuetype = 故障 AND status in (进行中, \"To Do\") ORDER BY key DESC, priority DESC, updated DESC"
fmt.Printf("Usecase: Running a JQL query '%s'\n", jql)
issue, resp, err := client.Issue.Search(jql, option)
if err != nil {
fmt.Println(err)
issueNotCloseTotal := resp.Total
var sum int64
for _, v := range issue {
created := v.Fields.Created
t := time.Time(created).Unix()
now := time.Now().Unix()
reverseTime := now - t
sum += reverseTime
averageTime := sum/int64(issueNotCloseTotal)/86400
return averageTime
func main() {
jiraClient()
total := getIssueTotal()
fmt.Println("Bug总数:",total)
avg := getIssueNotCloseDays()
fmt.Println("平均天数:",avg)
Jira提供了许多预定义的查询,这些查询可以帮助你快速找到特定类型的问题。例如,这表示更新时间在一周内的问题。预定义查询通常在Jira的搜索界面中作为选项提供,但你也可以直接在JQL中使用它们。自定义JQL查询允许你根据具体需求构建查询。这里,表示创建时间在一个月内,确保问题是在上个月创建的,而不是本周。
go-jira用Go编写的Atlassian的Jira服务的简单命令行客户端。
安装下载您可以在此处下载go-jira的预构建二进制文件之一。
构建您可以为Go语言编写的Atlassian的Jira服务构建并安装go-jira简单命令行客户端。
安装下载您可以在此处下载go-jira的预构建二进制文件之一。
构建您可以使用Go构建并安装官方存储库:go get github.com/go-jira/jira/cmd/jira这将把该存储库签出到$ GOPATH / src / github.com / go-jira / jira /中,进行构建,然后安装它。
然后,它应该在$ GOPATH / bin / jira中可用。用法设置TAB完成因为go-jira是用“ king”构建的
创建和检索问题过渡(状态更新)
调用Jira的每个API端点,即使它没有在此库中直接实现
该软件包尚未完成Jira API,但您可以调用所需的每个API端点。 请参阅如何执行此操作。 有关Jira的所有可能的API端点,请查看。
转到> = 1.14
吉拉v6.3.4&v7.1.2。
请注意,尽管官方仅支持Go的最后两个版本,但我们也针对1.13运行了测试。
它是可获取的
go get github.com/andygrunwald/go-jira
对于稳定版本,您可以将我们的标签之一与一起。 例如
package main
import (
jira "gopkg.in/andygrunwald/go-jira.v1"
(可选)运行单元/示例测试:
Go语言编写的Atlassian的Jira服务的简单命令行客户端。
GDPR用户名免责声明
最初编写此工具时,“用户名”参数在Atlassian API中得到了广泛使用。 由于GDPR的限制,除了V1登录外,该参数几乎已被完全淘汰。 “ --user”字段仍作为默认全局字段提供,但是应逐步淘汰此字段的任何用法,而应使用“ --login”选项。
以前使用用户名的命令现在将需要一个电子邮件地址,例如监视,创建,分配等。
您可以下载go-jira的预构建二进制文件之一。
您可以使用构建和安装官方存储库(在运行以下命令之前,请确保您的环境中已设置GO111MODULE=on ):
go get github.com/go-jira/jira/cmd/jira
这会将这个存储库检出到$GOPATH/src/github.com/go-jira/jira/ ,构建并安装
在大型项目中比较常见的研发方式是敏捷开发,在开发过程中开发人员的处理bug速度快慢是影响整体项目速度的重要因素之一。
BUG的处理速度、实时统计bug处理数量变得尤为重要
本次主要介绍通过创建jira面板对bug进行跟踪,实时掌握bug处理情况。
怎么做呢?
借助于一个插件:JIRA Suite Utilities,该插件的Update Issue Custom Field功能在工作流中可以实现给自定义字段赋值。
创建过滤器
根据自己的条件筛选bug。
创建模块过滤器
3.设置..
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们群【902061117】,里面有各种软件测试资源和技术讨论。
当然还有面试,面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)
获取jira任务的信息1.背景2.探究3.解决4.总结
最近做一个demo项目,需要能够显示jira任务的状态信息,所以就稍微探究了一下jira的api和一些发请求的方法。
一开始发现jira提供的jira-client-api中有jiraclient类,通过它很容易就可以获取到对应的任务的信息,但是如果依赖jar,存在一个问题,就是该jar中依赖到的jar都必须要依赖,所以只引入一个client-api.jar是远远不够的,运行时会报错,之后就根据报错去maven仓库搜,再这样操作引入
在现代 Web 应用开发中,安全性始终是一个不可忽视的重要议题。随着分布式系统和微服务架构的兴起,传统的基于 Session 的登录机制面临着诸多挑战。本文将带你深入探索基于 Token 的登录流程,这是一种更为灵活且适用于现代应用架构的认证方式。