KBEC-00122 - Including Error Diagnostics in a Notifier

Summary

ElectricFlow creates very useful error diagnostics and makes them easy to look at when viewing the Job Details. ElectricFlow also makes it easy to send a Notifier to interested users, based on a job's intermediate or final results. This article describes how to combine the two mechanisms so that users of the system can be notified about the results of the job, including the diagnostic messages that describe the cause of a job failure.

Solution

Attached is an exported procedure (Click to download) that contains the following elements:

    • A custom property, called postpExtensions, that defines an extension to postp. The extension adds a piece to postp that captures error diagnostics as they are created and sets some properties on the step that record the key information about each one.  Note: This extension only records diagnostic properties for the first 25 errors in a step.
    • A custom property, called notifierTemplate, that formats an HTML notifier message. It uses other custom properties to format different sections of the message. One of them, javascript displayDiagnostics function, reads the diagnostic properties that were created by postp and formats them into individual blocks.
    • A dummy step, called Build Step, that simulates running a build by simply printing an output log. The output stream includes numerous errors. The step calls postp to extract the errors and create the diagnostics and the diagnostic properties.
    • A test step that creates a report file with the same HTML data that goes into the notifier. This lets you view the contents of the notifier message without having to actually send the message.
    • A procedure-level notifier that sends a notifier message with a summary of the job and the error diagnostics.

Notes:

  • Create a project called "EA Articles" in advance.
  • The easiest workaround for this error
ectool error [AccessDenied]: Principal 'atumarkin' does not have modify privilege on systemObject 'admin'
    is to import the procedure as admin
  • This is just an example.
    To run the procedure in your environment, you will need to adjust some fields in the notifier "Final Report".
    Specifically, take a look at the following:
    • Condition
    • Email Configuration
    • Destinations
Have more questions? Submit a request

Comments

Powered by Zendesk