title: Skipping stage based on commit message
body: <p>I am trying to set Azure DevOps to skip a stage on a <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&amp;tabs=yaml" rel="noreferrer"><strong>multi-stage pipeline</strong></a>  if a message does not start with a given text.</p>
  
  <p>From the <a href="https://docs.microsoft.com/fr-ca/azure/devops/pipelines/process/conditions?tabs=yaml&amp;view=azure-devops#examples" rel="noreferrer">examples documentation</a>, I think it is just </p>
  
  <pre><code>  - stage: t1
      condition: not(startsWith(variables['Build.SourceVersionMessage'], '[maven-release-plugin]'))
      jobs:
        - job: ReleasePrepare
          displayName: Prepare release
          pool:
            vmImage: 'ubuntu-16.04'
          steps:
            - script: |
                env | sort
  </code></pre>
  
  <p>However, this gets executed regardless.  Here's an example of where I expect the <code>t1</code> task to not be run based on the commit message <a href="https://dev.azure.com/trajano/experiments/_build/results?buildId=110&amp;view=results" rel="noreferrer">https://dev.azure.com/trajano/experiments/_build/results?buildId=110&amp;view=results</a></p>
  
  <p>The output of <code>env</code> shows that the message was passed in correctly </p>
  
  <p><a href="https://i.stack.imgur.com/aEC5a.png" rel="noreferrer"><img src="https://i.stack.imgur.com/aEC5a.png" alt="enter image description here"></a></p>
  
  <p>Just in case it is a bug I reported it here as well <a href="https://developercommunity.visualstudio.com/content/problem/697290/startswith-buildsourceversionmessage-variable-not.html" rel="noreferrer">https://developercommunity.visualstudio.com/content/problem/697290/startswith-buildsourceversionmessage-variable-not.html</a></p>