-
Notifications
You must be signed in to change notification settings - Fork 0
AzDoIterationPermission
Michael Zanatta edited this page Aug 19, 2026
·
4 revisions
AzDoIterationPermission [string] #ResourceName
{
ProjectName = [String]$ProjectName
IterationPath = [String]$IterationPath
[ isInherited = [Boolean]$isInherited ]
[ Permissions = [HashTable[]]$Permissions ]
[ Ensure = [String] {'Present', 'Absent'} ]
}The IterationPath property is optional. If it is not provided, the permissions will be applied at the project-level iterations node.
- ProjectName: The name of the Azure DevOps project. This property is mandatory and serves as a key property for the resource.
-
IterationPath: The iteration path to set permissions on (e.g.,
\MyProject\Sprint 1). If omitted, permissions apply at the root iteration level. -
isInherited: Whether permissions are inherited. Defaults to
$true. - Permissions: An array of permission hashtables specifying the permissions to set.
-
Ensure: Specifies whether the permissions should exist. Valid values are
PresentandAbsent.
AzDoIterationPermission/Permissions
{
Identity = [String]$Identity
# SYNTAX: '[ProjectName | OrganizationName]\GroupDisplayName'
# EXAMPLE: '[MyProject]\My Team'
Permission = [Hashtable]$Permissions
}| Name | DisplayName | Values |
|---|---|---|
| GENERIC_READ | View this node | [ allow, deny ] |
| GENERIC_WRITE | Edit this node | [ allow, deny ] |
| CREATE_CHILDREN | Create child nodes | [ allow, deny ] |
| DELETE | Delete this node | [ allow, deny ] |
| WORK_ITEM_READ | View work items in this node | [ allow, deny ] |
| WORK_ITEM_WRITE | Edit work items in this node | [ allow, deny ] |
| MANAGE_TEST_PLANS | Manage test plans | [ allow, deny ] |
| MANAGE_TEST_SUITES | Manage test suites | [ allow, deny ] |
This resource allows you to manage Azure DevOps iteration path permissions using Desired State Configuration (DSC). It controls which users or groups can view, edit, or manage work items within specific iteration paths.
Configuration ExampleConfig {
Import-DscResource -ModuleName 'AzureDevOpsDscNative'
Node localhost {
AzDoIterationPermission AddIterationPermission {
Ensure = 'Present'
ProjectName = 'MyProject'
IterationPath = '\MyProject\Sprint 1'
isInherited = $false
Permissions = @(
@{
Identity = '[MyProject]\My Team'
Permission = @{
'WORK_ITEM_READ' = 'Allow'
'WORK_ITEM_WRITE' = 'Allow'
}
}
)
}
}
}
Start-DscConfiguration -Path ./ExampleConfig -Wait -Verbose# Return the current configuration for AzDoIterationPermission
$properties = @{
ProjectName = 'MyProject'
IterationPath = '\MyProject\Sprint 1'
isInherited = $false
Permissions = @(
@{
Identity = '[MyProject]\My Team'
Permission = @{
'WORK_ITEM_READ' = 'Allow'
'WORK_ITEM_WRITE' = 'Allow'
}
}
)
}
Invoke-DscResource -Name 'AzDoIterationPermission' -Method Get -Property $properties -ModuleName 'AzureDevOpsDscNative'parameters: {}
variables: {
ProjectName: MyProject
}
resources:
- name: Sprint 1 Team Permissions
type: AzureDevOpsDscNative/AzDoIterationPermission
dependsOn:
- AzureDevOpsDscNative/AzDoIterationNodes/MyProject
properties:
ProjectName: $ProjectName
IterationPath: '\$ProjectName\Sprint 1'
isInherited: false
Permissions:
- Identity: '[$ProjectName]\My Team'
Permission:
WORK_ITEM_READ: Allow
WORK_ITEM_WRITE: Allow
Ensure: PresentLCM Initialization:
$params = @{
AzureDevopsOrganizationName = "SampleAzDoOrgName"
ConfigurationDirectory = "C:\Datum\DSCOutput\"
ConfigurationUrl = 'https://configuration-path'
JITToken = 'SampleJITToken'
Mode = 'Set'
AuthenticationType = 'ManagedIdentity'
ReportPath = 'C:\Datum\DSCOutput\Reports'
}
Invoke-DscPipelineRunner @params- Assert-BoundParameter
- Assert-ElevatedUser
- Assert-IPAddress
- Assert-Module
- AzDoAPI_0_ProjectCache
- AzDoAPI_1_GroupCache
- AzDoAPI_2_UserCache
- AzDoAPI_3_GroupMemberCache
- AzDoAPI_4_GitRepositoryCache
- AzDoAPI_5_PermissionsCache
- AzDoAPI_6_ServicePrinciple
- AzDoAPI_7_IdentitySubjectDescriptors
- AzDoAPI_8_ProjectProcessTemplates
- AzDoAPI_9_DevOpsClassificationNodes
- Compare-DscParameterState
- Compare-ResourcePropertyState
- ConvertFrom-DscResourceInstance
- ConvertTo-Base64String
- ConvertTo-CimInstance
- ConvertTo-HashTable
- Find-Certificate
- Format-Path
- Get-AzDevOpsOperation
- Get-AzDevOpsServicesApiUri
- Get-AzDevOpsServicesUri
- AzDoAgentPool
- AzDoAgentPoolPermission
- AzDoAgentQueue
- AzDoAreaNodes
- AzDoAreaPermission
- AzDoArtifactFeed
- AzDoArtifactFeedPermission
- AzDoArtifactFeedSettings
- AzDoArtifactFeedView
- AzDoAuditStream
- AzDoBranchPolicy
- AzDoCheckConfiguration
- AzDoDeploymentGroup
- AzDoEnvironmentApproval
- AzDoEnvironmentPermission
- AzDoExtension
- AzDoGitPermission
- AzDoGitRepository
- AzDoGroupMember
- AzDoGroupPermission
- AzDoIterationNodes
- AzDoIterationPermission
- AzDoNotificationSubscription
- AzDoOrganizationGroup
- AzDoOrganizationSettings
- AzDoPipeline
- AzDoPipelineEnvironment
- AzDoPipelinePermission
- AzDoPipelineSettings
- AzDoProcess
- AzDoProcessPermission
- AzDoProject
- AzDoProjectGroup
- AzDoProjectPermission
- AzDoProjectServices
- AzDoRepositorySettings
- AzDoSecurityNamespacePermission
- AzDoServiceConnection
- AzDoServiceConnectionPermission
- AzDoServiceHook
- AzDoTaskGroup
- AzDoTeam
- AzDoTeamMember
- AzDoTeamSettings
- AzDoUserEntitlement
- AzDoVariableGroup
- AzDoVariableGroupPermission
- AzDoWiki
- AzDoWIPTags