QPR MEA Integration: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
QPR ProcessAnalyzer is able to connect to a QPR MEA (QPR Suite) instance and call Web Service operations. QPR MEA Web Service documentation: https://kb.qpr.com/qpr2025-1/qpr_web_service.html.
QPR ProcessAnalyzer is able to connect to a QPR MEA (QPR Suite) instance and call Web Service operations. QPR MEA Web Service documentation: https://kb.qpr.com/qpr2025-1/qpr_web_service.html.
== Use MEA Connection ==
To use the MEA connection, the following steps are required:
# Create connection string and store the secret.
# Create connection object.
# Call web service operations using the connection object.


== MEA Connection String ==
== MEA Connection String ==
Line 5: Line 11:


The MEA connection string is a json object with following properties:
The MEA connection string is a json object with following properties:
* '''url''': URL to the webHttp endpoint of the QPR MEA Web Service to be connected to.
* '''url''': URL of the QPR MEA Web Service endpoint.
* '''logOnName''': Log on name of the user who will access the QPR MEA Web Service.
* '''logOnName''': Log on name of the user who will access the QPR MEA Web Service.
* '''password''': User's password in QPR MEA.
* '''password''': User's password in QPR MEA.
Line 16: Line 22:
Example to store the secret:
Example to store the secret:
<pre>
<pre>
ProjectById(1).SetSecret("QprMea", "MyConnection", `{ "url": "https://<hostname>/QPR/Portal/QPR.Isapi.dll/wsforward/MainService.svc/webHttp", "logOnName": "MyUser", "password": "MyPassword" }`);
ProjectById(1).SetSecret("QprMea", "MeaConnection", `{ "url": "https://<hostname>/QPR/Portal/QPR.Isapi.dll/wsforward/MainService.svc/webHttp", "logOnName": "MyUser", "password": "MyPassword" }`);
</pre>
</pre>


