YAML pipeline editor

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines provides a YAML pipeline editor that you can use to author and edit your pipelines. The YAML editor is based on the Monaco Editor. The editor provides tools like Intellisense support and a task assistant to provide guidance while you edit a pipeline.

Important

The YAML pipeline editor was introduced in Azure DevOps Server 2019 Update 1. If you're using Azure DevOps Server 2019 RTW, the YAML pipeline editor described in this article isn't available, but you can edit your YAML using the text editor of your choice and check it into your pipeline's repository.

Edit a YAML pipeline

To access the YAML pipeline editor, do the following steps.

  1. Sign in to your organization (https://dev.azure.com/{yourorganization}).

  2. Select your project, choose Pipelines > Pipelines, and then select the pipeline you want to edit.

    Azure Pipelines builds in Azure DevOps Server 2019 Update 1.

  3. Choose Edit.

    Azure Pipelines YAML edit button in Azure DevOps Server 2019 Update 1.

  4. Make edits to your pipeline using Intellisense keyboard shortcuts and the task assistant for guidance.

    YAML pipeline editor in Azure DevOps Server 2019.1.

To access the YAML pipeline editor, do the following steps.

  1. Sign in to your organization (https://dev.azure.com/{yourorganization}).

  2. Select your project, choose Pipelines, and then select the pipeline you want to edit. You can browse pipelines by Recent, All, and Runs. For more information, see view and manage your pipelines.

    Azure Pipelines landing page.

  3. Choose Edit.

    Azure Pipelines YAML edit button.

  4. Make edits to your pipeline using Intellisense and the task assistant for guidance.

    YAML pipeline editor.

  1. Choose Save. You can commit directly to your branch, or create a new branch and optionally start a pull request.

    YAML pipeline editor save window.

Use keyboard shortcuts

The YAML pipeline editor provides several keyboard shortcuts, which we show in the following examples.

  • Choose Ctrl+Space for Intellisense support while you're editing the YAML pipeline.

    YAML pipeline editor intellisense.

  • Choose F1 (Fn+F1 on Mac) to display the command palette and view the available keyboard shortcuts.

    YAML pipeline editor command palette.

Use task assistant

The task assistant provides a method for adding tasks to your YAML pipeline.

  • To display the task assistant, edit your YAML pipeline and choose Show assistant.

    Show ask assistant for editing YAML pipelines.

  • To hide the task assistant, choose Hide assistant.

    Hide task assistant for editing YAML pipelines.

  • To use the task assistant, browse or search for tasks in the Tasks pane.

    Task assistant search.

  • Select the desired task and configure its inputs.

    Task assistant add.

  • Choose Add to insert the task YAML into your pipeline.

Task assistant added in Azure DevOps Server 2019.

  • Edit the inserted YAML to make more configuration changes to the task.

Task assistant added.

  • You can edit the YAML to make more configuration changes to the task, or you can choose Settings above the task in the YAML pipeline editor to configure the inserted task in the task assistant.

Validate

Validate your changes to catch syntax errors in your pipeline that prevent it from starting. Choose More actions > Validate.

Validate and Download full YAML.

Download full YAML

You can preview the fully parsed YAML document without committing or running the pipeline. Choose More actions > Download full YAML.

Validate and Download full YAML.

Download full YAML Runs the Azure DevOps REST API for Azure Pipelines and initiates a download of the rendered YAML from the editor.

Manage pipeline variables

You can manage pipeline variables both from within your YAML pipeline and from the pipeline settings UI.

With Azure DevOps 2019 Update 1, you can manage your pipeline variables using the pipeline settings UI.

YAML pipeline

To manage pipeline variables, do the following steps.

  1. Edit your YAML pipeline and choose Variables to manage pipeline variables.

    Manage pipeline variables button.

  2. Choose from the following functions:

    • New variable: to add your first variable.
    • Add : to add subsequent variables.
    • Variable name to edit a variable.
    • Delete : to delete a variable.

    Manage pipeline variables in the YAML editor.

Pipeline settings UI

To manage pipelines variables in the UI, do the following steps.

  1. Edit the pipeline and choose More actions > Triggers.

    Pipeline settings UI menu.

  2. Choose Variables.

    Pipeline settings UI for variables.

For more information on working with pipeline variables, see Define variables.

View and edit templates

Templates are a commonly used feature in YAML pipelines. They're an easy way to share pipeline snippets and are a powerful mechanism for verifying and enforcing security and governance in your pipeline. Previously, the editor didn't support templates, so authors of YAML pipelines couldn't get intellisense assistance. Now Azure Pipelines supports a YAML editor, for which we're previewing support. To enable this preview, go to preview features in your Azure DevOps organization, and enable YAML templates editor.

Important

This feature has the following limitations.

  • If the template has required parameters that aren't provided as inputs in the main YAML file, then the validation fails and prompts you to provide those inputs.

  • You can't create a new template from the editor. You can only use or edit existing templates.

As you edit your main Azure Pipelines YAML file, you can either include or extend a template. As you enter the name of your template, you may be prompted to validate your template. Once validated, the YAML editor understands the schema of the template, including the input parameters.

YAML template.

Post validation, you can go into the template by choosing View template, which opens the template in a new browser tab. You can make changes to the template using all the features of the YAML editor.

Next steps