AzureDevOpsDscNative

1.0.0-preview6

A fork of the DSC Community AzureDevOpsDsc module with native DSC v3 support: every resource is discoverable and invokable by dsc.exe via the Microsoft.Adapter/PowerShell adapter, using generated adapted resource manifests, without requiring a wrapper resource.

Minimum PowerShell version

7.0

This is a prerelease version of AzureDevOpsDscNative.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name AzureDevOpsDscNative -RequiredVersion 1.0.0-preview6 -AllowPrerelease

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name AzureDevOpsDscNative -Version 1.0.0-preview6 -Prerelease

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

Copyright the DSC Community contributors and ZanattaMichael. All rights reserved.

Package Details

Author(s)

  • ZanattaMichael

Tags

DesiredStateConfiguration DSC DSCResourceKit DSCResource DSCv3 AzureDevOps

DSCResources

AzDoGroupPermission AzDoOrganizationGroup AzDoProject AzDoProjectServices AzDoProjectGroup AzDoGroupMember AzDoGitRepository AzDoGitPermission AzDoAreaPermission AzDoIterationPermission AzDoWIPTags AzDoAreaNodes AzDoIterationNodes AzDoBranchPolicy AzDoVariableGroup AzDoServiceConnection AzDoPipelineEnvironment AzDoAgentPool AzDoAgentQueue AzDoTeam AzDoTeamMember AzDoPipeline AzDoPipelinePermission AzDoEnvironmentApproval AzDoVariableGroupPermission AzDoServiceConnectionPermission AzDoAgentPoolPermission AzDoSecurityNamespacePermission AzDoArtifactFeed AzDoArtifactFeedPermission AzDoDeploymentGroup AzDoTaskGroup AzDoOrganizationSettings AzDoExtension AzDoAuditStream AzDoProjectPermission AzDoEnvironmentPermission AzDoWiki AzDoNotificationSubscription AzDoRepositorySettings AzDoCheckConfiguration AzDoTeamSettings AzDoArtifactFeedSettings AzDoArtifactFeedView AzDoProcess AzDoProcessPermission AzDoUserEntitlement AzDoServiceHook AzDoPipelineSettings

Dependencies

This module has no dependencies.

Release Notes

## [1.0.0-preview6] - 2026-09-04

### Changed

- AzureDevOpsDscNative
 - Updated the `Dsc.PipelineRunner` documentation in `USAGE.md` and the
   "Pipeline runner initialization" example in every resource doc under
   `source/Examples/Resources` (published to the GitHub wiki on release) to
   match the latest `Dsc.PipelineRunner` release: `Invoke-AzDoLCM` is now
   `Invoke-DscPipelineRunner` (an Azure DevOps back-compat shim) or, for new
   integrations, the provider-agnostic `Invoke-DscRunner`. The
   `ConfigurationDirectory` and `ConfigurationUrl` parameters were renamed to
   `exportConfigDir` and `ConfigurationSourcePath`, and the cache directory
   environment variable is now `PIPELINERUNNER_CACHE_DIRECTORY` (with
   `AZDODSC_CACHE_DIRECTORY` retained as a back-compat alias).
 - The integration-test release gate now differentiates between a full release
   and a prerelease. A full release tag (`vX.Y.Z`) still requires every
   integration test to pass; a prerelease tag (`vX.Y.Z-<suffix>`) passes
   `allowFailures=true` to the integration workflow, so individual test failures
   are logged as warnings but the release still proceeds - preview builds can
   ship despite flaky or in-progress tests. Setup and infrastructure failures
   (Pester missing, module not resolving, no test result at all) still fail the
   gate in both modes, so a broken environment cannot silently pass. Implemented
   by an `-AllowFailures` switch on `Invoke-Tests.ps1` and an `allowFailures`
   input on `integration-tests.yml` that `publish.yml` sets from the tag.

### Added

