Jira平台数据自动化获取(一)--Jira接口请求
来源:互联网 发布:日剧 喜剧 知乎 编辑:程序博客网 时间:2024/04/29 12:14
月末总结中每月需要从Jira平台中统计各个项目的新增、关闭以及遗留bug数,人工去对各个项目进行条件筛选统计,耗时较长且容易出错,故计划做一个自动去筛选获取Jira平台各个项目每个月的数据
Jira请求
首先找到了Jira的API文档:https://docs.atlassian.com/jira/REST/latest/#api/2/search-search,其中的 api/2/search 接口为资源搜索API,包括POST和GET,使用JQL搜索问题且排序jql参数是一个完整的jql表达式,并包括ORDER BY子句。
试着使用http://jira.cvte.com/rest/api/2/search?jql=project = REM AND resolution = Unresolved ORDER BY priority DESC, updated DESC
在网页端获取到返回的值,结果如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
在返回值中,只需要”total”:159 这个值,用JAVA去解析获取到的json格式的值:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
运行后得到的结果为:
Get the total value :137
但是上面的请求是由于该网页已经记录我的Jira账号的登录信息,若没的话,返回的值为:
- 1
- 2
- 3
故我们现在须先模拟登录Jira平台,先使用Fiddler清空浏览器缓存然后抓包看看登录请求
请求中Cookie包含的变量值:atlassian.xsrf.token、JSESSIONID、ca_uuid、pgv_pvi、pgv_si
尝试着使用Jmeter等工具模拟发包,返回值中无法获取Cookie中pgv_pvi、pgv_si这两个值。
现使用nodejs模拟Jira登录:
在使用前,先下载需要使用的module,如下面需要使用的’node-rest-client’和’mysql’模块,可以在http://npm.taobao.org/ 淘宝 NPM 镜像中下载,也可以直接cmd输入npm install node-rest-client
下载node-rest-client等模块
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
将Cookie的值传给search请求,在data中提供添加JIRA搜索附加数据,加入JQL JIRA查询语句,可以进行JQL搜索。
在Data中添加:
- 1
传递头信息(包括cookie)和附加的查询JQL模块,请求返回搜索结果:
- 1
- 2
- 3
- 4
在查询的结果searchResult中,只需要获取total(即bug数)的值,故提取total的值:
- 1
现需要封装查询函数,将bugsnum的值return给JiraRequest函数:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
此时调用JiraRequest:
- 1
得到requestResult的值为undefined
这里需要用到一个回调函数:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
此时调用JiraRequest函数
- 1
- 2
- 3
- 4
也可以这样调用
- Jira平台数据自动化获取(一)--Jira接口请求
- Jira平台数据自动化获取(一)--Jira接口请求
- Jira平台数据自动化获取(二)--JQL语句
- Jira平台数据自动化获取(三)--获取数据并写入Mysql
- JIRA
- JIRA
- JIRA
- JIRA
- JIRA
- jira
- JIRA
- Jira
- JIRA
- jira
- JIRA
- JIRA
- Jira
- JIRA
- 【微观】一般均衡
- Spark + kafka集群基本操作
- 类的成员指针
- 使用wsimport命令生成webService客户端代码实例
- 依赖倒转原则
- Jira平台数据自动化获取(一)--Jira接口请求
- SpringMVC处理静态资源异常
- java 虚拟机系列文章1--初识JVM
- 打印
- jieba分词/载入词典/抽取关键词/标注词性
- JavaScript valueOf() 函数详解
- 嵌入式软件工程师的电路浅谈1
- Qt笔记_图像视图
- Java冒泡循环推演过程