== Operations ==
== MEA Web Service Operations ==
=== CreateObject ===
=== CreateObject ===
Performs CreateObject function call (https://kb.qpr.com/qpr2025-1/createobject2.html), and returns the MEA ID of the created object.
Calls CreateObject and returns the MEA ID of the created object. More information: https://kb.qpr.com/qpr2025-1/createobject2.html.


Parameters:
Parameters:
* '''namespaceId''' (String): MEA ID of the namespace into which the object is to be created.
* '''namespaceId''' (String): MEA ID of the namespace into which the object is to be created.
* '''objectTypeName''' (String): Defines the type of the new object.
* '''objectTypeName''' (String): Defines type of the new object.
* ''' name''' (String): Defines name for the new object.
* '''name''' (String): Defines name for the new object.
* '''parentIds''' (String or String*): MEA ID of parent object. If array is given, every array element specifies one ID.
* '''parentIds''' (String or String*): MEA ID of parent object. If array is given, every array element specifies one ID.
* '''attributes''' (Dictionary): Key/value pairs of &lt;attribute&gt;/&lt;attribute value&gt; to be set for the created object.
* '''attributes''' (Dictionary): Key/value pairs of <attribute>/<attribute value> to be set for the created object.
* '''options''' (String): Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options
* '''options''' (String): Optional options for the operation. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.


Example: Connects to the configured QPR MEA and creates a new top-level comment-action.
Example: Connect to the configured QPR MEA and create a new top-level comment action.
<pre>
<pre>
ProjectByName("TestProject")
ProjectByName("TestProject")
Line 39: Line 45:


===DeleteObject ===
===DeleteObject ===
Performs DeleteObject function call (https://kb.qpr.com/qpr2025-1/deleteobject2.html) and returns _empty.
Calls DeleteObject. More information: https://kb.qpr.com/qpr2025-1/deleteobject2.html.


Parameters:
Parameters:
Line 45: Line 51:
* '''options''' (String): Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.
* '''options''' (String): Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.


Example: Connect to the configured QPR MEA and delete an object.
<pre>
<pre>
ProjectByName("TestProject")
ProjectByName("TestProject")
Line 50: Line 57:
   .DeleteObject("PO.0.985518423");
   .DeleteObject("PO.0.985518423");
</pre>
</pre>
Connects to the configured QPR MEA and deletes object with ID PO.0.985518423.


=== GetAttribute ===
=== GetAttribute ===
Performs GetAttributeAsString function call (https://kb.qpr.com/qpr2025-1/getattributeasstring.html), and returns the value of given object's attribute as a string.
Calls GetAttribute and returns the value of given object attribute as a string. More information: https://kb.qpr.com/qpr2025-1/getattributeasstring.html.


Parameters:
Parameters:
* '''objectId''' (String):  MEA ID of an object from which the attribute is fetched.
* '''objectId''' (String):  MEA ID of an object from which the attribute is fetched.
* '''attribute''' (String): Name of the attribute that is queried. See [supported attributes](https://kb.qpr.com/qpr2025-1/supported_parameters.html).
* '''attribute''' (String): Name of the attribute that is queried. See https://kb.qpr.com/qpr2025-1/supported_parameters.html.
* '''options''' (String): Optional options for the query. See (https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.
* '''options''' (String): Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.
 
Example: Connects to the configured QPR MEA and returns the name of object identified by MEA object ID: PG.785401983.683494101.


Example: Returns the name of an object.
<pre>
<pre>
ProjectByName("TestProject")
ProjectByName("TestProject")
Line 73: Line 77:


=== QueryObjects ===
=== QueryObjects ===
Performs QueryObjects function call (https://kb.qpr.com/qpr2025-1/queryobjects.html), and returns the result of the query as a hierarchical dictionary object (#48320#) following the hierarchy of ResultSet-object returned by QPR MEA.
Calls QueryObjects and returns query results as a hierarchical dictionary following the hierarchy of ResultSet object returned by QPR MEA. More information: https://kb.qpr.com/qpr2025-1/queryobjects.html


Parameters:
Parameters:
* '''query''' (String): The actual query. For more information, see the [query syntax documentation](https://kb.qpr.com/qpr2025-1/query_syntax.html)
* '''query''' (String): The actual query. See https://kb.qpr.com/qpr2025-1/query_syntax.html.
* '''attributes''' (String): Comma-separated list of attributes that are included in the results.
* '''attributes''' (String): Comma-separated list of attributes that are included in the results. See https://kb.qpr.com/qpr2025-1/supported_parameters.html.
      2. See [supported attributes](https://kb.qpr.com/qpr2025-1/supported_parameters.html).
* '''criteria''' (String): Criteria used to filter the results by. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=globalparameters.
* '''criteria''' (String): Criteria used to filter the results by.
      2. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=globalparameters.
* '''sortBy''' (String): Comma-separated list of attributes to sort the results by.
* '''sortBy''' (String): Comma-separated list of attributes to sort the results by.
* '''options''' (String): Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.
* '''options''' (String): Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.


Example: Connects to the configured QPR MEA and returns name and typename of all the subprocesses in model identified by MEA object id PG.1374444994 whose name contains text "Account". Results are ordered by name and only at most three results are returned.
Example: Return name and typename of all the subprocesses in a model whose name contains text "Account". Results are ordered by name and only at most three results are returned.
<pre>
<pre>
ProjectByName("TestProject")
ProjectByName("TestProject")
Line 98: Line 100:


=== SetAttribute ===
=== SetAttribute ===
Performs SetAttribute (https://kb.qpr.com/qpr2025-1/setattribute.html) function call to set an attribute value.
Calls SetAttribute to set an attribute value. More information: https://kb.qpr.com/qpr2025-1/setattribute.html.


Parameters:
Parameters:
* '''objectIds''' (String or String*): MEA ID of an object from which the attribute is fetched. If array is given, every array element specifies one ID.
* '''objectIds''' (String or String*): MEA ID of an object from which the attribute is fetched. If array is given, every array element specifies one ID.
* '''attribute''' (String): Name of the attribute that is queried. See [supported attributes](https://kb.qpr.com/qpr2025-1/supported_parameters.html). Attribute must be writeable.
* '''attribute''' (String): Name of the attribute that is queried. See https://kb.qpr.com/qpr2025-1/supported_parameters.html.
* '''value''' (String): Value to be set for given object's attribute.
* '''value''' (String): Value to be set for given attribute.
* '''options''':  Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.
* '''options''':  Optional options for the query. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.


Example: Connects to the configured QPR MEA and changes the name of the user identified by MEA object ID: UM.0.123 to "ChangedUser".
Example: Change the name of a user to "ChangedUser".
<pre>
<pre>
ProjectByName("TestProject")
ProjectByName("TestProject")

Revision as of 08:48, 9 April 2026

QPR ProcessAnalyzer is able to connect to a QPR MEA (QPR Suite) instance and call Web Service operations. QPR MEA Web Service documentation: https://kb.qpr.com/qpr2025-1/qpr_web_service.html.

Use MEA Connection

To use the MEA connection, the following steps are required:

  1. Create connection string and store the secret.
  2. Create connection object.
  3. Call web service operations using the connection object.

MEA Connection String

To connect to QPR MEA, the MEA connection string needs to be created and stored as a secret.

The MEA connection string is a json object with following properties:

  • url: URL of the QPR MEA Web Service endpoint.
  • logOnName: Log on name of the user who will access the QPR MEA Web Service.
  • password: User's password in QPR MEA.

Example connection string:

{ "url": "https://<hostname>/QPR/Portal/QPR.Isapi.dll/wsforward/MainService.svc/webHttp", "logOnName": "MyUser", "password": "MyPassword" }

Example to store the secret:

ProjectById(1).SetSecret("QprMea", "MeaConnection", `{ "url": "https://<hostname>/QPR/Portal/QPR.Isapi.dll/wsforward/MainService.svc/webHttp", "logOnName": "MyUser", "password": "MyPassword" }`);

MEA Web Service Operations

CreateObject

Calls CreateObject and returns the MEA ID of the created object. More information: https://kb.qpr.com/qpr2025-1/createobject2.html.

Parameters:

  • namespaceId (String): MEA ID of the namespace into which the object is to be created.
  • objectTypeName (String): Defines type of the new object.
  • name (String): Defines name for the new object.
  • parentIds (String or String*): MEA ID of parent object. If array is given, every array element specifies one ID.
  • attributes (Dictionary): Key/value pairs of <attribute>/<attribute value> to be set for the created object.
  • options (String): Optional options for the operation. See https://kb.qpr.com/qpr2025-1/parameters_and_options.html?anchor=options.

Example: Connect to the configured QPR MEA and create a new top-level comment action.

ProjectByName("TestProject")
  .CreateMeaConnection(#{"ConnectionStringKey": "MeaConnection"})
  .CreateObject("PO", "Comment", "Test comment", "", #{"description": "Test comment description"});

DeleteObject

Calls DeleteObject. More information: https://kb.qpr.com/qpr2025-1/deleteobject2.html.

Parameters:

Example: Connect to the configured QPR MEA and delete an object.

ProjectByName("TestProject")
  .CreateMeaConnection(#{"ConnectionStringKey": "MeaConnection"})
  .DeleteObject("PO.0.985518423");

GetAttribute

Calls GetAttribute and returns the value of given object attribute as a string. More information: https://kb.qpr.com/qpr2025-1/getattributeasstring.html.

Parameters:

Example: Returns the name of an object.

ProjectByName("TestProject")
  .CreateMeaConnection(#{"ConnectionStringKey": "MeaConnection"})
  .GetAttribute(
    "[PG.785401983.683494101]",
    "name"
  );

QueryObjects

Calls QueryObjects and returns query results as a hierarchical dictionary following the hierarchy of ResultSet object returned by QPR MEA. More information: https://kb.qpr.com/qpr2025-1/queryobjects.html

Parameters:

Example: Return name and typename of all the subprocesses in a model whose name contains text "Account". Results are ordered by name and only at most three results are returned.

ProjectByName("TestProject")
  .CreateMeaConnection(#{"ConnectionStringKey": "MeaConnection"})
  .QueryObjects(
    "[PG.1374444994].Subprocess",
    "name, typename",
    `Find("Account", Name)`,
    "name",
    "MaxCount=3"
  );

SetAttribute

Calls SetAttribute to set an attribute value. More information: https://kb.qpr.com/qpr2025-1/setattribute.html.

Parameters:

Example: Change the name of a user to "ChangedUser".

ProjectByName("TestProject")
  .CreateMeaConnection(#{"ConnectionStringKey": "MeaConnection"})
  .SetAttribute(
    "[UM.0.123]",
    "name",
    "ChangedUser"
  );