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 但内容是空的。我已经用很多相同的编码构建了类似的东西,但工作方式不同。我正在尝试将其堆栈和循环并给出所有结果。
$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