title: Azure DevOps YAML Pipeline Parameters Not Working from REST API Trigger
body: <p>I'm trying to create a YAML based pipeline that takes a parameter, then trigger the pipeline to run from a Azure DevOps REST API. I'm able to see the build gets queued, but the parameter was not overridden from my POST body. </p>
  
  <p>My template <code>my-template.yaml</code>.</p>
  
  <pre class="lang-yaml prettyprint-override"><code>parameters:
      - name: testParam
        type: string
        default: 'N/A'
  
  
  steps:
      - script: echo ${{ parameters.testParam }}
  </code></pre>
  
  <p>My pipeline yaml that extends the template.</p>
  
  <pre class="lang-yaml prettyprint-override"><code>trigger:
      - master
  
  extends:
      template: my-template.yaml
  
  </code></pre>
  
  <p>Then I trigger this pipeline using the <code>queue build</code> REST API: <code>https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.1</code> with a POST body as below.</p>
  
  <pre><code>{
      "parameters": "{\"testParam\": \"hello world\"}",
      "definition": {
          "id": 50642
      },
      "sourceBranch": "refs/heads/master"
  }
  
  </code></pre>
  
  <p>So I'm expecting the pipeline execution will echo <code>hello world</code> instead of <code>N/A</code>. Unfortunately, I'm still seeing <code>N/A</code> in the pipeline results.</p>
  
  <p>Anyone has idea of what happened? Am I miss anything?</p>