- AzureDevOpsDscNative
 - Added a `/run-azuredevopsdscnative` skill (`.claude/skills/run-azuredevopsdscnative/`)
   with a self-contained driver script for running the Common unit suite
   headless on Linux from a clean container. Installs PowerShell 7 if missing,
   side-loads Pester 5.7.1 from `api.nuget.org` when PowerShell Gallery is
   unreachable, runs the bootstrap, and exits non-zero on test failure. Does
   not run the Classes suite (needs a built module) or the build (needs
   PSGallery-hosted Sampler/ModuleBuilder) or integration tests (need the
   self-hosted runner and a live org).
 - Added a DSC v3 integration test suite under `tests/Integration/V3/`, run by
   `Invoke-V3Tests.ps1` alongside the existing v2 suite on the self-hosted
   runner. It exercises `AzDoProject`, `AzDoGitRepository` and
   `AzDoProjectGroup` end to end through the `dsc` CLI and the PowerShell
   adapter, rather than through `Invoke-DscResource`, so the DSC v3 path is
   covered by CI. The adapter type is resolved at runtime -
   `Microsoft.Adapter/PowerShell` on DSC 3.2.0 and later, falling back to the
   deprecated `Microsoft.DSC/PowerShell` on an older CLI - and can be pinned
   with the `DSC_V3_ADAPTER` environment variable. The runner reports
   pass/fail counts and exits non-zero on failure, and honours the same
   `-AllowFailures` switch as the v2 runner, so a prerelease is not blocked by
   an in-progress v3 test.
 - Added `.github/workflows/integration-tests-v3.yml`, a standalone workflow
   for the DSC v3 suite. It is kept separate from `integration-tests.yml`
   deliberately: the v2 suite takes the better part of an hour, so running v3
   inside it means waiting v2 out to learn anything about v3. Split, the two
   can be dispatched, gated and re-run independently, and since both target the
   same self-hosted runner they queue rather than contend. The workflow builds
   the module, pins `PSModulePath` to that single build, installs the `dsc`
   CLI, runs `Invoke-V3Tests.ps1` and uploads
   `v3-integration-test-results.xml`. `publish.yml` calls it as a second
   release gate beside the v2 gate, with the same prerelease `allowFailures`
   rule, so a release still gates on both suites.
 - Added `tests/Integration/V3/Manifests/DscV3Manifests.tests.ps1`, covering the
   DSC v3 adapted resource manifests that `build.ps1 -Tasks dscv3` generates.
   Nothing was checking them, and their failure mode is silent:
   `DscResource.Authoring` derives each property's JSON schema type from the
   AST type name, which yields `System.Boolean` for this module's convention
   rather than the `bool` its type map expects, so the property quietly falls
   back to `"string"`. `Fix_DscAdaptedResourceManifestTypes` repairs that after
   generation - 25 of the 49 manifests need it - but if that task stops running
   or stops matching, every boolean and numeric property becomes a string again
   and the build still goes green. The suite asserts a manifest exists for every
   `[DscResource()]` class, that each declares the right type and the built
   module version, that every property's schema type matches the type its class
   declares, that no configurable `[DscProperty()]` is missing, that the
   combined manifest list agrees with the individual files (they are generated
   and patched separately, so they can drift), and that the `dsc` CLI can
   actually discover the resources through the adapter. Class shapes are read
   from the built module's AST, including inherited properties, so the checks do
   not need a DSC host able to load the module.
