Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Bitbucket is a Git-based source code repository hosting service owned by Atlassian. It also offers the ability to build, test, and deploy code through its integrated CI/CD service, Bitbucket Pipelines.

...

The example is based on a Cucumber + Java + Maven-based project.

Workflow

  1. The tests are executed by the mvn test command.

  2. The command runs the suite file and produces the cucumber.json report in the target folder.

  3. When the mvn command finishes execution, the next steps step is to curl the results to AIO Tests.

Bitbucket

...

Pipeline

  1. If there is no existing bitbucket-pipelines.yml in the project, click on Pipelines in the Bitbucket left panel and Create Your first pipeline.

    Image RemovedImage Added
  2. Depending on your framework, select the starter pipeline. For this example, a Maven starter was chosen.

  3. Sample simple pipeline would look like below:

    Code Block
    image: maven:3.6.3
    
    pipelines:
      default:
        - parallel:
          - step:
              name: Build and Test
              caches:
                - maven
              script:
                - |
                  echo 'Running tests'
                  mvn -DtestFailureIgnore=true test
                  curl -H "accept:application/json" -H "Authorization:AioAuth $AIO_AUTH" 
                  -H "Content-Type:multipart/form-data" -F "createNewRun=true" 
                  -F "addCaseToCycle=true" -F "createCase=true" -F "bddForceUpdateCase=true" 
                  -F "file=@target/cucumber-reports/Cucumber_TempTracker.json;type=application/json" 
                  -X POST "https://tcms.aiojiraapps.com/aio-tcms/api/v1/project/$JIRA_PROJ/testcycle/$AIO_CYCLE/import/results?type=Cucumber"
                  echo 'Done'

     

  4. Add Variables. In the below example, we have parametrized the Authorization token, the Jira project and the Cycle which needs to be updated.

    Image Removed 

...

  1. Run the pipeline. The pipeline will run and at the end of the run, the cucumber.json file will be posted to AIO Tests for marking results.

Decoding the Curl

...

Command

The curl command used reads the environment variables and sets the properties available for configuration in the Import Results API exposed by AIO Tests.

  • createNewRun- Creates a new run for each case

  • addCaseToCycle- If the case is does not already existing exist in the cycle, then the case is added to the cycle. False will mark such a case in failuresas a failure.

  • createCase- If a key or automation key is not found in the tags, then a new case will be created if set to true.

  • bddForceUpdateCase- (only applicable for Cucumber) If the automation results file has different steps then than the mapped case in AIO Tests, then they would be overwritten with the one from the results file if the value is set to true.

Info

In our example, we have used framework as Cucumber, however, it should change based on the framework being used.

wide
Code Block
breakoutMode
curl -H "accept:application/json" -H "Authorization:AioAuth $AIO_AUTH" 
              -H "Content-Type:multipart/form-data" -F "createNewRun=true" 
              -F "addCaseToCycle=true" -F "createCase=true" -F "bddForceUpdateCase=true" 
              -F "file=@target/cucumber-reports/Cucumber_TempTracker.json;type=application/json" 
              -X POST "https://tcms.aiojiraapps.com/aio-tcms/api/v1/project/$JIRA_PROJ/testcycle/$AIO_CYCLE/import/results?type=Cucumber"

...

  1. Learn how to generate your authentication token: Rest API Authentication

  2. AIO Tests Public APIs: REST APIs

For further queries and suggestions, please feel free to reach out to our customer support service via help@aiotests.com.

...