title: CI Triggers on Pipelines in Azure
body: <p>Im having real issues with a pipeline everytime someone commits or pushes something to a branch on our repo, the pipeline triggers, in following the Microsoft Doc: <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&amp;tabs=yaml#ci-triggers" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&amp;tabs=yaml#ci-triggers</a></p>
  <p>Putting in Exclude features on every branch that we have the pipeline will still run when someone does a commit to a local branch even if I have wild carded the branch.</p>
  <p>Has anyone been able to get this to work, that the pipeline should only run when there is a commit to Master only and nothing else.</p>
  <p>Here is my Code:</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>trigger:
    branches:
      include:
      - master
      exclude:
      - CICV/*
      - An/*
      - Prod/*
      - Test/*
      - Dev/*
      - dev/*
      - IN/*
      - id/*
      - St/*
      - tr/*
        
      
  pool:
    vmImage: 'windows-latest'
    demands: npm
  
  variables: 
    System.Debug: false
    azureSubscription: 'RunPipelinesInProd'
    RG: 'VALUE'
    Location: UK South 
    containername: 'private'
    appconnectionname: 'RunPipelinesInProd'
  
  jobs:
  
  - job: job1
    displayName: Create And Publish Artifact
    pool:
      vmImage: vs2017-win2016
    steps:
   
    - task: UseDotNet@2
      displayName: Use .Net Core 3.1.x SDK
      inputs:
        packageType: 'sdk'
        version: '3.1.x'
  
    - task: DotNetCoreCLI@2
      displayName: dotnet restore
      inputs:
        command: restore
        projects: 'Website.csproj'
  
    - task: Npm@1
      displayName: 'npm install'
      inputs:
        workingDir: ClientApp
        verbose: false   
    
    - task: Npm@1
      displayName: 'npm run build'
      inputs:
        command: 'custom'
        workingDir: ClientApp
        customCommand: 'build'
  
    - task: DotNetCoreCLI@2
      displayName: dotnet build
      inputs:
        projects: 'Website.csproj'
        arguments: '--configuration Release'
    
    - task: DotNetCoreCLI@2
      displayName: dotnet Test
      inputs:
       command: test
       projects: 'UnitTests/UnitTests.csproj'
       arguments: '--configuration Release'
        
    - task: DotNetCoreCLI@2
      displayName: dotnet publish
      inputs:
        command: publish
        projects: 'Website.csproj'
        arguments: '--configuration Release --output $(Build.ArtifactStagingDirectory)'
        zipAfterPublish: true
        modifyOutputPath: false
        
    - task: PublishPipelineArtifact@1
      displayName: Publish Pipeline Artifact
      inputs:
        targetPath: '$(Build.ArtifactStagingDirectory)'
        artifact: 'Website'
        publishLocation: 'pipeline'
  
  - job: job2
    displayName: Create Web App 
    dependsOn: job1   
    steps:
  
   # Download Artifact File
    - download: none
    - task: DownloadPipelineArtifact@2
      displayName: 'Download Build Artifacts'
      inputs:
        patterns: '**/*.zip'
        path: '$(Build.ArtifactStagingDirectory)'
  
    # deploy to Azure Web App 
    - task: AzureWebApp@1
      displayName: 'Azure Web App Deploy: nsclassroom-dgyn27h2dfoyo'
      inputs:
        package: $(Build.ArtifactStagingDirectory)/**/*.zip 
        azureSubscription: $(azureSubscription)
        ConnectedServiceName: $(appconnectionname)
        appName: 'VALUE'
        ResourceGroupName: $(RG)
  
   </code></pre>
  </div>
  </div>
  </p>