调用JIRA REST API实现JIRA统计自动化

通过调用JIRA Rest web api实现统计自动化,首先进行登录模拟:

$content = @{username=‘用户名‘;password=‘密码‘}
$JSON=$content|convertto-JSON -Compress
$res = Invoke-WebRequest -Uri "http://jira地址/rest/auth/1/session" -Method Post -Body $JSON -ContentType application/json
$webClient = new-object net.webclient
#Set encoding style here.
$webClient.Encoding=[System.Text.Encoding]::GetEncoding("utf-8")<#
Note that the response contains the Set-Cookie HTTP headers that must be honoured by the caller.
If you are using a cookie-aware HTTP client then it will handle all Set-Cookie headers automatically.
This is important because setting the JSESSIONID cookie alone may not be sufficient for the authentication to work.
#>
$webClient.Headers.add("Cookie", $res.Headers["Set-Cookie"])
#Write-Host "调用获取登录状态接口" -ForegroundColor Green
#$webClient.DownloadString("http://jira地址/rest/auth/1/session")
#Write-Host "调用退出登录接口" -ForegroundColor Green
#$webClient.UploadString("http://jira地址/rest/auth/1/session","DELETE","")
#Write-Host "调用获取登录状态接口" -ForegroundColor Green
#$webClient.DownloadString("http://jira地址/rest/auth/1/session")

然后查询所有分派给我的任务,并遍历每个任务取出想要的信息(例如:报告人、开发、前端、Jira创建时间等信息):

$jiraUri = "jira地址"
#查询所有分派给天外归云的任务
#Search using search request.通过查找接口用jql语句来进行查找(首先要创建一个JSON对象做为查找时post的body)
#在PowerShell中创建JSON对象.
$JSON = @"
{
    "jql": "分派给 = 天外归云",
    "startAt": 0,
    "maxResults": 1000,
    "fields": [
        "summary",
        "status",
        "assignee"
    ]
}
"@
$apiUri = "/rest/api/2/search"
$uri = $jiraUri+$apiUri
#Post json必须加的header.
$webClient.Headers.Add("Content-Type", "application/json");
$searchResult = $webClient.UploadString($uri,$JSON)
#获取所有的issues(分派给天外归云的)
$issues = ($searchResult|ConvertFrom-Json).issues
#判断有没有这种field
function NullOrNot($field){
    if(($field -ne $null) -and ($field -ne ""))
    {
       $field
    }else{
        $field="displayName : Null"
    }
}
#提取人员名单
function GetDisplayName($oName){
    $displayNames = $oName|findstr "displayName"
    if($displayNames.count -ne 1){
        foreach($displayName in $displayNames){
            $newDisplayName += $displayName.split(":")[1]
            $newDisplayName += " "
        }
        $newDisplayName
    }else{
        $displayNames.split(":")[1]
    }
}
#遍历jira issue
foreach($issue in $issues){
    $apiUri = $jiraUri+"/rest/api/2/issue/"+$issue.key
    $issueInfo = $webClient.DownloadString($apiUri)
    $issueInfo = $issueInfo|ConvertFrom-Json
    #$issueInfo.fields
    $reporter = GetDisplayName(NullOrNot($issueInfo.fields.reporter))
    Write-Host "报告人:"$reporter
    $productor = GetDisplayName(NullOrNot($issueInfo.fields.customfield_10206))
    Write-Host "产品人员:"$productor
    $qianDuan = GetDisplayName(NullOrNot($issueInfo.fields.customfield_10207))
    Write-Host "前端:"$qianDuan
    $developer = GetDisplayName(NullOrNot($issueInfo.fields.customfield_10208))
    Write-Host "开发:"$developer
    $fenPai = GetDisplayName(NullOrNot($issueInfo.fields.customfield_10002))
    Write-Host "分派给:"$fenPai
    $tiCeTime = $issueInfo.fields.created
    Write-Host "提测时间:"$tiCeTime
    Write-Host "用例数据:"$issueInfo.fields.customfield_11402 $issueInfo.fields.customfield_10400
    Write-Host "bug数:"$issueInfo.fields.customfield_10202
    Read-Host
}
时间: 2024-10-25 22:02:04

