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

摘要:
通过PowerShell的invoke webrequest和net,客户端联合实现了各个指定项目的jira提交数量统计,这涉及JSON对象的提交。代码如下:$content=@{用户名='用户名';密码='密码'}$JSON=$content|converttoJSON COmpress$jiraUri=“http://jira.ms.netease.com“$a”

通过PowerShell的invoke-webrequest和net.client联合实现个人指定项目jira提交数的统计,其中涉及到了JSON对象的提交,代码如下:

$content = @{username='用户名';password='密码'}
$JSON = $content|convertto-JSON -Compress
$jiraUri = "http://jira.ms.netease.com"
$apiUri = $jiraUri+"/rest/auth/1/session"
$res = Invoke-WebRequest -Uri $apiUri -Method Post -Body $JSON -ContentType application/json
$webClient = new-object net.webclient
#Set encoding style here.
$webClient.Encoding = [System.Text.Encoding]::GetEncoding("utf-8")
$webClient.Headers.add("Cookie", $res.Headers["Set-Cookie"])
$keyWord = Read-Host "请输入搜索关键词(多个关键词请用空格隔开)"
$jql = "reporter in (用户名) AND text ~ '"+$keyWord+"'"
$JSON = @"
{
    "jql": "$jql",
    "startAt": 0,
    "maxResults": 1000,
    "fields": [
        "summary",
        "status",
        "assignee"
    ]
}
"@
$apiUri = "/rest/api/2/search"
$uri = $jiraUri+$apiUri
#Post json must added header.
$webClient.Headers.Add("Content-Type", "application/json");
$searchResult = $webClient.UploadString($uri,$JSON)
#Get issues.
$issues = ($searchResult|ConvertFrom-Json).issues
foreach($issue in $issues){
    $issue.fields.summary
}
Write-Host "与关键词相关的jira共有"$issues.Count"" -ForegroundColor Green
Read-Host

保存脚本到桌面右键PowerShell运行或者直接在ise中按F5反复运行都可以,效果如下:

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

原理:根据jql来实现通过标题关键字对jira的查找,也用到了jira rest api。

免责声明:文章转载自《PowerShell调用jira rest api实现对个人提交bug数的统计》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇git提交时忽略了dlljqGrid的Fomatter用于将图片url地址转换成前端图片显示的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WebAPI常见的鉴权方法,及其适用范围

在谈这个问题之前,我们先来说说在WebAPI中保障接口请求合法性的常见办法: API Key + API Secret cookie-session认证 OAuth JWT  当然还有很多其它的,比如 openid connect (OAuth 2.0协议之上的简单身份层),Basic Auth ,Digest Auth 不一一例举了 1、API Ke...

Abp的swagger UI 出现Failed to load API definition.

Abp 出现Failed to load API definition.如下图: 原因:本次出现的原因是Api里面的方法重名了(只是方法的参数不一样)(可能是controller中的auction上面少了(hettpget,httpdelete)属性,其它原因也可能引起) 解决方法:修改其中一个方法的名字...

使用 powershell 的 grep 过滤文本

  使用 powershell 的 grep 过滤文本 有个log文件,大小在4M左右,要求找出里面耗时超过100s 的记录。首先想到了强大的 grep ,那么就搞起。 先在网上找一下资料,这篇文章,有几种方式: 第一种: Get-content somefile.txt|findstr "someregexp" Get-content可以换成cat,P...

OpenStack 中的neutron-server启动过程

neutron-server是neutron的核心组件之中的一个。负责直接接收外部请求,然后调用后端对应plugin进行处理。 其核心启动过程代码主要在neutron.server包中。 __init__.py文件里包含一个main()函数,是WSGIserver開始的模块,而且通过调用serve_wsgi来创建一个NeutronApiService的...

资源分享-jira jql的常规用法

郑重声明: 本文首发于人工博客 1、遇到的问题 我们在利用jira的jql制作各种看板的时候,往往是是针对某个sprint制作了各种过滤器,进而配置出各种监控的看板。方便直观的监控项目的进度和风险。但是遇到的问题是。当下一个sprint开始的时候,又得去手动把过滤器的sprintId手动调整。费事费力,那么有没有一个自动获取最新打开的sprint的函数呢?...

ElasticSearch High Level REST API【4】多搜索

1、Multi-Search多搜索请求 Multi-Search可同时添加多个search搜索请求,并行地在一个http请求中执行多个搜索请求,相较多次单请求查询可提升查询效率。ES客户掉通过mget方法实现多请求搜索: public void multiSearch(){ RestHighLevelClient client = elas...