QPR ProcessAnalyzer API: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
m (Ollvihe moved page Web Service API to QPR ProcessAnalyzer Web Service API without leaving a redirect)
Line 8: Line 8:


== Object Types and Their Properties ==
== Object Types and Their Properties ==
* [[Common Supported Properties (API)|Common Properties for Object Types]]
* Common Properties for Object Types
* [[DataTable (API)|DataTable]]
The following properties are supported by all ProcessAnalyzer object types. These properties are used in the "properties" argument of the [[QueryObjectProperties (API)|QueryObjectProperties]] function:<br/>
* [[Product (API)|Product]]
: '''typename''': Name of the type of the object.<br/>
* [[Project (API)|Project]]
: '''name''': Name of the given object.<br/>
: '''properties''': List of all the supported properties for given object.<br/>
: '''relatedcount''': Integer number of how many child nodes there are in the next level of given hierarchy. This is 0 if the element doesn't support the relation or there are no child objects for the given object in given hierarchy. Requires hierarchy-parameter to be defined.
 
=== DataTable ===
The following properties are supported by the DataTable object type:
* '''typename''': "DataTable"
* '''<column identifier>''': A Data Table column name converted to script name and also prefixed with"custom_" when used as an object property name in QueryObjectProperties. For example: when the Data Table column name is "Actual", the column identifier is "custom_actual".
+ all [[Common_Supported_Properties_(API)|Common Supported Properties]]
 
=== Product ===
The following properties are supported by the Product object type:
* '''typename''': "product"
* '''name''': Name of the product (QPR ProcessAnalyzer)
* '''version''': Dll version of the Qpr.ProcessAnalyzer.Core.dll
 
Supported Relations:
* '''related''': Returns the related objects. Supported relation hierarchies are:
* '''datatable''': Returns all the projects available for the user.
 
+ all Common Supported Properties
 
=== Project ===
The following properties are supported by the Project object type:
* '''typename''': "Project"
 
Supported Relations:
* '''related''': Returns the related objects. Supported relation hierarchies are:
* '''datatable''': Returns all the data tables in given project available for the user.
 
+ all Common Supported Properties


== Identifying QPR ProcessAnalyzer Objects ==
== Identifying QPR ProcessAnalyzer Objects ==

Revision as of 15:54, 5 February 2018

QPR ProcessAnalzyer Web Service API (Application Programming Interface) can be used to automate operations and to create integration with other applications.

Functions

The following functions are available in QPR ProcessAnalyzer Web Service API:

  • QueryObjectProperties returns all the listed properties queried for all the listed objects identified by unique identifiers.
  • ValidateModel can be used to perform all the pending tasks stored in the work queue of the given model.

Object Types and Their Properties

  • Common Properties for Object Types

The following properties are supported by all ProcessAnalyzer object types. These properties are used in the "properties" argument of the QueryObjectProperties function:

typename: Name of the type of the object.
name: Name of the given object.
properties: List of all the supported properties for given object.
relatedcount: Integer number of how many child nodes there are in the next level of given hierarchy. This is 0 if the element doesn't support the relation or there are no child objects for the given object in given hierarchy. Requires hierarchy-parameter to be defined.

DataTable

The following properties are supported by the DataTable object type:

  • typename: "DataTable"
  • <column identifier>: A Data Table column name converted to script name and also prefixed with"custom_" when used as an object property name in QueryObjectProperties. For example: when the Data Table column name is "Actual", the column identifier is "custom_actual".

+ all Common Supported Properties

Product

The following properties are supported by the Product object type:

  • typename: "product"
  • name: Name of the product (QPR ProcessAnalyzer)
  • version: Dll version of the Qpr.ProcessAnalyzer.Core.dll

Supported Relations:

  • related: Returns the related objects. Supported relation hierarchies are:
  • datatable: Returns all the projects available for the user.

+ all Common Supported Properties

Project

The following properties are supported by the Project object type:

  • typename: "Project"

Supported Relations:

  • related: Returns the related objects. Supported relation hierarchies are:
  • datatable: Returns all the data tables in given project available for the user.

+ all Common Supported Properties

Identifying QPR ProcessAnalyzer Objects

QPR ProcessAnalyzer unique identifiers are used to uniquely identify any object in QPR ProcessAnalyzer. The format of a unique identifier is:

PA.<type>.<object>

In the format, <type> can be any of the following:

  • 0: undefined (reserved, do not use)
  • 1: project
  • 2: data table
  • 3: model
  • 4: filter
  • 5: bookmark

Example Usage

//login                 
$.ajax({
  "method": "POST",
  "url": "http://localhost/qprpa/Mainservice.svc/webHttp/Authenticate",
  "dataType": "json", "contentType": "application/json; charset=utf-8",
  "data": JSON.stringify({
    'logOnName': '<username>',
    'password': '<password>',
    'parameters': ''
  })
});                       

//create user
$.ajax({
  "method": "POST",
  "url": "http://localhost/qprpa/Mainservice.svc/webHttp/SetUser",
  "dataType": "json", "contentType": "application/json; charset=utf-8",
  "data": JSON.stringify({ 
    "sessionId": "547c1aa5-e85b-4642-bbb1-8cb656015002",
    "user": {"Name": "user", "FullName": "first last" },
    "parameters": [{"Key": "Password", "Value": "demo"}]
  })
});

//add user to group, value 8:12:0 is user:group:member type
$.ajax({
  "method": "POST",
  "url": "http://localhost/qprpa/Mainservice.svc/webHttp/ModifyUserRelations",
  "dataType": "json", "contentType": "application/json; charset=utf-8",
  "data": JSON.stringify({ 
    "sessionId": "749dcbdb-e57b-434b-a739-1f4ddc7ebc30",
    "parameters": [{"Key": "AddGroups", "Value": "8:12:0"}]
  })
});

//log off
$.ajax({
  "method": "POST",
  "url": "http://localhost/qprpa/Mainservice.svc/webHttp/LogOff",
  "dataType": "json", "contentType": "application/json; charset=utf-8",
  "data": JSON.stringify({ 
    "sessionId":"75aa3d08-5ad9-4b0b-8981-7daca98348cd"
  })
});

Power Shell Example of listing users

$paService=New-WebServiceProxy –Uri “http://localhost/qprpa/MainService.svc ”
$connection=$paService.Authenticate("username","password",@())
$token=$connection.GetValue(0).Value
$token
$param=@()
$users=$paService.GetUsers($token,$null,$param)
$users
$paService | get-member | ? {$_.definition -match "GetAnalysis"}