Conditional steps and improvements to logs in Bitbucket Pipelines

We recently shipped a number of improvements to Bitbucket Pipelines, helping you interact with pipeline logs and giving you greater flexibility with your pipeline with conditional steps.

Search in logs

Pipelines renders the logs using infinite scrolling displaying a visible portion of text as you scroll through it. This is great when it comes to having a high-performance interface that can deal with large logs, however, it makes searching off-screen difficult. For this reason, we've added a new search mode that scans the full log, and scrolls and highlights relevant lines.

Delete logs

Many of you have requested the possibility of purging step and service logs for repositories admins. We're happy to announce that you can now delete sensitive information such as internal logs. To do this simply click the trash icon located at the top-right corner of the log viewer.

Conditional Steps

There are some scenarios where you want to execute a step when only a certain condition is satisfied. For example, you want to build the frontend artifact only when there are changes to the files in the frontend folder. To address this use case we have introduced condition, allowing for steps to execute when certain conditions or rules are satisfied. Currently, the only condition supported is changesets. Use changesets to execute a step only if one of the modified files matches the expression in includePaths.

- step:
          name: build-frontend-artifact
          condition:
              changesets:
                  includePaths:
                    # only xml files directly under resources directory
                    - "src/main/resources/*.xml"
                    # any changes in frontend directory
                    - "src/site/**"
          script:
             - echo "Building frontend artifact"

Further documentation on how to add a condition to your step can be found here.

Happy coding!