Pipelines.dll-Help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Job</command:name>
      <command:verb>New</command:verb>
      <command:noun>Job</command:noun>
      <maml:description>
        <maml:para>This Cmdlet creates an Ado Job object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>You can organize your pipeline into jobs. Every pipeline has at least one job. A job is a series of steps that run sequentially as a unit. In other words, a job is the smallest unit of work that can be scheduled to run.</maml:para>
      <maml:para>Azure Pipelines does not support job priority for YAML pipelines. To control when jobs run, you can specify conditions and dependencies.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Job</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Required as first property. ID of the job.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Pool</maml:name>
          <maml:description>
            <maml:para>Pool where this job will run.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Pool</command:parameterValue>
          <dev:type>
            <maml:name>ModPosh.Pipelines.Ado.Pool</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Variables</maml:name>
          <maml:description>
            <maml:para>Job-specific variables.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>Steps</maml:name>
          <maml:description>
            <maml:para>A list of steps to run.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Template[]</command:parameterValue>
          <dev:type>
            <maml:name>ModPosh.Pipelines.Ado.Template[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Required as first property. ID of the job.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Pool</maml:name>
        <maml:description>
          <maml:para>Pool where this job will run.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Pool</command:parameterValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Pool</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>Steps</maml:name>
        <maml:description>
          <maml:para>A list of steps to run.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Template[]</command:parameterValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Template[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Variables</maml:name>
        <maml:description>
          <maml:para>Job-specific variables.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Job</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; New-Job -Name MyJob -Pool $Pool -Variables @{'Environment'="$[ stageDependencies.DetermineEnvironment.GetVariables.outputs['SetVariables.Environment'] ]"}
 
Name : MyJob
Pool : name: $(poolName)
            demands: Agent.Name -equals $(AgentName)
Variables : {[Environment, $[ stageDependencies.DetermineEnvironment.GetVariables.outputs['SetVariables.Environment'] ]]}
Steps : {}</dev:code>
        <dev:remarks>
          <maml:para>This creates a Job object on the Command line.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Jobs in pipeline</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&amp;tabs=yaml</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Jobs</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/jobs?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Job</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/jobs-job?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Steps</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Variables</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/variables?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Pipeline</command:name>
      <command:verb>New</command:verb>
      <command:noun>Pipeline</command:noun>
      <maml:description>
        <maml:para>This Cmdlet creates an Ado Pipeline object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A pipeline defines the continuous integration and deployment process for your app. It's made up of one or more stages. It can be thought of as a workflow that defines how your test, build, and deployment steps are run.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Pipeline</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Pipeline run number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Stages</maml:name>
          <maml:description>
            <maml:para>Stages are groups of jobs that can run without human intervention.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Stage[]</command:parameterValue>
          <dev:type>
            <maml:name>ModPosh.Pipelines.Ado.Stage[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Pipeline run number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Stages</maml:name>
        <maml:description>
          <maml:para>Stages are groups of jobs that can run without human intervention.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Stage[]</command:parameterValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Stage[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Pipeline</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; New-Pipeline -Name 'Sample'
 
Name Stages
---- ------
Sample {}</dev:code>
        <dev:remarks>
          <maml:para>This creates a Pipeline object on the Command line.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Pipelines</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/pipeline?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Stages</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/stages?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Pool</command:name>
      <command:verb>New</command:verb>
      <command:noun>Pool</command:noun>
      <maml:description>
        <maml:para>This Cmdlet creates an Ado Pool object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The pool keyword specifies which pool to use for a job of the pipeline. A pool specification also holds information about the job's strategy for running.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Pool</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of a pool</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Demands</maml:name>
          <maml:description>
            <maml:para>Demands and capabilities are designed for use with self-hosted agents so that jobs can be matched with an agent that meets the requirements of the job. When using Microsoft-hosted agents, you select an image for the agent that matches the requirements of the job, so although it is possible to add capabilities to a Microsoft-hosted agent, you don't need to use capabilities with Microsoft-hosted agents.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Demands</maml:name>
        <maml:description>
          <maml:para>Demands and capabilities are designed for use with self-hosted agents so that jobs can be matched with an agent that meets the requirements of the job. When using Microsoft-hosted agents, you select an image for the agent that matches the requirements of the job, so although it is possible to add capabilities to a Microsoft-hosted agent, you don't need to use capabilities with Microsoft-hosted agents.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of a pool</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Pool</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; New-Pool -Name '$(poolName)' -Demands 'Agent.Name -equals $(AgentName)'
 
Name Demands
---- -------
$(poolName) {Agent.Name -equals $(AgentName)}</dev:code>
        <dev:remarks>
          <maml:para>This creates a Pool object on the Command line.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Pool</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/pool?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Pool Demands</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/pool-demands?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Stage</command:name>
      <command:verb>New</command:verb>
      <command:noun>Stage</command:noun>
      <maml:description>
        <maml:para>This Cmdlet creates an Ado Stage object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A stage is a logical boundary in the pipeline. It can be used to mark separation of concerns (for example, Build, QA, and production). Each stage contains one or more jobs. When you define multiple stages in a pipeline, by default, they run one after the other.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Stage</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the stage, A-Z, a-z, 0-9, and underscore</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>A friendly name to display in the UI</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>DependsOn</maml:name>
          <maml:description>
            <maml:para>When you define multiple stages in a pipeline, by default, they run sequentially in the order in which you define them in the YAML file. The exception to this is when you add dependencies. With dependencies, stages run in the order of the dependsOn requirements.</maml:para>
            <maml:para>Pipelines must contain at least one stage with no dependencies.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>Condition</maml:name>
          <maml:description>
            <maml:para>You can specify the conditions under which each stage runs with expressions. By default, a stage runs if it doesn't depend on any other stage, or if all of the stages that it depends on have completed and succeeded. You can customize this behavior by forcing a stage to run even if a previous stage fails or by specifying a custom condition.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>Variables</maml:name>
          <maml:description>
            <maml:para>The variables keyword uses two syntax forms: variable list and mapping (string dictionary).</maml:para>
            <maml:para>In mapping syntax, all keys are variable names and their values are variable values. To use variable templates, you must use list syntax. List syntax requires you to specify whether you're mentioning a variable (name), a variable group (group), or a template (template).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>Jobs</maml:name>
          <maml:description>
            <maml:para>Every pipeline has at least one job. A job is a series of steps that run sequentially as a unit. In other words, a job is the smallest unit of work that can be scheduled to run.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Job[]</command:parameterValue>
          <dev:type>
            <maml:name>ModPosh.Pipelines.Ado.Job[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>Condition</maml:name>
        <maml:description>
          <maml:para>You can specify the conditions under which each stage runs with expressions. By default, a stage runs if it doesn't depend on any other stage, or if all of the stages that it depends on have completed and succeeded. You can customize this behavior by forcing a stage to run even if a previous stage fails or by specifying a custom condition.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>DependsOn</maml:name>
        <maml:description>
          <maml:para>When you define multiple stages in a pipeline, by default, they run sequentially in the order in which you define them in the YAML file. The exception to this is when you add dependencies. With dependencies, stages run in the order of the dependsOn requirements.</maml:para>
          <maml:para>Pipelines must contain at least one stage with no dependencies.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>A friendly name to display in the UI</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>Jobs</maml:name>
        <maml:description>
          <maml:para>Every pipeline has at least one job. A job is a series of steps that run sequentially as a unit. In other words, a job is the smallest unit of work that can be scheduled to run.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ModPosh.Pipelines.Ado.Job[]</command:parameterValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Job[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The name of the stage, A-Z, a-z, 0-9, and underscore</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>Variables</maml:name>
        <maml:description>
          <maml:para>The variables keyword uses two syntax forms: variable list and mapping (string dictionary).</maml:para>
          <maml:para>In mapping syntax, all keys are variable names and their values are variable values. To use variable templates, you must use list syntax. List syntax requires you to specify whether you're mentioning a variable (name), a variable group (group), or a template (template).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Stage</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; New-Stage -Name MyStage -Variables @{'ServiceAccountName'='sa'} -DependsOn @('OtherStage') -Condition "eq(variables['BuildSuccess'], 'TRUE')"
 
Name : MyStage
DisplayName :
DependsOn : {OtherStage}
Condition : eq(variables['BuildSuccess'], 'TRUE')
Variables : {[ServiceAccountName, sa]}
Jobs : {}</dev:code>
        <dev:remarks>
          <maml:para>This creates a Stage object on the Command line.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Stages</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/stages?view=azure-pipelines</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Stages, Dependencies, Conditions</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&amp;tabs=yaml</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Template</command:name>
      <command:verb>New</command:verb>
      <command:noun>Template</command:noun>
      <maml:description>
        <maml:para>This Cmdlet creates an Ado Template object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Templates let you define reusable content, logic, and parameters in YAML pipelines. To work with templates effectively, you'll need to have a basic understanding of Azure Pipelines key concepts such as stages, steps, and jobs.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Template</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Required as first property. Reference to a template for this deployment.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Parameters</maml:name>
          <maml:description>
            <maml:para>You can specify parameters and their data types in a template and reference those parameters in a pipeline. With templateContext, you can also pass properties to stages, steps, and jobs that are used as parameters in a template.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Required as first property. Reference to a template for this deployment.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Parameters</maml:name>
        <maml:description>
          <maml:para>You can specify parameters and their data types in a template and reference those parameters in a pipeline. With templateContext, you can also pass properties to stages, steps, and jobs that are used as parameters in a template.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>ModPosh.Pipelines.Ado.Template</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; New-Template -Name 'template.yml' -Parameters @{'Environment'='$(Environment)'}
 
Name Parameters
---- ----------
template.yml {[Environment, $(Environment)]}</dev:code>
        <dev:remarks>
          <maml:para>This creates a template object on the Command line.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Templates</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&amp;pivots=templates-includes</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Template Parameters</maml:linkText>
        <maml:uri>https://learn.microsoft.com/en-us/azure/devops/pipelines/process/template-parameters?view=azure-devops</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>