Several of the past few posts that I have published have revolved around various Visual Studio Team Services (VSTS) REST API calls (you can click on the “View API Articles” button to the right to view the list of articles). Rather than relying purely on blog posts to provide example source code for these REST API calls, I thought I’d start making them available in a GitHub repo.
You can find the initial release on GitHub here: https://github.com/jbramwell/VSTS-Tools
The initial release contains code examples for two command-line utilities:
- VSTS-Get – CLI to download a single file or entire folder tree from VSTS (only Git is supported at this time).
- VSTS-Keep – CLI to set (or remove) the “Retain Indefinitely” retention flag for a given build.
You can find documentation on how to run the command-line tools in the README.md file shown on the home page of the VSTS-Tools repo.
The Visual Studio solution is broken out into three (at this time) primary folders:
- VSTS-Get – the project folder for the VSTS-Get CLI.
- VSTS-Keep – the project folder for the VSTS-Keep CLI.
- VSTS-Shared – shared code utilized by both of the above projects*
*The shared code is made available in the VSTS-Get and VSTS-Shared projects via linked files. I originally followed this approach because I didn’t want to have any external dependencies on DLLs. However, I ended up making use of a couple of NuGet packages so that benefit pretty much went out the window :-) So, with that, I might convert these to project references at some point and remove the linked files.
My plan is to continue adding examples to this repo as ideas for additional CLI tools come to mind (or as I need them). I have created an initial road map here but am flexible if anyone has other ideas on what they’d like to see examples on (assuming, of course, that Microsoft has provided the necessary APIs to implement the examples). Or, if you’d like to contribute code, feel free to create a pull request and we’ll do what we can to get it worked in.