I had some experiments in the last days, this being the sequence of actions performed:
- new scheduled pipeline `.yml` file pushed to `develop` (no matter if through PR or through direct push)
- pipeline created from Azure Devops on `develop` through web GUI (without setting UI triggers)
- outcome: pipeline not triggered (and indeed no scheduled runs visible from `...`->`Scheduled runs`)
Then I've gone through two different scenarios:
- Scenario1:
update of already existing `.yml` file on `develop`
outcome: pipeline triggered (and indeed scheduled runs visible from `...`->`Scheduled runs`)
- Scenario2:
new scheduled pipeline `.yml` file pushed to `tempbranch` (no matter if then opening a PR or not)
pipeline created from Azure Devops on `tempbranch` through web GUI (without setting UI triggers)
outcome: pipeline not triggered (and indeed no scheduled runs visible from `...`->`Scheduled runs`)
`tempbranch` merged into `develop`
outcome: pipeline triggered (and indeed scheduled runs visible from `...`->`Scheduled runs`)
The disappointing aspect is that even without configuring any UI trigger (and by default a newly created pipeline comes with no UI triggers) you are forced to trivially update your `.yml` file (through a direct push or merge-push) otherwise the pipeline does not trigger.
This is somehow confirmed by @Ziyang Liu-MSFT, but the big difference is that in his/her answer the scenario of UI triggers removal is described, but that's not my case, since for my pipeline no UI triggers have ever been created/configured.
So to summarize: after creating the pipeline from web GUI you must always update it; in this sense, if adding it through a PR, it is better to create it on Azure Devops web GUI before merging the PR (otherwise you have to update it later).