为什么这个 Powershell 脚本没有生成任何内容?

问题描述 投票:0回答:1
param(
    [string] $username = "****",
    [string] $pass = "****",
    [string] $excelOutputPath = "C:\****"
)
 
$pair3 = "$($username):$($pass)"
 
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($pair3))
 
$headers = @{
    "Authorization" = "Basic ****
 
}

$baseurl = "https://****.atlassian.net"
$IssuesFileList = [System.Collections.ArrayList]@()

$isLastIssues = $true
$startAtIssues = 0

while(!$isLastIssues){

    $getIssuesUrl = $baseurl + "/rest/api/2/search?jql=attachments is not empty&startAt=0&maxResults=500000&validateQuery=strict&fields=key, attachment"
    $getIssuesResult = invoke-webrequest -Uri $getIssuesUrl -Method Get -Headers $headers 
    $getIssuesList = ConvertFrom-Json($getIssuesResult.Content)    
    


    foreach ($Issues in $getIssuesList.issues){

      Write-Host $issue.id , $issue.key

      $Issues = $issue.fields.attachment

     }

      foreach($attachment in $Issues){

        Write-Host $attachment.filename

        Write-Host $attachment.id

      }
        foreach($Issues in $getIssuesList.values){

           $rec = New-Object System.Object
           $rec | Add-Member 'Attachment Filename' $attachment.filename
           $rec | Add-Member 'Attachment ID' $attachment.id 
           $IssuesFileList.Add($rec) | Out-Null
        }



    $isLastIssues = $getIssuesList.isLast
    $startAtIssues = $getIssuesList.maxResults


}

$IssuesFileList | Export-Csv $excelOutputPath+"IssuesDetails.csv" 

它没有产生我需要的东西,我不明白为什么。它生成一个 excel 但内容是空的。我已经用很多相同的编码构建了类似的东西,但工作方式不同。我正在尝试将其堆栈和循环并给出所有结果。

powershell jira jira-rest-api
1个回答
0
投票

...(您的参数块和初始变量分配)

$isLastIssues = $false $startAtIssues = 0

while (!$isLastIssues) { $getIssuesUrl = "$baseurl/rest/api/2/search?jql=附件不为空&startAt=$startAtIssues&maxResults=1000&validateQuery=strict&fields=key,附件" $getIssuesResult = Invoke-WebRequest -Uri $getIssuesUrl -Method Get -Headers $headers $getIssuesList = ConvertFrom-Json $getIssuesResult.Content

foreach ($issue in $getIssuesList.issues) {
    Write-Host $issue.id, $issue.key

    $attachments = $issue.fields.attachment
    foreach ($attachment in $attachments) {
        Write-Host $attachment.filename
        Write-Host $attachment.id

        $rec = New-Object PSObject
        $rec | Add-Member 'Attachment Filename' $attachment.filename
        $rec | Add-Member 'Attachment ID' $attachment.id 
        $IssuesFileList.Add($rec) | Out-Null
    }
}

$isLastIssues = $getIssuesList.isLast
$startAtIssues = $getIssuesList.startAt + $getIssuesList.maxResults

}

$IssuesFileList |导出-CSV“$excelOutputPath\IssuesDetails.csv”-NoTypeInformation

© www.soinside.com 2019 - 2024. All rights reserved.