azdoutil 1.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global azdoutil --version 1.2.1                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local azdoutil --version 1.2.1                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=azdoutil&version=1.2.1                
nuke :add-package azdoutil --version 1.2.1                

azdoutil

A collection of useful Azure DevOps utilities.

Written by Benjamin Day
Pluralsight Author | Microsoft MVP | Scrum.org Professional Scrum Trainer
https://www.benday.com
info@benday.com

Got ideas for Azure DevOps utilities you'd like to see? Found a bug? Let us know by submitting an issue https://github.com/benday-inc/azdoutil/issues. Want to contribute? Submit a pull request.

Installing

The azdoutil is distributed as a .NET Core Tool via NuGet. To install it go to the command prompt and type
dotnet tool install azdoutil -g

Prerequisites

Getting Started

Everything starts with a configuration. After you've installed azdoutil, you'll need to run azdoutil addconfig to add a configuration. A configuration is how you store the URL for your Azure DevOps instance and the personal access token (PAT) for authenticating to that instance.

Configurations are named and you can have as many as you'd like.

Set a Default Configuration

There's one default configuration named (default). If you only work with one Azure DevOps instance, then all you'll need to do is to is run azdoutil addconfig /url:{url} /pat:{pat} and that will set your default configuration.

Additional Named Configurations

If you want to add additional named configurations, you'll run azdoutil addconfig /config:{name} /url:{url} /pat:{pat}.

Running Commands

Once you've set a default configuration, you can run any azdoutil command without having to specify any additional URL or PAT info.

If you want to run a command against an Azure DevOps instance that is NOT your default, you'll need to supply the /config:{name}.

Managing Configurations

To add new configuration or modify an existing configuration, use the azdoutil addconfig command. You can list your configurations using the azdoutil listconfig command. To delete a configuration, use the azdoutil removeconfig command.

Commands

Command Name Description
addconfig Add or update an Azure DevOps configuration. For example, which server or account plus auth information.
changeprocess Change the process for a Team Project
addrefinementprocess Creates backlog refinement process template as described at https://www.benday.com/2022/09/29/streamlining-backlog-refinement-with-azure-devops/
creategitrepo Creates a Git repository in an Azure DevOps Team Project.
createproject List team projects
deleteproject Delete team project
exportworkitemquery Export work item query results
forecastdurationforitemcount Use throughput data to forecast likely number of weeks to get given number of items done using Monte Carlo simulation
forecastitemsinweeks Use throughput data to forecast likely number of items done in given number of weeks using Monte Carlo simulation
getareas Gets a list of areas in an Azure DevOps Team Project.
throughputcycletime Get cycle time and throughput data for a team project for a date range
getiterations Gets a list of iterations in an Azure DevOps Team Project.
getproject Get team project info
getworkitem Get work item by id
getfields Gets a list of work item fields for a work item type in an Azure DevOps Team Project.
getworkitemstates Gets the list of states for a work item type in an Azure DevOps Team Project.
getworkitemtypes Gets a list of work item types in an Azure DevOps Team Project.
listconfig List an Azure DevOps configuration. For example, which server or account plus auth information.
listgitrepos Gets list of Git repositories from an Azure DevOps Team Project.
listprocesstemplates List process templates
listprojects List team projects
listworkitemqueries Gets a list of all work item queries in an Azure DevOps Team Project.
removeconfig Remove an Azure DevOps configuration. For example, which server or account plus auth information.
runworkitemquery Run work item query
setiteration Create iteration including start and end date
setworkitemstate Set the state value on an existing work item
showworkitemquery Show work item query
createfromgenerator Create work items using random data generator
createfromexcel Create work items using Excel script

addconfig

Add or update an Azure DevOps configuration. For example, which server or account plus auth information.

Arguments

