The AzDevOps project is designed to leverage the Azure Devops Rest API through the use of PowerShell. Currently the modules are all written in PowerShell which should make the code easier to understand and modify as needed. The project will use Semantic Versioning for modules, these version numbers should also be reflected in the tags.
The AzDevOps module is composed of multiple nested modules, each module represents a specific set of APIs that are available. Each of these modules is a self-contained repository within the project and should have the same look and feel throughout. Several tools are leveraged to facilitate keeping things as uniform as possible and we will outline them below.
This project uses PlatyPS for framing and updating the help files and external help used by the functions.
A few things within each module are automated by psake such as the functions that are exported, as well as the README file for each module.
This is currently a work in progress, but we should be leveraging pester in a future update as well as the PowerShellBuild Module. Additionally we will be leveraging Azure Pipelines to validate versions of PowerShell and OS compatability.
The module will be available directly from GitHub, we are looking to create Tagged releases that are easy to download. Additionally the code will be available on the PowerShell Gallery for a more streamlined delivery.
This module provides the ability to manage and work with an Azure Devops organization.
This function will connect to Azure DevOps
Return one or more builds from a project
Gets a definition, optionally at a specific revision.
Gets a list of build definition folders
Gets the logs for a build
Gets an operation from the the operationId using the given pluginId.
Get one or more available processes
Get one or many projects from Azure DevOps
Get a collection of team project Property
Get a specific team
Get a list of members for a specific team.
Query Azure Devops
Creates a new folder
Queues a project to be created
Create a team in a team project
Deletes a build
Deletes a definition folder
Queues a project to be deleted
Delete a team.
Queues a build
Update Name, Description or Abbreviation of a project
Update a team’s name and/or description