I am in the middle of doing something like this right this very moment, but I am using the current REST APIs. What I am doing something similar to what I documented here (How do you import a release definition in VSTS?). Basically I am saving a templated JSON Release Pipeline file into the source code repository with variable placeholders, and a version number embedded. A then have a PowerShell script that is calling the Azure DevOps (that's a long word, I preferred typing VSTS, maybe I'll start typing AD)
- REST APIs to check of the Release Pipeline exists - works
- Create if it doesn't exist - works
- Compare embedded versions and update and if necessary (I'm stuck here, but I'll solve it, returning error that pipeline being updated hasn't changed even though I've changed it.)
I want this to executing during the Build pipeline so that I no longer have to modify lots of similar Release pipelines manually. I would prefer this to be a YAML file as well, but this is what I have today. I hope this helps.