调用JIRA REST API实现JIRA统计自动化的相关文章

PowerShell调用jira rest api实现对个人提交bug数的统计

通过PowerShell的invoke-webrequest和net.client联合实现个人指定项目jira提交数的统计,代码如下: $content = @{username='用户名';password='密码'} $JSON = $content|convertto-JSON -Compress $jiraUri = "http://jira.ms.netease.com" $apiUri = $jiraUri+"/rest/auth/1/session"

Access Jira RESTful API by cURL

*******INSTRUCTION FOR GETING RECORDS FROM JIRA by cURL***************** Jira supply RESTfull API, so we can use cURL to get data. Below is the steps, 1. Install cURL; 2. Use curl to send a Http GET request, the command is as below,(1k records per re

调用百度汇率api 获取各国的汇率值

设置一个定时任务,每天更新汇率java代码如下 package com.thinkgem.jeesite.modules.huiLvApi.service; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Date;

Atitit 图像处理之编程之类库调用的接口api cli gui ws rest &#160;attilax大总结.docx

Atitit 图像处理之编程之类库调用的接口api cli gui ws rest  attilax大总结.docx 1. 为什么需要接口调用??1 1.1. 为了方便集成复用模块类库1 1.2. 嫁接不同的语言与类库,以及嵌入dsl1 1.3. 方便跨机器,跨开发板,跨硬件,跨运行环境的代码复用2 2. 接口api的历史2 2.1. 发展历程2 2.2. API 这个类库默认提供的接口,要求同语言调用一般2 2.3. Cli接口 命令行接口.单机跨语言接口(推荐比较常用)3 2.4. 图形用户

Qt刷新机制的一些总结(Qt内部画的时候是相当于画在后台一个对象里,然后在刷新的时候调用bitblt统一画,调用window的api并不会影响到后面的那个对象)

前段时间做过一个界面刷新的优化,遇到的坑比较多,在这里做一点点总结吧. 优化的方案是滚动滚动条的时候用截屏的方式代替界面全部刷新,优化完成后,界面在滚动时效率能提升大概一倍,背景介绍完毕. 用到最主要的是QT的截屏功能 window原生api会提供截屏滚动的功能.可以用这个ScrollWindowEx这个api.它会根据相应的参数在屏幕中进行滚动相应的区域.是不是很容易?但是结果却是不理想,因为用的是Qt,控件重写过PaintEvent的方法.调用api实时能看到效果,但是触发一次PaintEv

java调用淘宝api

代码下载地址:http://www.zuidaima.com/share/1550463234034688.htm 原文:java调用淘宝api java代码结构: java调用淘宝api,布布扣,bubuko.com

【智能路由器】C代码调用uci的API读openwrt配置文件指南

[智能路由器]系列文章连接 http://blog.csdn.net/u012819339/article/category/5803489 上篇博客讲解了命令行下uci的使用方法,本篇博客arvik将简单剖析uci部分源码,带领大家使用c语言调用uci的API来读取配置文件. 实战背景 倘若我们自己写了一个应用程序,也想用uci来集中化管理配置该应用的配置文件,怎么办呢? 看了arvik的上一篇博客后相信新手能很快的使用uci对某个配置文件进行配置,只是如何让我们的应用程序读取配置文件内容呢,

HTML5 调用百度地图API地理定位

<!DOCTYPE html> <html> <title>HTML5 HTML5 调用百度地图API地理定位实例</title> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="ht

C#调用百度地图 api

转  http://blog.csdn.net/kkkkkxiaofei/article/details/8663377 这一篇,记录一下我调用的地图API实现的功能.下面介绍的都是一些片段的节选,不能直接复制就运行.在实现之前肯定要加载地图,先放一个webbroser控件,然后如下: [csharp] view plaincopyprint? private void Form1_Load(object sender, EventArgs e) { string str_url = Appli