There are nevertheless different alternate options, that may make extra sense, particularly if you wish to reduce the quantity of code and plugins which can be accessible throughout the system.
The answer is easy. We create a Webhook and add to it the corresponding step and Pre-Picture, and upon execution it will likely be triggering a Cloud stream the place we will use the values from the Enter Parameters and the Pre-Entity Picture.
Let’s go forward and see how we implement this. Step one is to create a Cloud stream, and set the set off to When a HTTP request is acquired.
The HTTP POST URL shouldn’t be obtainable till the stream is saved, so enter the request Physique JSON Schema. You will have to enter an motion to Save the Circulation, so you possibly can enter an Initialize Variable, which we are going to use later set a reputation for the stream and Save the report. As soon as the report is saved, the HTTP POST URL can be stuffed in and it is possible for you to to configure the Webhook. Copy the HTTP POST URL and paste it in NotePad or different textual content editor. The end result ought to be just like what you see beneath:
https://prod-XXX.westus.logic.azure.com:443/workflows/41e03b6243cc47273a71f827fb3bd29b/triggers/guide/paths/invoke?api-version=2016-06-01&sp=%2Ftriggerspercent2Fmanualpercent2Frun&sv=1.0&sig=e5138Klq7cOcbG1RJ2bXA42et4vFM0-kZ3k8jyK7Txs
Add new traces between the url and the question string parameters and take away the separators in order that it appears like this:
https://prod-XXX.westus.logic.azure.com:443/workflows/41e03b6243cc47273a71f827fb3bd29b/triggers/guide/paths/invoke
api-version=2016-06-01
sp=%2Ftriggerspercent2Fmanualpercent2Frun
sv=1.0
sig=e5138Klq7cOcbG1RJ2bXA42et4vFM0-kZ3k8jyK7Txs
Change all of the %2F encodings with the corresponding character (/). It will change that line to seem like this: sp=/triggers/guide/run
Now, let’s go and open the Plugin Registration Software, and click on on the Register drop down and choose Register New Net Hook, or CTRL+W for brief.
It will open the Register New Net Hook dialog once we will enter the HTTP URL and the totally different parameters that we specified above as proven within the screenshot beneath.
Now that we now have registered the Net Hook, you must be capable of see the brand new Net Hook within the checklist of Registered Plugins. Choose the Net Hook, and choose Register New Step (both by Proper Clicking on the Net Hook and deciding on Register New Step or from the highest tab menu).
Simply as you’ll carry out this step registration course of for a plugin, do the identical for the Net Hook. Choose the Message, Major Entity and Filtering Attributes as proven within the picture beneath. After all you must customise this in your personal message..
Since we wish to get the worth earlier than the change and after the change, we have to register a brand new picture for the step of kind Pre Picture, as proven within the screenshot beneath. Add the title and entity alias, and specify the parameters that you really want for you Pre Picture.
Now that we’re completed with the configuration throughout the Plugin Registration Software, let’s check out the place this knowledge can be saved. We created a brand new entity known as Change Log that accommodates details about the entity and the report that was modified, together with fields to retailer the values earlier than and after the change.
Subsequent, let’s return the stream that we created. We are going to begin by initializing a number of variables that can be used to retailer a few of the values, after which retrieve the values from the HTTP Submit technique.
It’s a good suggestion to run the stream as soon as so as to evaluation the Outputs of the When a HTTP request is acquired set off, and that may assist you to with establishing the expressions wanted for the totally different steps.
The variables are proven within the picture beneath. The Pre and Submit variables can be added later, whereas the Entity Id, Entity Title and Consumer Id could be stuffed out in the course of the initialization as follows:
- triggerBody()?[‘PrimaryEntityId’]
- triggerBody()?[‘PrimaryEntityName’]
- triggerBody()?[‘UserId’]
Since getting the values from the Enter Parameters and the PreImage is a bit more advanced, I used two compose actions for these, and set the Inputs to as follows:
- triggerBody()?[‘InputParameters’][0][‘value’][‘Attributes’]
- triggerBody()?[‘PreEntityImages’][0][‘value’][‘Attributes’]
The ultimate step earlier than storing the report is doing an Apply to every of the Enter parameters and verify the worth comparable to the attribute that was modified. We run this for each the PreEntity picture outcomes and the Enter Parameter outcomes and have a situation to verify for the Enter Parameter.
The Situation logic expression is: gadgets(‘Apply_to_each_PreEntity_Image’)?[‘key’], and the Set Variable Pre accommodates the next expression: gadgets(‘Apply_to_each_PreEntity_Image’)?[‘value’]
The identical applies to the opposite apply to every motion. As soon as we now have retrieved all the data that we want, the change log report can be created.
The outcomes will seem like this: