-
Notifications
You must be signed in to change notification settings - Fork 0
AzDoPipelinePermission
Michael Zanatta edited this page Aug 19, 2026
·
4 revisions
AzDoPipelinePermission [string] #ResourceName
{
ProjectName = [String]$ProjectName
PipelineName = [String]$PipelineName
GroupName = [String]$GroupName
[ isInherited = [Boolean]$isInherited ]
[ Permissions = [HashTable[]]$Permissions ]
[ Ensure = [String] {'Present', 'Absent'} ]
}AzDoPipelinePermission/Permissions
{
Identity = [String]$Identity # Syntax
# SYNTAX: '[ProjectName | OrganizationName]\ServicePrincipalName, UserPrincipalName, UserDisplayName, GroupDisplayName'
# EXAMPLE: '[TestProject]\UserName@email.com'
# EXAMPLE: '[SampleOrganizationName]\Project Collection Administrators'
Permission = [Hashtable]$Permissions # See 'Permission List'
}AzDoPipelinePermission/Permissions/Permission
{
PermissionName|PermissionDisplayName = [String]$Name { 'Allow, Deny' }
}Either 'Name' or 'DisplayName' can be used, but we Strongly Recommend that you use 'Name' in your configuration.
| Name | DisplayName | Values | Note |
|---|---|---|---|
| ViewBuilds | View builds | [ allow, deny ] | |
| EditBuildQuality | Edit build quality | [ allow, deny ] | |
| RetainIndefinitely | Retain indefinitely | [ allow, deny ] | |
| DeleteBuilds | Delete builds | [ allow, deny ] | |
| ManageBuildQualities | Manage build qualities | [ allow, deny ] | |
| DestroyBuilds | Destroy builds | [ allow, deny ] | |
| UpdateBuildInformation | Update build information | [ allow, deny ] | |
| QueueBuilds | Queue builds | [ allow, deny ] | |
| ManageBuildQueue | Manage build queue | [ allow, deny ] | |
| StopBuilds | Stop builds | [ allow, deny ] | |
| ViewBuildDefinition | View build pipeline | [ allow, deny ] | |
| EditBuildDefinition | Edit build pipeline | [ allow, deny ] | |
| DeleteBuildDefinition | Delete build pipeline | [ allow, deny ] | |
| OverrideBuildCheckInValidation | Override check-in validation by build | [ allow, deny ] | |
| AdministerBuildPermissions | Administer build permissions | [ allow, deny ] | Not recommended. |
- ProjectName: The name of the Azure DevOps project. This property is mandatory and serves as a key property for the resource.
- PipelineName: The name of the pipeline. This is a key property.
-
GroupName: The name of the group to grant permissions to. This is a key property. Use the format
[ProjectName]\GroupName. -
isInherited: Whether permissions are inherited from the parent. Defaults to
$true. - Permissions: A HashTable that specifies the permissions to be set. Refer to: 'Permissions Syntax'.
-
Ensure: Specifies whether the permissions should exist. Valid values are
PresentandAbsent.
This resource manages security permissions on individual Azure DevOps pipelines (build security namespace), controlling which groups can view, queue, or manage specific pipeline definitions.
Configuration ExampleConfig {
Import-DscResource -ModuleName 'AzureDevOpsDscNative'
Node localhost {
AzDoPipelinePermission AddPipelinePermission {
Ensure = 'Present'
ProjectName = 'MyProject'
PipelineName = 'MyBuildPipeline'
GroupName = '[MyProject]\Contributors'
isInherited = $true
Permissions = @(
@{
Identity = '[MyProject]\Contributors'
Permission = @{
'ViewBuilds' = 'Allow'
'QueueBuilds' = 'Allow'
}
}
)
}
}
}
Start-DscConfiguration -Path ./ExampleConfig -Wait -Verbose# Return the current configuration for AzDoPipelinePermission
$properties = @{
ProjectName = 'MyProject'
PipelineName = 'MyBuildPipeline'
GroupName = '[MyProject]\Contributors'
isInherited = $true
Permissions = @(
@{
Identity = '[MyProject]\Contributors'
Permission = @{
'ViewBuilds' = 'Allow'
}
}
)
}
Invoke-DscResource -Name 'AzDoPipelinePermission' -Method Get -Property $properties -ModuleName 'AzureDevOpsDscNative'parameters: {}
variables: {
ProjectName: MyProject,
PipelineName: MyBuildPipeline
}
resources:
- name: Pipeline Contributors Permission
type: AzureDevOpsDscNative/AzDoPipelinePermission
dependsOn:
- AzureDevOpsDscNative/AzDoPipeline/MyBuildPipeline
properties:
ProjectName: $ProjectName
PipelineName: $PipelineName
GroupName: '[$ProjectName]\Contributors'
isInherited: true
Permissions:
- Identity: '[$ProjectName]\Contributors'
Permission:
ViewBuilds: Allow
QueueBuilds: 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