Ole Albers
Ole Albers

Reputation: 9305

File from previous step cannot be found in Azure DevOps-Pipeline

In a pipeline I have two different steps. The first one generates some files, the second should take these files as an input.

the Yaml for that pipeline is the following:

name: myscript
stages:
- stage: Tes/t
displayName: owasp-test
jobs:

- job: owasp_test
  displayName: run beasic checks for site
  pool:
    name: default
    demands: Agent.OS -equals Windows_NT

  steps:

  - task: DotNetCoreCLI@2
    inputs:
      command: 'build'
      projects: '**/*.sln'
  - task: dependency-check-build-task@5
    inputs:
      projectName: 'DependencyCheck'
      scanPath: '**/*.dll'
      format: 'JUNIT'
  - task: PublishTestResults@2
    inputs:
      testResultsFormat: 'JUnit'
      testResultsFiles: '**/*-junit.xml'

the dependency-check-build-task returns an XML-File:

File upload succeed.
Upload 'P:\Azure-Pipelines-Agent\_work\2\TestResults\dependency-check\dependency-check-junit.xml' to file container: '#/11589616/dependency-check'
Associated artifact 53031 with build 21497

The following step (PublishTestResults) SHOULD take that file but returns

##[warning]No test result files matching **/*-junit.xml were found.

instead. I can see that file in the artifact after the pipeline is run.

Upvotes: 1

Views: 1179

Answers (2)

Flor Campos Flores
Flor Campos Flores

Reputation: 81

I had the same trouble: enter image description here I fixed changing the Agent Specification enter image description here

Upvotes: 0

Krzysztof Madej
Krzysztof Madej

Reputation: 40849

This is because your report is written to Common.TestResultsDirectory which is c:\agent_work\1\TestResults (for Microsoft Hosted agents), and publish test task looks in System.DefaultWorkingDirectory which is c:\agent_work\1\s.

Please try:

  - task: PublishTestResults@2
    inputs:
      testResultsFormat: 'JUnit'
      testResultsFiles: '**/*-junit.xml'
      searchFolder: '$(Common.TestResultsDirectory)'

Upvotes: 5

Related Questions