I have tried uploading test coverage results from pipeline to downloads.
I have the results as an artifact folder (dir/**).
I have followed this guide:
https://confluence.atlassian.com/bitbucket/publish-and-link-your-build-artifacts-872137736.html
so my bitbucket-pipelines.yml code is:
pipelines:
default:
  - step:
      name: unit tests cover report
      image: aztec2docker/polymer-testing-docker
      artifacts:
        - unit-test-cover-report**
      script:
        - npm i
        - npm run test-cover
  - step:
      name: upload
      script:
        - curl -X POST --user "${BB_AUTH_STRING}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"unit-test-cover-report"
It works for single files but not for a folder.
So my question is:
How do I upload a full artifact folder to bitbucket downloads?
There are a couple of way to do upload multiple files.
Option 1: create a zip or tar.gz archive from your folder and upload this archive to the downloads. There is a Bitbucket Pipe you can use to upload the file: bitbucket-upload-file
- step:
    name: upload
    script:
      - zip report.zip unit-test-cover-report-folder
      - pipe: atlassian/bitbucket-upload-file:0.1.2
          variables:
            BITBUCKET_USERNAME: $BITBUCKET_USERNAME
            BITBUCKET_APP_PASSWORD: $BITBUCKET_APP_PASSWORD
            FILENAME: 'report.zip'
Option 2: you can upload multiple files in a single API call,as mentioned in the Bitbucket API docs:
- curl -X POST --user "${BB_AUTH_STRING}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"file-1" --form files=@"file-2"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With