Using Flow to notify solution imports

I would not call it sneaky, but sometimes when I find the Dynamics 365 CE UI or behaviour has changed slightly, I can attribute it to some update that was applied to the environment. There are email notifications for major updates, but none for minor updates or patches that can happen frequently. So, I decided to solve this problem using Flow.

Every solution import into the system causes an Import Job record to be created. If a Flow can be scheduled to run everyday, and query the Import Job records that were started the previous day, we can easily keep track of what is happening in the environment.

The first step is to trigger the Flow on a preset schedule, and read the Import Job records.

Import Job Flow.png

Below are the expressions that I use for the boundary dates:

  • addDays(convertFromUtc(utcNow(),’AUS Eastern Standard Time’), -1, ‘yyyy-MM-dd’)
  • convertFromUtc(utcNow(),’AUS Eastern Standard Time’,’yyyy-MM-dd’)

The next step is to pick up only the information we need from the returned result, and project it to a form that is conducive for email.

Import Job Compose

With the exception of Solution Name, all the other properties are retrieved from the XML on the Data property. Below are the formula’s for those:

  1. Publisherxpath(xml(items(‘Parse_Import_Job_XML_and_re-map’)?[‘data’]),’string(//Publisher/Descriptions/Description[1]/@description)’)
  2. Started OnconvertFromUtc(items(‘Parse_Import_Job_XML_and_re-map’)?[‘startedon’],’AUS Eastern Standard Time’,’dd-MM-yyyy HH:mm:ss’)
  3. Old Versionxpath(xml(items(‘Parse_Import_Job_XML_and_re-map’)?[‘data’]),’string(//upgradeSolutionPackageInformation/fileVersion)’)
  4. New Versionxpath(xml(items(‘Parse_Import_Job_XML_and_re-map’)?[‘data’]),’string(//upgradeSolutionPackageInformation/currentVersion)’)

The last few steps are to email out the results, if any solutions were imported the previous day.

Email Solution.png

Email Step.png

The result is a barely formatted table, with the list of solutions that were imported the previous day.

Email Solution Result

With this approach, no one can sneak up a solution import on you. You have visibility over what is going on in the system.

You can download and install the Flow solution from https://onedrive.live.com/?id=0EA80B851211E3FC%21105&cid=0EA80B851211E3FC#cid=0EA80B851211E3FC&id=0EA80B851211E3FC%218012&parId=0EA80B851211E3FC%21105&action=defaultclick

Hope this is helpful to stay on top of imports.

Advertisements

One thought on “Using Flow to notify solution imports

  1. Pure brilliance, thanks for this!

    A small rectification while parsing the import job XML.
    Publisher: xpath(xml(items(‘Parse_Import_Job_XML_and_re-map’)?[‘data’]), ‘string(//Publisher/UniqueName)’)
    Description: xpath(xml(items(‘Parse_Import_Job_XML_and_re-map’)?[‘data’]), ‘string(//Publisher/Descriptions/Description[1]/@description)’)

    Using unique name for Publisher as the LocalizedNames (or friendly names) seem to be blank for the patched solutions.

    Also, for others landing on this post, here is the link to time-zone IDs
    https://docs.microsoft.com/en-gb/previous-versions/windows/embedded/gg154758(v=winembedded.80)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s