You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

In Windows scenarios, or in general in environments where PowerShell is available, it is relatively easy to interact with Xray using its REST API.

PowerShell scripts can be used in Continuous Integration, for example to submit the test automation results.

This may be quite useful whenever Jenkins nor Bamboo are available.

Submit JUnit results


submit_junit.ps1
try {
 $user = 'admin'
 $pass = 'password'

 $pair = "$($user):$($pass)"
 $encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
 $basicAuthValue = "Basic $encodedCreds"
 $multipartContent = New-Object System.Net.Http.MultipartFormDataContent
 $multipartFile = "junit.xml"
 $FsMode = [System.IO.FileMode]::Open
 $FsAccess = [System.IO.FileAccess]::Read
 $FsSharing = [System.IO.FileShare]::Read
 $FileStream = New-Object System.IO.FileStream($multipartFile, $FsMode, $FsAccess, $FsSharing)
 $fileHeader = New-Object System.Net.Http.Headers.ContentDispositionHeaderValue("form-data")
 $fileHeader.Name = "file"
 $fileHeader.FileName = 'junit.xml'
 $fileContent = New-Object System.Net.Http.StreamContent($FileStream)
 $fileContent.Headers.ContentDisposition = $fileHeader
 $fileContent.Headers.ContentType = [System.Net.Http.Headers.MediaTypeHeaderValue]::Parse("text/xml")
 $multipartContent.Add($fileContent)
 $uri = 'http://yourjiraserver/rest/raven/1.0/import/execution/junit?projectKey=CALC'
 $res = Invoke-WebRequest -Uri $uri -Body $multipartContent -Method POST -Headers @{"Authorization" = $basicAuthValue} }
catch {     
write-host $_.Exception.Message
}


Submit JUnit results and customize Test Execution

  • No labels