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 } } }