pipeline {
agent any
environment {
LEAPWORK_PERFORMANCE_BASE_URL = 'https://your-environment.example.com'
LEAPWORK_PERFORMANCE_TIMELINE_ID = ''
LEAPWORK_PERFORMANCE_TIMELINE_NAME = 'Smoke baseline'
LEAPWORK_PERFORMANCE_PROJECT_ID = ''
LEAPWORK_PERFORMANCE_DATA_ITEM_ASSET_ID = ''
LEAPWORK_PERFORMANCE_DATA_ITEM_NAME = 'Checkout workload'
LEAPWORK_PERFORMANCE_ROLE = 'loadUser'
LEAPWORK_PERFORMANCE_USER_COUNT = '50'
}
stages {
stage('Start Leapwork Performance run') {
steps {
withCredentials([string(credentialsId: 'leapwork-performance-api-key', variable: 'LEAPWORK_PERFORMANCE_API_KEY')]) {
powershell '''
.\\run-integration.ps1 `
-BaseUrl "$env:LEAPWORK_PERFORMANCE_BASE_URL" `
-ApiKey "$env:LEAPWORK_PERFORMANCE_API_KEY" `
-TimelineId "$env:LEAPWORK_PERFORMANCE_TIMELINE_ID" `
-TimelineName "$env:LEAPWORK_PERFORMANCE_TIMELINE_NAME" `
-ProjectId "$env:LEAPWORK_PERFORMANCE_PROJECT_ID" `
-DataItemAssetId "$env:LEAPWORK_PERFORMANCE_DATA_ITEM_ASSET_ID" `
-DataItemName "$env:LEAPWORK_PERFORMANCE_DATA_ITEM_NAME" `
-Role "$env:LEAPWORK_PERFORMANCE_ROLE" `
-UserCount "$env:LEAPWORK_PERFORMANCE_USER_COUNT"
'''
}
}
}
stage('Wait for result') {
steps {
withCredentials([string(credentialsId: 'leapwork-performance-api-key', variable: 'LEAPWORK_PERFORMANCE_API_KEY')]) {
powershell '''
$runOutput = Get-Content .\\run-output.json | ConvertFrom-Json
.\\poll-integration-status.ps1 `
-BaseUrl "$env:LEAPWORK_PERFORMANCE_BASE_URL" `
-ApiKey "$env:LEAPWORK_PERFORMANCE_API_KEY" `
-RunId "$($runOutput.RunId)" `
-TrackItemIds "$($runOutput.TrackItemIds)" `
-TrackItemNames "$($runOutput.TrackItemNames)" `
-PollResultUrl "$($runOutput.PollResultUrl)" `
-ExpectedRunTime "$($runOutput.ExpectedRunTime)"
'''
}
}
}
}
post {
always {
archiveArtifacts artifacts: 'reports/**/*', fingerprint: true, allowEmptyArchive: true
}
}
}