PowerShell調用jira rest api實現對我的提交bug數的統計

經過PowerShell的invoke-webrequest和net.client聯合實現我的指定項目jira提交數的統計,其中涉及到了JSON對象的提交,代碼以下:web

$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反覆運行均可以,效果以下:json

原理:根據jql來實現經過標題關鍵字對jira的查找,也用到了jira rest api。api

相關文章
相關標籤/搜索