How to get "Process Details > Process Nodes" info for multiple instance in a (Custom?) Report

I need a report that contains the Process Nodes info as per menu : Process Details > Process Nodes.
Inputs : Process Model, Output : Instance Name, DateTime of Instance Execution + Process Nodes Details.

I would appreciate any help, guidance etc on this! Thank you!

OriginalPostID-235285

  Discussion posts and replies are publicly visible

  • What are the details you want in 'Process Nodes'.? Please also let us know more details about your usecase , what exactly are you trying to achieve
  • @georget Hi, afaik there isn't any OOTB or Shared Component functionality which will help you accomplish the requirement in a single shot. There are two ways of doing so:

    1. Write a plugin as per your requirements. If you are going to opt for this, then studying the plugin at http://bit.ly/2cFnsPt or http://bit.ly/2cFoXgp should give you an idea as these plugins are already retrieving Variables, Process History etc from Process Details.

    2. Make use of the 'Process History' plugin at http://bit.ly/2cFnsPt and write an expression rule which formats the output of the 'Process History' plugin so that the resultant dataset looks similar to Process Nodes contents.
  • I want something close to the build in report (see attached image), only I would like two more thinks : 1- Get the report for all process model instances (and not just for the selected instance and its subprocesses ) 2- It would be nice to have a guid or uuid or some id of the nodes in the report as they are defined in Process Model (in the Process Model XML you can actually see this info, so it exists somewhere)
    I have build a functionality that reads the Process Model XML and translate it to a TREE of execution. Using the actual node data, we can estimate the coverage of the User Acceptance Tests (if the Execution passes from all nodes or leaves some nodes untested)

  • @georget518, The processHistory plugins will not help much. In the diagram that you have attached, the tab is about the details of the process nodes - with startTime, completionTime, priority and the duration. These details are not directly present in the HistoryRecord.
    If you want those details, get an instance of the ProcessDiagram for the given processId.
    The ProcessDiagram has methods to let you access the individual nodes in that Process. There are methods which will return you instance of RunTimeProcessNodes.

    The RunTimeProcessNodes will give you the details of all the nodes in that process instance.
    Refer the Java API documentation here - https://forum.appian.com/suite/help/16.2/api/
  • @georget518, a better solution would be to get an instance of ProcessExecutionService, Then use the getCurrentTasksForProcess() method with the UNATTENDED_AND_ATTENDED_TASKS flag.
    Then you will get a ResultPage of TaskSummary objects. TaskSummary has useful methods like getTaskAcceptedTime, getCompletedTime, getStatus etc. Most of the information in the image you attached can be extracted from TaskSummary.
  • @chetany Many thanks for the advise! I will look into it!