Find or create delivery task

A Find Or Create Delivery task is an automatic task that searches for an existing delivery or creates a new one from a delivery pattern.

The input options for the Find Or Create Delivery task are:

Option Description
Pattern ID or title of the pattern used to create the delivery.
Search method You can use the latest created delivery from the pattern or specify the title of the delivery.
By name (Only visible if Search by criteria is selected as the search method) Title of the delivery to find.
If multiple results (Only visible if Search by criteria is selected as the search method) How to pick a delivery if multiple results.
Fallback If checked, the task will not fail if no running delivery is found, but will create a new one.
Name (Only visible if Fallback is checked) Title of the delivery that will be created.
Start date (Only visible if Fallback is checked) Start date of the delivery. Uses the pattern’s value by default.
End date (Only visible if Fallback is checked) End date of the delivery. Uses the pattern’s value by default.
Delivery ID Output property bound to the variable that contains the ID of the found or created delivery.

In the release flow editor, Find Or Create Delivery tasks are marked with a purple border.

Assigning an automated tasks user

A release that contains a Find Or Create Delivery task must have an automated tasks user assigned. This user must have:

  • The View delivery, Edit delivery, or Edit tracked items permission on the folder where the delivery is located if they want to find the delivery.
  • The Edit delivery permission to create a new delivery if Fallback is checked.

You can assign the automated tasks user in the Run automated tasks as user release property. For more information, see Configure release properties.

Example

Example usage of Find Or Create Delivery task to save a delivery ID output variable and re-use it for a Register tracked items task.

First we create a Find Or Create Delivery task and set a ${deliveryId} variable in the Delivery ID output property.

image

Then we use that same variable in other delivery tasks that come after it. This is useful when you’re designing a template or a release before the delivery actually exists (only the pattern exists).

image