QPR MEA Integration
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
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:
- objectIds (String or String*): One or more MEA IDs of objects to be deleted. If array is given, every array element specifies one ID of object to be deleted.
- 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.
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:
- objectId (String): MEA ID of an object from which the attribute is fetched.
- 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.
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:
- 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. See 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.
- 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.
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:
- 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 https://kb.qpr.com/qpr2025-1/supported_parameters.html.
- 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.
Example: Change the name of a user to "ChangedUser".
ProjectByName("TestProject")
.CreateMeaConnection(#{"ConnectionStringKey": "MeaConnection"})
.SetAttribute(
"[UM.0.123]",
"name",
"ChangedUser"
);