- AzureDevOpsDsc
 - Added DSC v3 support: all 49 class-based DSC resources now declare `Set()`
   and `Test()` directly (delegating to `AzDevOpsDscResourceBase`) instead of
   relying on pure inheritance, so both the `Microsoft.Adapter/PowerShell`
   runtime adapter and `DscResource.Authoring`'s manifest generator correctly
   detect `get`/`set`/`test` capabilities instead of only `get`.
 - Added a `dscv3` build workflow (`Create_DscAdaptedResourceManifests`,
   `Create_DscResourceManifestsList` from `DscResource.Authoring`) that
   generates DSC v3 adapted resource manifests for every resource into the
   built module output, and wired it into `pack`.
 - Renamed the module from `AzureDevOpsDsc` to `AzureDevOpsDscNative` for
   publishing under this fork, since PowerShell Gallery names are globally
   unique and this repo doesn't own the existing `AzureDevOpsDsc` listing.
 - Added GitHub Actions workflows: `build.yml` (build + generate DSC v3
   manifests as CI artifacts on every push/PR), `unit-tests.yml` (runs the
   Classes and Common unit test suites), and `publish.yml` (tag-triggered
   release: builds, re-runs both test suites as a release gate, packages the
   module, and publishes a GitHub Release plus - once a Gallery API key is
   configured - PowerShell Gallery).
 - Updated pipeline files to support change of default branch to main.
 - Added GitHub issue templates and pull request template
 ([issue #1](https://github.com/dsccommunity/AzureDevOpsDsc/issues/1))
 - Added the `AzDevOpsProject`, DSC Resource
 - Fixed non-terminating, integration tests ([issue #18](https://github.com/dsccommunity/AzureDevOpsDsc/issues/18))
 - Increased Azure DevOps, API timeout to 5 minutes to allow for busy/slow API
   operations ([issue #25](https://github.com/dsccommunity/AzureDevOpsDsc/issues/25)).
 - Updated contextual help ([issue #5](https://github.com/dsccommunity/AzureDevOpsDsc/issues/5)).
 - Removed `Classes` directory from being output in packaged module ([issue #10](https://github.com/dsccommunity/AzureDevOpsDsc/issues/10)).
 - Removed `Examples` directory from being output in packaged module ([issue #11](https://github.com/dsccommunity/AzureDevOpsDsc/issues/11)).
 - Moved 'Ensure' and 'RequiredAction' enums into 'Enum' directory and out of
   'prefix.ps1' ([issue #12](https://github.com/dsccommunity/AzureDevOpsDsc/issues/12)).
 - Added pipeline support for publish markdown content to the GitHub repository
   wiki ([issue #15](https://github.com/dsccommunity/AzureDevOpsDsc/issues/15)).
   This will publish the markdown documentation that is generated by the build pipeline.
 - Added new source folder `WikiSource`. Every markdown file in the folder
   `WikiSource` will be published to the GitHub repository wiki. The markdown
   file `Home.md` will be updated with the correct module version on each
   publish to gallery (including preview).
 - CodeCov integration.
- Added Resources:
 - AzDoGroupPermission
 - AzDoOrganizationGroup
 - AzDoProjectGroup
 - AzDoGroupMember
 - AzDoGitRepository
 - AzDoGitPermission
 - AzDoTeamSettings
 - AzDoArtifactFeedSettings
 - AzDoArtifactFeedView
 - AzDoProcess
 - AzDoProcessPermission
 - AzDoAgentPool
 - AzDoAgentPoolPermission
 - AzDoAgentQueue
 - AzDoAreaNodes
 - AzDoAreaPermission
 - AzDoArtifactFeed
 - AzDoArtifactFeedPermission
 - AzDoAuditStream
 - AzDoBranchPolicy
 - AzDoCheckConfiguration
 - AzDoDeploymentGroup
 - AzDoEnvironmentApproval
 - AzDoEnvironmentPermission
 - AzDoExtension
 - AzDoIterationNodes
 - AzDoIterationPermission
 - AzDoNotificationSubscription
 - AzDoOrganizationSettings
 - AzDoPipeline
 - AzDoPipelineEnvironment
 - AzDoPipelinePermission
 - AzDoProject
 - AzDoProjectPermission
 - AzDoProjectServices
 - AzDoRepositorySettings
 - AzDoSecurityNamespacePermission
 - AzDoServiceConnection
 - AzDoServiceConnectionPermission
 - AzDoTaskGroup
 - AzDoTeam
 - AzDoTeamMember
 - AzDoVariableGroup
 - AzDoVariableGroupPermission
 - AzDoWIPTags
 - AzDoWiki
 - AzDoUserEntitlement
 - AzDoServiceHook
 - AzDoPipelineSettings
- AzureDevOpsDsc.Common
 - Added New-AzDoAuthenticationProvider. This is invoked prior to the resource invocation.
 - Added 'wrapper' functionality around the [Azure DevOps REST API](https://docs.microsoft.com/en-us/rest/api/azure/devops/)
 - Added Supporting Functions for Azure Managed Identity.
- Added Unit Testing to AzureDevOpsDsc.Common


### Changed

- AzureDevOpsDscNative
 - Made the integration test suite a hard release gate. `publish.yml` is now
 

FileList

Version History

Version Downloads Last updated
1.0.0 881 9/4/2026
1.0.0-preview6 (current version) 6 9/4/2026
1.0.0-preview5 4 8/27/2026
1.0.0-preview4 4 8/19/2026
1.0.0-preview02 4 8/18/2026