Closed john-long2 closed 1 year ago
I have tried to move existing actions into a do-until the designer does not allow this. I had to recreate them within the the do-until.
I then added a condition action within the do until, I cannot add the actions into the condition.
This makes development very slow as we cannot build up the logic without recreating the actions which is tedious.
Standard (Portal)
Preview
{ "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": { "Catch": { "actions": { "Set_variable_HasApplicationRunSucceeded_False": { "inputs": { "name": "HasApplicationRunSucceeded", "value": false }, "type": "SetVariable" } }, "runAfter": { "Try": [ "TIMEDOUT", "SKIPPED", "FAILED" ] }, "type": "Scope" }, "FInally": { "actions": { "Compose_Logs": { "inputs": { "Actions": "@body('Transform_Results')", "ApplicationId": "@variables('ApplicationId')", "ArtefactName": "@workflow().name", "AzureArtefact": "@appsetting('WEBSITE_SITE_NAME')", "AzureSubscriptionId": "@{parameters('AzureSubscriptionId')}", "AzureSubscriptionName": "@{parameters('AzureSubscriptionName')}", "BusinessKeys": "@variables('BusinessKeys')", "DateTime": "@{utcNow('yyyy-MM-ddTHH:mm:ssZ')}", "IntegrationId": "@{variables('IntegrationId')}", "ResourceGroup": "@{parameters('ResourceGroup')}", "TraceLogs": "@variables('TraceLogs')", "TrackingId": "@variables('TrackingId')" }, "runAfter": { "Transform_Results": [ "Succeeded" ] }, "type": "Compose" }, "For_each_Existing_Business_Key": { "actions": { "Append_to_array_variable_Business_Keys": { "inputs": { "name": "BusinessKeys", "value": { "BusinessKeyName": "@items('For_each_Existing_Business_Key')['BusinessKeyName']", "BusinessKeyValue": "@items('For_each_Existing_Business_Key')['BusinessKeyValue']" } }, "type": "AppendToArrayVariable" } }, "foreach": "@union(variables('BusinessKeys'),body('Parse_Existing_BusinessKeys'))", "runAfter": { "Parse_Existing_BusinessKeys": [ "Succeeded" ] }, "type": "Foreach" }, "HasApplicationRunSucceeded": { "actions": { "Has_Any_Data_Processed": { "actions": {}, "else": { "actions": { "Cancel_Run": { "inputs": { "runStatus": "Cancelled" }, "type": "Terminate" } } }, "expression": { "and": [ { "equals": [ "@variables('HasData')", true ] } ] }, "type": "If" } }, "else": { "actions": { "Terminate": { "inputs": { "runStatus": "Failed" }, "type": "Terminate" } } }, "expression": { "and": [ { "equals": [ "@variables('HasApplicationRunSucceeded')", true ] } ] }, "runAfter": { "Uploads_a_Blob_to_Azure_Storage": [ "Succeeded" ] }, "type": "If" }, "Parse_Existing_BusinessKeys": { "inputs": { "content": "@coalesce(triggerOutputs()?['headers']?['BusinessKeys'],variables('BusinessKeys'))", "schema": { "items": { "properties": { "BusinessKeyName": { "type": "string" }, "BusinessKeyValue": { "type": "string" } }, "required": [ "BusinessKeyName", "BusinessKeyValue" ], "type": "object" }, "type": "array" } }, "type": "ParseJson" }, "Transform_Results": { "inputs": { "content": "@union(result('Try'),result('Catch'))", "map": { "name": "filterlogs.liquid", "source": "LogicApp" } }, "kind": "JsonToJson", "runAfter": { "For_each_Existing_Business_Key": [ "Succeeded" ] }, "type": "Liquid" }, "Uploads_a_Blob_to_Azure_Storage": { "inputs": { "parameters": { "blobName": "@{variables('IntegrationId')}/@{variables('TrackingId')}/@{variables('ApplicationId')}", "containerName": "logging", "content": "@outputs('Compose_Logs')" }, "serviceProviderConfiguration": { "connectionName": "AzureBlob", "operationId": "uploadBlob", "serviceProviderId": "/serviceProviders/AzureBlob" } }, "runAfter": { "Compose_Logs": [ "Succeeded" ] }, "type": "ServiceProvider" } }, "runAfter": { "Catch": [ "Succeeded", "TIMEDOUT", "SKIPPED", "FAILED" ] }, "type": "Scope" }, "Initialize_ApplicationId": { "inputs": { "variables": [ { "name": "ApplicationId", "type": "string", "value": "@{workflow()['run']['name']}" } ] }, "runAfter": { "Initialize_TraceLogs": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_Blob_Path": { "inputs": { "variables": [ { "name": "BlobPath", "type": "string" } ] }, "runAfter": { "Initialize_ApplicationId": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_BusinessKeys": { "inputs": { "variables": [ { "name": "BusinessKeys", "type": "array", "value": [] } ] }, "runAfter": { "Initialize__IntegrationId": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_DataFound": { "inputs": { "variables": [ { "name": "DataFound", "type": "integer", "value": 0 } ] }, "runAfter": { "Initialize_RetryNumber": [ "SUCCEEDED" ] }, "type": "InitializeVariable" }, "Initialize_HasApplicationRunSucceeded": { "inputs": { "variables": [ { "name": "HasApplicationRunSucceeded", "type": "boolean", "value": true } ] }, "runAfter": {}, "type": "InitializeVariable" }, "Initialize_HasData": { "inputs": { "variables": [ { "name": "HasData", "type": "boolean", "value": true } ] }, "runAfter": { "Initialize_HasApplicationRunSucceeded": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_RetryCount": { "description": "This needs to be used along side RetryIntervalMins to try and find the file for 1 hour", "inputs": { "variables": [ { "name": "RetryCount", "type": "integer", "value": 0 } ] }, "runAfter": { "Initialize_RetryIntervalMins": [ "SUCCEEDED" ] }, "type": "InitializeVariable" }, "Initialize_RetryIntervalMins": { "description": "This needs to be used along side RetryCount to try and find the file for 1 hour", "inputs": { "variables": [ { "name": "Initialize RetryIntervalMins", "type": "integer", "value": 5 } ] }, "runAfter": { "Initialize_Blob_Path": [ "SUCCEEDED" ] }, "type": "InitializeVariable" }, "Initialize_RetryNumber": { "inputs": { "variables": [ { "name": "RetryNumber", "type": "integer", "value": 19 } ] }, "runAfter": { "Initialize_RetryCount": [ "SUCCEEDED" ] }, "type": "InitializeVariable" }, "Initialize_TraceLogs": { "inputs": { "variables": [ { "name": "TraceLogs", "type": "array", "value": [] } ] }, "runAfter": { "Initialize_BusinessKeys": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize_TrackingId": { "inputs": { "variables": [ { "name": "TrackingId", "type": "string", "value": "@{workflow()['run']['name']}" } ] }, "runAfter": { "Initialize_HasData": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Initialize__IntegrationId": { "inputs": { "variables": [ { "name": "IntegrationId", "type": "string", "value": "INT000" } ] }, "runAfter": { "Initialize_TrackingId": [ "Succeeded" ] }, "type": "InitializeVariable" }, "Try": { "actions": { "Until_Data_Found": { "actions": { "Condition": { "actions": {}, "else": { "actions": {} }, "expression": { "and": [ { "equals": [ 1, 1 ] } ] }, "type": "If" }, "Message": { "inputs": { "a": "b" }, "runAfter": { "Condition": [ "SUCCEEDED" ] }, "type": "Compose" }, "Send_blob_metadata_topic_to_trigger_orchestrator_workflow": { "inputs": { "parameters": { "entityName": "selenity-files-topic", "message": { "contentData": { "Container": "selenity", "Path": "@{variables('BlobPath')}" }, "userProperties": { "IntegrationId": "@{variables('IntegrationId')}", "MsgType": "approved-expenses", "TrackingId": "@{variables('TrackingId')}" } } }, "serviceProviderConfiguration": { "connectionName": "serviceBus", "operationId": "sendMessage", "serviceProviderId": "/serviceProviders/serviceBus" } }, "runAfter": { "Upload_blob_to_storage_container": [ "SUCCEEDED" ] }, "type": "ServiceProvider" }, "Set_DataFound": { "inputs": { "name": "DataFound", "value": 1 }, "runAfter": { "Send_blob_metadata_topic_to_trigger_orchestrator_workflow": [ "SUCCEEDED" ] }, "type": "SetVariable" }, "Set_variable_BlobPath": { "inputs": { "name": "BlobPath", "value": "inbound/approved-expenses/@{variables('TrackingId')}/approved-expenses-@{formatDateTime(utcNow(), 'yyyyMMddHHmmss')}.csv" }, "runAfter": { "Message": [ "SUCCEEDED" ] }, "type": "SetVariable" }, "Upload_blob_to_storage_container": { "inputs": { "parameters": { "blobName": "@variables('BlobPath')", "containerName": "selenity", "content": "@outputs('Message')" }, "serviceProviderConfiguration": { "connectionName": "AzureBlob", "operationId": "uploadBlob", "serviceProviderId": "/serviceProviders/AzureBlob" } }, "runAfter": { "Set_variable_BlobPath": [ "SUCCEEDED" ] }, "type": "ServiceProvider" } }, "expression": "@equals(variables('DataFound'),variables('DataFound'))", "limit": { "count": 60, "timeout": "PT1H" }, "type": "Until" } }, "runAfter": { "Initialize_DataFound": [ "SUCCEEDED" ] }, "type": "Scope" } }, "contentVersion": "1.0.0.0", "outputs": {}, "triggers": { "Recurrence": { "recurrence": { "frequency": "Day", "interval": 1, "schedule": { "hours": [ "1" ], "minutes": [ 30 ] }, "timeZone": "GMT Standard Time" }, "type": "Recurrence" } } }, "kind": "Stateful" }
No response
Edge
This is a known issue here #2481 . Thanks for reporting, we should have a fix out very soon.
Describe the Bug with repro steps
I have tried to move existing actions into a do-until the designer does not allow this. I had to recreate them within the the do-until.
I then added a condition action within the do until, I cannot add the actions into the condition.
This makes development very slow as we cannot build up the logic without recreating the actions which is tedious.
What type of Logic App Is this happening in?
Standard (Portal)
Are you using Preview Designer or GA Designer
Preview
Workflow JSON
Screenshots or Videos
No response
Browser
Edge
Additional context
No response