private async Task <TaskStep> CreateTask( string taskType, Step step, Dictionary <string, object> variables, IAppConfiguration configuration) { var task = new TaskStep(configuration); task.TaskType = taskType; task.Name = GetTaskName(taskType); task.Version = GetTaskVersion(taskType); task.DisplayName = GetValueWithVariableValues(step.DisplayName, variables); task.Condition = step.Condition; task.ContinueOnError = step.ContinueOnError; task.Enabled = step.Enabled; task.TimeoutInMinutes = step.TimeoutInMinutes; task.Env = step.Env; task.Inputs = GetInputsWithVariableValue(step, variables); if (string.IsNullOrEmpty(task.DisplayName)) { task.DisplayName = task.Name; } task.TaskDefinition = await _taskLocator.GetTaskDefinition(task.Name, task.Version); task.TaskTargetFolder = await _taskLocator.DownloadTask(task.TaskDefinition); return(task); }