AzureDevOpsDscNative.AzDoWIPTagHygiene.dsc.adaptedResource.json

{
  "$schema": "https://aka.ms/dsc/schemas/v3/bundled/adaptedresource/manifest.json",
  "type": "AzureDevOpsDscNative/AzDoWIPTagHygiene",
  "kind": "resource",
  "version": "1.1.0",
  "capabilities": [
    "set",
    "test",
    "get"
  ],
  "description": "DSC resource that detects and corrects misaligned Azure DevOps work item tags.",
  "author": "ZanattaMichael",
  "requireAdapter": "Microsoft.Adapter/PowerShell",
  "path": "AzureDevOpsDscNative.psd1",
  "schema": {
    "embedded": {
      "additionalProperties": false,
      "type": "object",
      "description": "DSC resource that detects and corrects misaligned Azure DevOps work item tags.",
      "title": "AzureDevOpsDscNative/AzDoWIPTagHygiene",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "Ensure": {
          "type": "string",
          "enum": [
            "Present",
            "Absent"
          ],
          "title": "Ensure",
          "description": "The Ensure property."
        },
        "LookupResult": {
          "type": "object",
          "title": "LookupResult",
          "readOnly": true,
          "description": "The LookupResult property."
        },
        "ProjectName": {
          "type": "string",
          "title": "ProjectName",
          "description": "The name of the Azure DevOps project."
        },
        "CanonicalTags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "title": "CanonicalTags",
          "description": "The approved tag vocabulary. Usually the same list given to AzDoWIPTags."
        },
        "Aliases": {
          "items": {
            "type": "object"
          },
          "type": "array",
          "title": "Aliases",
          "description": "Explicit mappings applied regardless of threshold: @( @{ From = 'Bugfix'; To = 'Bug' } )"
        },
        "MatchStrategy": {
          "type": "string",
          "enum": [
            "Exact",
            "Fuzzy",
            "Both"
          ],
          "title": "MatchStrategy",
          "description": "'Exact', 'Fuzzy' or 'Both'. Defaults to 'Exact'."
        },
        "SimilarityThreshold": {
          "type": "integer",
          "title": "SimilarityThreshold",
          "description": "0-100. The minimum normalized similarity for a fuzzy match. Defaults to 85."
        },
        "MinimumTagLength": {
          "type": "integer",
          "title": "MinimumTagLength",
          "description": "Tags shorter than this are never fuzzy-matched. Defaults to 5."
        },
        "ExcludedTags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "title": "ExcludedTags",
          "description": "Tags that are never touched."
        },
        "RemediationAction": {
          "type": "string",
          "enum": [
            "Report",
            "Merge"
          ],
          "title": "RemediationAction",
          "description": "'Report' (the default) detects and reports without changing anything. 'Merge' applies the corrections."
        },
        "MaxAutoCorrections": {
          "type": "integer",
          "title": "MaxAutoCorrections",
          "description": "A safety cap. If more misalignments are found than this, nothing is merged and the resource reports an error instead - a misconfigured vocabulary should not quietly rewrite a whole project. Defaults to 25."
        }
      },
      "required": [
        "ProjectName",
        "CanonicalTags"
      ]
    }
  }
}