Closed JulianPortelliCodit closed 11 months ago
@JulianPortelliCodit docs looking good, would it be possible to add as sample of the body of the message that is being sent to the custom endpoints?
Sure, I'll go ahead and do that
@pim-simons added, can you review?
@pim-simons added, can you review?
Doesn't the screenshot show a call to the dashboardgateway? I am more interested in the call to the actual custom resume/resubmit endpoint, maybe you can setup an endpoint (for example https://pipedream.com/requestbin) and catch the request and show that in the screenshot?
Some more questions:
@pim-simons added, can you review?
Doesn't the screenshot show a call to the dashboardgateway? I am more interested in the call to the actual custom resume/resubmit endpoint, maybe you can setup an endpoint (for example https://pipedream.com/requestbin) and catch the request and show that in the screenshot?
Some more questions:
- The call to the custom endpoint is a POST without a body, correct?
- You can specify custom headers, can you also assign "dynamic" values, for example would I be able to include a header with the chainid?
Ok, so I created a RequestBin workspace as you said, and set up the Resubmit URL and Resume URL for a flow to the RequestBin endpoint (https://eonvycl8jb8pz4u.m.pipedream.net). This is the result of clicking the Resubmit button on a flow:
There seem to be 4 POST requests being sent to the endpoint, each with a delay in between. I don't know why this is the case.
Regarding your questions:
The call to the custom endpoint is a POST without a body, correct? Yes, the request to the custom endpoint is a POST request sent without a body.
You can specify custom headers, can you also assign "dynamic" values, for example would I be able to include a header with the chainid? Currently, this is not possible. The logic for this feature has been unchanged from Invictus V1.
There seem to be 4 POST requests being sent to the endpoint, each with a delay in between. I don't know why this is the case.
I expect this to be the case because the requestbin doesn't return the expected response and a retry kicks in from the dashboard.
* _The call to the custom endpoint is a POST without a body, correct?_ Yes, the request to the custom endpoint is a POST request sent without a body.
Just did a quick test and it turns out the request does contain a body (data below is anonymised):
[{
"id": "64d206051178624d80f70775",
"workflowEventId": "1f8be9e8-dc61-41c5-9146-13ce087cbc08",
"partitionKey": "02c1eacb-60a9-4fa9-937f-971b10f567d4",
"workFlowRunId": "08585101213801371750243005842CU150",
"dateInserted": "2023-08-07T09:08:21.028Z",
"parentWorkFlowRunId": "",
"chainId": "439f11e1-739e-461e-b785-f7adad7ff876",
"executionTime": "2023-08-08T09:05:05.372Z",
"appName": null,
"workflowName": "someworkflow",
"statusId": 2,
"subscriptionId": "07459384-7900-43c9-b940-8f90d6ab3c7c",
"resourceGroupName": "someresourcegroup",
"triggerName": "manual",
"userStatus": 1,
"workFlowActionCount": 10,
"errorInfo": "",
"properties": {
"x_iv_enqueued_time": "08/07/2023 09:07:06 +00:00",
"x_iv_importjob_pickuptime": "08/07/2023 09:07:06",
"Domain": "SomeDomain",
"Service": "SomeService",
"Action": "SomeAction",
"Version": "1.0"
},
"source": "1",
"eventText": "Some Event Text",
"messageContentView": null,
"actionName": null
}
]
This makes sense because this allows us to identify the actual run that failed using the chainid. What I would like to have in the documentation is an example of this requestbody so we can take this into account if we need the custom resubmit/resume functionality 👍🏻
* _The call to the custom endpoint is a POST without a body, correct?_ Yes, the request to the custom endpoint is a POST request sent without a body.
Just did a quick test and it turns out the request does contain a body (data below is anonymised):
[{ "id": "64d206051178624d80f70775", "workflowEventId": "1f8be9e8-dc61-41c5-9146-13ce087cbc08", "partitionKey": "02c1eacb-60a9-4fa9-937f-971b10f567d4", "workFlowRunId": "08585101213801371750243005842CU150", "dateInserted": "2023-08-07T09:08:21.028Z", "parentWorkFlowRunId": "", "chainId": "439f11e1-739e-461e-b785-f7adad7ff876", "executionTime": "2023-08-08T09:05:05.372Z", "appName": null, "workflowName": "someworkflow", "statusId": 2, "subscriptionId": "07459384-7900-43c9-b940-8f90d6ab3c7c", "resourceGroupName": "someresourcegroup", "triggerName": "manual", "userStatus": 1, "workFlowActionCount": 10, "errorInfo": "", "properties": { "x_iv_enqueued_time": "08/07/2023 09:07:06 +00:00", "x_iv_importjob_pickuptime": "08/07/2023 09:07:06", "Domain": "SomeDomain", "Service": "SomeService", "Action": "SomeAction", "Version": "1.0" }, "source": "1", "eventText": "Some Event Text", "messageContentView": null, "actionName": null } ]
This makes sense because this allows us to identify the actual run that failed using the chainid. What I would like to have in the documentation is an example of this requestbody so we can take this into account if we need the custom resubmit/resume functionality 👍🏻
You're right, the Resubmit/Resume POST request does have a body. The testing of the Resubmit/Resume POST request does not, however.
I resubmitted a flow called LogicAppChain-A
and I received a similar body (data is from the QA environment so there is no sensitive data):
[
{
"ActionName": null,
"AppName": null,
"ChainId": "50eaac2f-30d6-47ed-a510-d0bd6a709383",
"DateInserted": "2023-08-09T14:38:30.299Z",
"ErrorInfo": "",
"EventText": "Line1-A,Line2-A",
"ExecutionTime": "2023-08-09T14:36:53.348Z",
"Id": "64d3a4e6445f6290aea904f5",
"MessageContentView": null,
"ParentWorkFlowRunId": "",
"PartitionKey": "50eaac2f-30d6-47ed-a510-d0bd6a709383",
"Properties": {
"Action": "123ce296-8b04-4a22-a3b8-0a685633f103",
"Domain": "85083d86-2ef1-4750-82ac-dab55ffb8ef9",
"EventText": "Line1-A,Line2-A",
"LongText": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB",
"MessageTimeStamp": "2019-01-18T07:21:57.416Z",
"Milestone": "LA-A-Reached",
"Service": "2",
"TestingId": "1e061ccf-2b93-4484-b8e1-30ceb9754153",
"TrackedDataA": "d5497fbc-6655-4f1e-b9a7-fe56af6620f2",
"Version": "ab62c9d4-2ae0-4413-94ff-a1903229d46d",
"x_iv_enqueued_time": "08/09/2023 14:38:25 +00:00",
"x_iv_importjob_pickuptime": "08/09/2023 14:38:25",
"x-iv-messagecontent-input-content-type": "application/json",
"x-iv-messagecontent-input-name": "la-b-request",
"x-iv-messagecontent-output-content-type": "application/json",
"x-iv-messagecontent-output-name": "la-b-response"
},
"ResourceGroupName": "invictus-dev-sft-invictustemplates",
"Source": "1",
"StatusId": 2,
"SubscriptionId": "308a4c53-eca0-42a4-b05f-c43bd25270e9",
"TriggerName": "manual",
"UserStatus": 512,
"WorkFlowActionCount": 16,
"WorkflowEventId": "7ccac138-5ae2-48eb-a5ff-45580c8f48d8",
"WorkflowName": "LogicAppChain-A",
"WorkFlowRunId": "08585100150723296006158487901CU36"
},
{
"ActionName": null,
"AppName": null,
"ChainId": "50eaac2f-30d6-47ed-a510-d0bd6a709383",
"DateInserted": "2023-08-09T14:38:30.299Z",
"ErrorInfo": "",
"EventText": "Line3-B",
"ExecutionTime": "2023-08-09T14:36:53.479Z",
"Id": "64d3a4e6445f6290aea904f6",
"MessageContentView": null,
"ParentWorkFlowRunId": "08585100150723296006158487901CU36",
"PartitionKey": "50eaac2f-30d6-47ed-a510-d0bd6a709383",
"Properties": {
"Domain": "2",
"EventText": "Line3-B",
"TrackedDataB": "d6af1b0c-f4d0-4112-b5aa-d2293c27afd6",
"x_iv_enqueued_time": "08/09/2023 14:38:25 +00:00",
"x_iv_importjob_pickuptime": "08/09/2023 14:38:25",
"x-iv-parent-workflow-run-id": "08585100150723296006158487901CU36"
},
"ResourceGroupName": "invictus-dev-sft-invictustemplates",
"Source": "1",
"StatusId": 2,
"SubscriptionId": "308a4c53-eca0-42a4-b05f-c43bd25270e9",
"TriggerName": "manual",
"UserStatus": 512,
"WorkFlowActionCount": 16,
"WorkflowEventId": "d5d72ce2-b1ca-4fe9-a499-6ca84339f42b",
"WorkflowName": "LogicAppChain-B",
"WorkFlowRunId": "08585100150720381261456391350CU35"
},
{
"ActionName": null,
"AppName": null,
"ChainId": "50eaac2f-30d6-47ed-a510-d0bd6a709383",
"DateInserted": "2023-08-09T14:38:25.543Z",
"ErrorInfo": "",
"EventText": "LineX-C",
"ExecutionTime": "2023-08-09T14:36:53.588Z",
"Id": "64d3a4e1445f6290aea9048b",
"MessageContentView": null,
"ParentWorkFlowRunId": "08585100150720381261456391350CU35",
"PartitionKey": "50eaac2f-30d6-47ed-a510-d0bd6a709383",
"Properties": {
"EventText": "LineX-C",
"MessageTimeStamp": "2019-01-18T07:21:57.416Z",
"Milestone": "LA-C-Reached",
"TrackedDataC": "5eb9c918-12a9-4770-9142-db59707a2e0d",
"x_iv_enqueued_time": "08/09/2023 14:38:25 +00:00",
"x_iv_importjob_pickuptime": "08/09/2023 14:38:25",
"x-iv-parent-workflow-run-id": "08585100150720381261456391350CU35"
},
"ResourceGroupName": "invictus-dev-sft-invictustemplates",
"Source": "1",
"StatusId": 2,
"SubscriptionId": "308a4c53-eca0-42a4-b05f-c43bd25270e9",
"TriggerName": "manual",
"UserStatus": 512,
"WorkFlowActionCount": 16,
"WorkflowEventId": "dc6dcbc2-8de6-4520-b43b-1808932d43cf",
"WorkflowName": "LogicAppChain-C",
"WorkFlowRunId": "08585100150719150593764004628CU198"
}
]
Thanks for pointing this out. I can use your example or mine for the documentation. My request body is lengthier so I think I'll add yours since it's more concise.
Thanks for pointing this out. I can use your example or mine for the documentation. My request body is lengthier so I think I'll add yours since it's more concise.
sounds good to me 👍🏻
Hi @pim-simons, I made the change in the documentation, could you kindly review?
@JulianPortelliCodit docs looking good, would it be possible to add as sample of the body of the message that is being sent to the custom endpoints?