invictus-integration / docs-ifa

Invictus for Azure documentation
https://invictus-integration.github.io/docs-ifa/
MIT License
6 stars 12 forks source link

Updated custom resume/resubmit documentation page in V2 documentation #180

Closed JulianPortelliCodit closed 11 months ago

pim-simons commented 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?

JulianPortelliCodit commented 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

JulianPortelliCodit commented 11 months ago

@pim-simons added, can you review?

pim-simons commented 11 months ago

@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:

JulianPortelliCodit commented 11 months ago

@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:

image

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:

pim-simons commented 11 months ago

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.

pim-simons commented 11 months ago
* _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 👍🏻

JulianPortelliCodit commented 11 months ago
* _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.

pim-simons commented 11 months ago

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 👍🏻

JulianPortelliCodit commented 11 months ago

Hi @pim-simons, I made the change in the documentation, could you kindly review?