Argument Is Optional Data Type Description
config Optional String Name of the configuration
pat Required String PAT for this collection
url Required String URL for this collection (example: https://dev.azure.com/accountname)

changeprocess

Change the process for a Team Project

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name
processname Required String New process name

addrefinementprocess

Creates backlog refinement process template as described at https://www.benday.com/2022/09/29/streamlining-backlog-refinement-with-azure-devops/

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use

creategitrepo

Creates a Git repository in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the git repositories
reponame Required String Name of the new git repository

createproject

List team projects

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name
processname Required String Process template name

deleteproject

Delete team project

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name to delete
confirm Optional Boolean Confirm delete

exportworkitemquery

Export work item query results

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name to delete
queryname Required String Work item query name
exporttopath Required String Export to path

forecastdurationforitemcount

Use throughput data to forecast likely number of weeks to get given number of items done using Monte Carlo simulation

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
numberofdays Required Int32 Number of days of history to compute
teamproject Required String Team project name
forecastitemcount Required Int32 Number of items to forecast duration for

forecastitemsinweeks

Use throughput data to forecast likely number of items done in given number of weeks using Monte Carlo simulation

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
numberofdays Required Int32 Number of days of history to compute
teamproject Required String Team project name
forecastweeks Required Int32 Number of weeks into the future to forecast

getareas

Gets a list of areas in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the iterations
verbose Optional Boolean Verbose output

throughputcycletime

Get cycle time and throughput data for a team project for a date range

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
numberofdays Required Int32 Number of days of history to compute
teamproject Required String Team project name

getiterations

Gets a list of iterations in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the iterations
verbose Optional Boolean Verbose output

getproject

Get team project info

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name

getworkitem

Get work item by id

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
id Required Int32 Work item id

getfields

Gets a list of work item fields for a work item type in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the work item type
workitemtypename Required String Name of the work item type

getworkitemstates

Gets the list of states for a work item type in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the work item type
workitemtypename Required String Name of the work item type

getworkitemtypes

Gets a list of work item types in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the work item types

listconfig

List an Azure DevOps configuration. For example, which server or account plus auth information.

Arguments

Argument Is Optional Data Type Description
config Optional String Name of the configuration

listgitrepos

Gets list of Git repositories from an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the git repositories

listprocesstemplates

List process templates

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use

listprojects

List team projects

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use

listworkitemqueries

Gets a list of all work item queries in an Azure DevOps Team Project.

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name that contains the work item queries

removeconfig

Remove an Azure DevOps configuration. For example, which server or account plus auth information.

Arguments

Argument Is Optional Data Type Description
config Required String Name of the configuration

runworkitemquery

Run work item query

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name containing the qork item query to run
queryname Required String Work item query name

setiteration

Create iteration including start and end date

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project name
startdate Required DateTime Iteration start date
enddate Required DateTime Iteration end date
name Required String Iteration name

setworkitemstate

Set the state value on an existing work item

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
state Required String Work item state value
id Required Int32 Work item id for the work item to be updated
date Optional DateTime Iteration end date
override Optional Boolean Override non-matching state values and force set the value you want

showworkitemquery

Show work item query

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
teamproject Required String Team project that contains the work item query
queryname Required String Work item query name

createfromgenerator

Create work items using random data generator

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
skipfuturedates Optional Boolean Skip script steps that occur in the future
numberofsprints Required Int32 Number of sprints to generate
teamproject Required String Name of the team project
processname Required String Process template name
createproject Required Boolean Creates the team project if it doesn't exist
alldone Optional Boolean All PBIs in a sprint makes it to done
addsessiontag Optional Boolean Add a session tag to work items
output Optional String Save generated script file to disk in this directory. Note the filename will be auto-generated.
scriptonly Optional Boolean Creates the excel export script. Requires an arg value for 'output'

createfromexcel

Create work items using Excel script

Arguments

Argument Is Optional Data Type Description
quiet Optional Boolean Quiet mode
config Optional String Configuration name to use
skipfuturedates Optional Boolean Skip script steps that occur in the future
pathtoexcel Required String Path to the Excel script
startdate Required DateTime Date for the start of the Excel script
teamproject Required String Name of the team project
processname Required String Process template name
createproject Required Boolean Creates the team project if it doesn't exist
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
2.9.2 75 2/12/2025
2.9.1 77 2/11/2025
2.9.0 88 2/11/2025
2.8.0 74 2/11/2025
2.7.0 68 2/10/2025
2.6.0 82 2/7/2025
2.5.0 48 2/6/2025
2.2.2-alpha 116 5/7/2024
2.2.1-alpha 109 5/7/2024
2.2.0-alpha 131 5/7/2024
2.1.0 136 10/8/2024
2.0.0 248 3/26/2024
1.13.0 254 10/4/2023
1.12.4 313 8/7/2023
1.12.3 176 7/27/2023
1.12.1 176 7/27/2023
1.11.0 193 6/27/2023
1.10.0 204 6/5/2023
1.9.0 190 6/1/2023
1.7.0 183 6/1/2023
1.6.0 216 4/20/2023
1.5.0 261 4/13/2023
1.3.0 301 3/1/2023
1.2.1 280 2/28/2023
1.2.0 287 2/28/2023
1.1.0 309 2/27/2023
1.0.0 297 2/23/2023