2023.3.0 Quali API REST Reference Guide


Login

Starts a new session in Quali Server using the requested user credentials.
Use the server address and port in the following way: http://serverAddress:tcpPort/API. The autorization token that is returned should be sent in each consecutive API call as part of the header. (See the examples for further information).

Syntax

PUT http://serverAddress:tcpPort/API/Auth/Login 

Parameters

TypeNameDescription
string serverMachine
IP address or host name of the Quali Server machine, i.e.: 192.100.1.2 or QsServer.
string serverPort
The TCP port that the Portal is configured to work on.
string username
Username to login with.
string password
Specify the user's login password.
string domain
Specify the name of the domain.
string token
Specify the admin authorization token. if passing a token Username and Password should be omitted.
out string authorizationToken

Example


        Request: 	PUT http://localhost:9000/Api/Auth/Login
        body:
        {
        "Username":"admin",
        "Password":"admin",
        "Domain":"Global"
        }

        OR:

        Request: 	PUT http://localhost:9000/Api/Auth/Login
        body:
        {
        "Token":"dG9rZW32kjrbh2o9nf9rZW4=",
        "Domain":"Global"
        }
      

Output

  • Authorization Token
  • 
            For Example: "dW9rZg4gdG9rZW4TKKG9rZW4="
          

    back to TOC

    Get Available Suite Templates

    Retrieves the list of all available automation suites.

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/SuiteTemplates

    Parameters

    TypeNameDescription
    out list templates
    Provides an array of available automation suites. Each suite is composed of: Name, Description, Owner, Create Date, Modification Date. The name attribute indicates the name of the suite template. The description attribute indicates the description of the suite. The owner attribute indicates the name of the user who created the suite. The create date attribute indicates the create date and time of the suite. The modification date attributes indicate the last modification date and time.

    Example

    
            Request: 	GET http://localhost:9000/API/Scheduling/SuiteTemplates
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • List of suite templates
  • 
            Output:		HTTP STATUS: 200 OK
            [
              {
              "Name": "testcase 10",
              "Description": "testcase 10",
              "Owner": "admin",
              "CreateDate": "2014-06-12T11:01:08",
              "ModificationDate": "2014-06-12T11:01:08"
              },
              {
              "Name": "test case 9",
              "Description": "test case 9",
              "Owner": "admin",
              "CreateDate": "2014-06-12T08:43:54",
              "ModificationDate": "2014-06-12T08:43:53"
              }
            ]
          

    back to TOC

    Get Suite Template Details

    Retrieves properties of the specified automation suite template.

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/SuiteTemplates/suiteTemplateName

    Parameters

    TypeNameDescription
    string Suite Template Name
    the name of the suite template that is used as a container for the suite
    out string Description
    Displays the automation suite description.
    out string Type
    Indicates the automation suite type.
    out string Owner
    Indicates the name of the user who created the automation suite.
    out DateTimeCreate Date
    Indicates the create date and time of the automation suite.
    out DateTimeModification Date
    Indicates the last update date and time of the automation suite.
    out string Email Notifications
    Indicates notification trigger settings: None, Errors, Suite and Errors, or All.
    out number Remove Jobs From Queue After
    Indicates the number of minutes for the suite's execution queue timeout. Suites are automatically removed from the queue upon timing out. -1 Indicates that queue timeout is disabled.
    out boolEnd Reservation On End
    Indicates if the suite's reservation was set to end automatically upon execution completion.
    out list Jobs Details
    Output is an object with the following properties: Name, Description, Execution Servers, Logging Profile, Estimated Duration, Stop On Fail, Stop On Error, Duration Time Buffer and Type. The suite Name column indicates the name of the parent automation suite. The Name column indicates the name of each job. The Description column indicates the description of each job. The Execution Servers indicates a list of one or more execution servers for running the job. Leave empty to run the job on any available execution server. The Logging Profile column indicates the selected logging profile for this job. (None, All, Results, Measurements and Results) The Estimated Duration column Indicates the number of minutes entered as the job's estimated duration. -1 indicates that the duration will be calculated automatically according to the test durations. The Stop On Fail column indicates whether the job was set to stop execution if any of its tests failed. The Stop On Error column indicates whether the job was set to stop execution if any of its tests ended with an error. Duration Time Buffer indicates the number of minutes to be added to the duration estimation. Type Indicates the automation suite type. (Default value: TestShell) In addition the object contains internal objects: Tests - Information about the tests that were selected for this job, with the following parameters: Test path should contain the full details about the location of the test, for example: TestShell\Tests\Shared\Validation\TestCase1. Test Duration indicates the estimated number of minutes for the execution of the test, This value will be used to calculate the job duration. Parameters indicate Information about the input parameters for each of the tests. Topology - indicates the information of the attached topology, with the following parameters: Topology Name indicates the topology name to attach to the job. Global Inputs - Information about the input parameters and parameter values for the attached topology (Optional): Name and value. Requirement Input - Information about the requirements for specific resources that must be included in the topology (Optional): resourcePath, name, value and path. Additional Input - Information about additional input parameters and values for the attached topology (Optional): resourcePath, name and value.
    out string Existing Reservation ID
    Specify existing reservation ID to use for the created suite. This will only be possible for suites with one job and no topologies. Note that the system doesn’t validate the number of jobs attached to the same reservation id. Validation if needed should be applied by the clients of the API.

    Example

    
            Request: 	GET http://localhost:9000/API/Scheduling/SuiteTemplates/testcase 10
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Suite Template
  • 
            Output:		HTTP STATUS: 200 OK
            {
              "SuiteTemplateName": "testcase 10",
              "SuiteName": null,
              "Description": "testcase 10",
              "Type": "TestShell",
              "Owner": "admin",
              "CreateDate": "2014-06-12T11:01:08",
              "ModificationDate": "2014-06-12T11:01:08",
              "EmailNotifications": "ErrorsOnly",
              "RemoveJobsFromQueueAfter": -1,
              "EndReservationOnEnd": true,
              "JobsDetails": [
              {
                "Name": "test case 10 job 1",
                "Description": "gdfgdfg",
                "ExecutionServers": [],
                "LoggingProfile": "None",
                "EstimatedDuration": 2,
                "StopOnFail": false,
                "StopOnError": false,
                "Tests": [
                  {
                    "TestPath": "TestShell\\Tests\\Shared\\Delay5m",
                    "State": null,
                    "StartTime": null,
                    "EndTime": null,
                    "Result": null,
                    "ReportId": null,
                    "Parameters": [],
                    "EstimatedDuration": null
                  }
                 ],
                "Topology": null,
                "DurationTimeBuffer": 0,
                "EmailNotifications": null,
                "Type": "TestShell"
                }
              ],
              "ExistingReservationId": null
            }
          

    back to TOC

    Enqueue Custom SuiteEnqueue Custom Suite

    Create a new custom automation suite and add it to queue

    Syntax

    POST http://serverAddress:tcpPort/API/Scheduling/Suites 

    Parameters

    TypeNameDescription
    string Suite Template Name
    Specify the name of the suite template to use as a container for the suite. Empty value indicates an adHoc suite.
    string Suite Name
    Specify the name of the suite template to use as a container for the suite. Empty value indicates an adHoc suite.
    string Description
    Specify the automation suite description.
    string Type
    Specify the automation suite type. Default value: TestShell
    string Email Notifications
    Specify notification trigger settings: None, Errors Only, Suite and Errors, or All.
    number Remove Jobs From Queue After
    Indicates the number of minutes for the suite's execution queue timeout. Suites are automatically removed from the queue upon timing out. -1 Indicates that queue timeout is disabled.
    boolEnd Reservation On End
    Specify if the suite's reservation should end automatically upon execution completion.
    list Jobs Details
    Input is an object with the following properties: Name, Description, Execution Servers, Logging Profile, Estimated Duration, Stop On Fail, Stop On Error, Duration Time Buffer and Type. The suite Name column indicates the name of the parent automation suite. The Name column indicates the name of each job. The Description column indicates the description of each job. The Execution Servers indicates a list of one or more execution servers for running the job. Leave empty to run the job on any available execution server. The Logging Profile column indicates the selected logging profile for this job. (None, All, Results, Measurements and Results) The Estimated Duration column Indicates the number of minutes entered as the job's estimated duration. -1 indicates that the duration will be calculated automatically according to the test durations. The Stop On Fail column indicates whether the job was set to stop execution if any of its tests failed. The Stop On Error column indicates whether the job was set to stop execution if any of its tests ended with an error. Duration Time Buffer indicates the number of minutes to be added to the duration estimation. Type Indicates the automation suite type. (Default value: TestShell) In addition the object contains internal objects: Tests - Information about the tests that were selected for this job, with the following parameters: Test path should contain the full details about the location of the test, for example: TestShell\Tests\Shared\Validation\TestCase1. Test Duration indicates the estimated number of minutes for the execution of the test, This value will be used to calculate the job duration. Parameters indicate Information about the input parameters for each of the tests. Topology - indicates the information of the attached topology, with the following parameters: Name - indicates the topology name to attach to the job. Global Inputs - Information about the input parameters and parameter values for the attached topology (Can be empty, but must exist): Name and value. Requirement Input - Information about the requirements for specific resources that must be included in the topology (Can be empty, but must exist): resourcePath, name, value and path. Additional Input - Information about additional input parameters and values for the attached topology (Can be empty, but must exist): resourcePath, name and value.
    string Existing Reservation ID
    Specify existing reservation ID to use for the created suite. This will only be possible for suites with one job and no topologies. Note that the system doesn’t validate the number of jobs attached to the same reservation id. Validation if needed should be applied by the clients of the API.
    out string Suite Id
    The ID of the automation suite that was created.

    Example

    
            Request: 	POST http://localhost:9000/API/Scheduling/Suites
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Input:
            {
              "SuiteTemplateName": "testcase 10",
              "SuiteName": "testcase 10 ",
              "Description": "testcase 10",
              "Type": "TestShell",
              "Owner": "admin",
              "EmailNotifications": "ErrorsOnly",
              "RemoveJobsFromQueueAfter": -1,
              "EndReservationOnEnd": true,
              "JobsDetails": [
              {
                "Name": "test case 10 job 1",
                "Description": "gdfgdfg",
                "ExecutionServers": [],
                "LoggingProfile": "None",
                "EstimatedDuration": 2,
                "StopOnFail": false,
                "StopOnError": false,
                "Tests": [
                {
                  "TestPath": "TestShell\\Tests\\Shared\\TestWithInputs",
                  "State": null,
                  "StartTime": null,
                  "EndTime": null,
                  "Result": null,
                  "ReportId": null,
                  "Parameters": [{"ParameterName":"InStr",     "ParameterValue":"a"},
                                {"ParameterName":"InNum",     "ParameterValue":"1"},
                                {"ParameterName":"InStrVect", "ParameterValue":"['b', 'c', 'd']"},
                                {"ParameterName":"InNumVect", "ParameterValue":"[2, 3, 4]"},
                                {"ParameterName":"InStrMat",  "ParameterValue":"['e', 'f', 'g';'h', 'i', 'j';]"},
                                {"ParameterName":"InNumMat",  "ParameterValue":"[5, 6, 7;8, 9, 10;]"}],
                  "EstimatedDuration": null
                }
              ],
              "Topology": {
                "Name":"my topology",
                "GlobalInputs":[],
                "RequirementsInput":[],
                "AdditionalInput":[]
              },
              "DurationTimeBuffer": 0,
              "EmailNotifications": null,
              "Type": "TestShell"
              }
            ],
            "ExistingReservationId": null
            }
          

    Output

  • Suite Id
  • 
            Output: 	HTTP STATUS: 200 OK	"d071cd61-f958-4002-8149-a433c6fc458a"
          

    back to TOC

    Get Suite Details

    Retrieves the full details of a specific automation suite instance

    Syntax

    GET http://localhost:9000/API/Scheduling/Suites/suiteId 

    Parameters

    TypeNameDescription
    string Suite Id
    Specify the ID of the automation suite.
    out string Suite Template Name
    the name of the suite template that is used as a container for the suite
    out string Suite Name
    Indicates the name of the automation suite.
    out string Description
    Displays the automation suite description.
    out string Type
    Indicates the automation suite type.
    out string Owner
    Indicates the name of the user who created the automation suite.
    out string Email Notifications
    Indicates notification trigger settings: None, Errors, Suite and Errors, or All.
    out number Remove Jobs From Queue After
    Indicates the number of minutes for the suite's execution queue timeout. Suites are automatically removed from the queue upon timing out. -1 Indicates that queue timeout is disabled.
    out boolEnd Reservation On End
    Indicates if the suite's reservation was set to end automatically upon execution completion.
    out list Jobs Details
    Output is an object with the following properties: Name, Description, Execution Servers, Logging Profile, Estimated Duration, Stop On Fail, Stop On Error, Duration Time Buffer, Type, Job State, Job Result, Start Time, End Time, Elapsed Time, Selected Execution Server and Expected Start Time. The Name column indicates the name of each job. The Description column indicates the description of each job. The Execution Servers indicates a list of one or more execution servers for running the job. Leave empty to run the job on any available execution server. The Logging Profile column indicates the selected logging profile for this job. (None, All, Results, Measurements and Results) The Estimated Duration column Indicates the number of minutes entered as the job's estimated duration. -1 indicates that the duration will be calculated automatically according to the test durations. The Stop On Fail column indicates whether the job was set to stop execution if any of its tests failed. The Stop On Error column indicates whether the job was set to stop execution if any of its tests ended with an error. Duration Time Buffer indicates the number of minutes to be added to the duration estimation. Type Indicates the automation suite type. (Default value: TestShell) In addition the object contains internal objects: Tests - Information about the tests that were selected for this job, with the following parameters: Test path should contain the full details about the location of the test, for example: TestShell\Tests\Shared\Validation\TestCase1. Test Duration indicates the estimated number of minutes for the execution of the test, This value will be used to calculate the job duration. Parameters indicate Information about the input parameters for each of the tests. State indicates the current status for each test, Start Time and End Time columns indicate the execution start and end times for each test. Result column indicates the return of the test. Report ID, Concatenate the Report ID column value to the relevant IP address to create a URL to the test report. Report Link is a generated link to the report. Estimated Duration is the estimated number of minutes for the execution of the test, This value will be used to calculate the job duration. Topology - indicates the information of the attached topology, with the following parameters: Topology Name indicates the topology name to attach to the job. Global Inputs - Information about the input parameters and parameter values for the attached topology (Optional): Name and value. Requirement Input - Information about the requirements for specific resources that must be included in the topology (Optional): resourcePath, name, value and path. Additional Input - Information about additional input parameters and values for the attached topology (Optional): resourcePath, name and value.
    out string Suite Status
    Indicates the current status of the automation suite: Pending, Started, Ended or Failed to Start
    out string Suite Result
    Indicate the result of the suite: Error, Failed, Succeeded
    out string Remaining Jobs
    Indicates the number of uncompleted jobs
    out DateTimeStart Time
    Indicates the date and time when the suite began execution.
    out DateTimeEnd Time
    Indicates the date and time when the suite completed its execution. The value will be null if the execution hasn't yet ended.

    Example

    
            Request:
            GET http://localhost:9000/API/Scheduling/Suites/d071cd61-f958-4002-8149-a433c6fc458a
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Suite Details
  • 
           Output:		HTTP STATUS: 200 OK
          {
              "SuiteId": "d071cd61-f958-4002-8149-a433c6fc458a",
              "SuiteName": "#9 aaa",
              "SuiteTemplateName": "testcase 10",
              "Description": "testcase 10",
              "Owner": "admin",
              "SuiteStatus": "Pending",
              "SuiteResult": "",
              "RemainingJobs": 1,
              "StartTime": null,
              "EndTime": null,
              "Type": "TestShell",
              "RemoveJobsFromQueueAfter": -1,
              "EndReservationOnEnd": true,
              "JobsDetails": [
                  {
                      "Id": "fc5eab1f-3170-4194-a878-0e2b375be8c2",
                      "OwnerName": "admin",
                      "JobState": "Pending",
                      "JobResult": null,
                      "JobFailureDescription": null,
                      "EnqueueTime": "2014-07-09T12:05:53",
                      "StartTime": "0001-01-01T00:00:00",
                      "EndTime": "0001-01-01T00:00:00",
                      "ElapsedTime": -1,
                      "UseAnyExecutionServer": true,
                      "SelectedExecutionServer": null,
                      "SuiteId": "d071cd61-f958-4002-8149-a433c6fc458a",
                      "ExpectedStartTime": null,
                      "Name": "test case 10 job 1",
                      "Description": "gdfgdfg",
                      "ExecutionServers": [],
                      "LoggingProfile": "None",
                      "EstimatedDuration": 2,
                      "StopOnFail": false,
                      "StopOnError": false,
                      "Tests": [
                          {
                              "TestPath": "TestShell\\Tests\\Shared\\Delay50sec",
                              "State": "Pending",
                              "StartTime": null,
                              "EndTime": null,
                              "Result": "Pending Execution",
                              "ReportId": null,
                              "ReportLink": "",
                              "Parameters": [],
                              "EstimatedDuration": null
                          }
                      ],
                      "Topology": null,
                      "DurationTimeBuffer": 0,
                      "EmailNotifications": null,
                      "Type": "TestShell"
                  }
              ],
              "EmailNotifications": "ErrorsOnly"
          }
          

    back to TOC

    Stop Suite Execution

    Stops the execution of all the suite's jobs

    Syntax

    DELETE http://serverAddress:tcpPort/API/Scheduling/Suites/SuiteId

    Parameters

    TypeNameDescription
    string Suite Id
    Specify the ID of the automation suite to stop.

    Example

    
            Request:
            DELETE http://localhost:9000/API/Scheduling/Suites/d071cd61-f958-4002-8149-a433c6fc458a
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
           
          

    Output

  • Response
  • 
            Output:		HTTP STATUS: 200 OK
          

    back to TOC

    Get Suite Status

    Retrieves the status of a specific automation suite instance

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/Suites/Status/suiteId 

    Parameters

    TypeNameDescription
    string Suite Id
    Specify the ID of the automation suite.
    out string Suite Status
    Indicates the current status of the automation suite: Pending, Started or Ended
    out list Jobs Statuses
    Output is an object with the following properties: Id, Job State. The Id indicates the identifier of each job. The Job State indicates the current state of the job: Pending, Scheduled, Running, Done, Stopped or Cancelled.

    Example

    
            Request:
            GET http://localhost:9000/API/Scheduling/Suites/Status/d071cd61-f958-4002-8149-a433c6fc458a
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Suite Status
  • 
            Output:		HTTP STATUS: 200 OK
            {
                "SuiteId": "d071cd61-f958-4002-8149-a433c6fc458a",
                "SuiteStatus": "Pending",
                "JobsStatuses": [
                    {
                        "Id": "fc5eab1f-3170-4194-a878-0e2b375be8c2",
                        "JobState": "Pending"
                    }
                ]
            }
          

    back to TOC

    Get Test Folder Child Elements

    Retrieves the child elements (folder / tests) of a test folder in the tests tree

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/Explorer/Shared/fullFolderPath 

    Parameters

    TypeNameDescription
    string Full Folder Path
    Specify the full path of the folder. An empty value is mapped to the root tests tree folder.
    out list Test Folder Content
    Output is a list of objects with the following properties: Name, Type, TestInfoUrl. The Name indicates the name of the child element. The Type indicates the type of the child element: Folder, Test. The TestInfoUrl will be empty if the child element is a folder or contain the url of the test info api method in case that the element is a test.

    Example

    
            Request:
            GET http://localhost:9000/API/Scheduling/Explorer/Shared/Some%20Folder
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Test Folder Content
  • 
            Output:		HTTP STATUS: 200 OK
            {
                "Children": [
                    {
                        "Name": "some test",
                        "Type": "Test"
                        "TestInfoUrl": "http://localhost:9000/API/Scheduling/TestInfo/Shared/Some%20Folder/some%20test"
                    },
                    {
                        "Name": "another folder",
                        "Type": "Folder"
                    }
                ]
            }
          

    back to TOC

    Get Test Information

    Retrieves information about a test in the tests tree

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/TestInfo/Local/fullFolderPath 

    Parameters

    TypeNameDescription
    string Full Test Path
    Specify the full path of the test.
    out list Test Info
    Output is an object with the following properties: Name, Description, Duration, Parameters. The Name indicates the name of test. The Description indicates the description of the test. The Duration indicates the estimated duration of the test (can be empty). The Parameters indicates the list of the test's input parameters each object in the list have the following properties: Name, Description, Type, Dimension, Direction, PossibleValues The Name indicates the name of the parameter. The Description indicates the description of the parameter. The Type indicates the type of the parameter: String, Numeric. The Dimension indicates the dimension of the parameter: Scalar, Vector, Matrix. The Direction indicates the direction of the parameter: In, InOut. The PossibleValues indicates a list of string possible values for the parameter.

    Example

    
            Request:
            GET http://localhost:9000/API/Scheduling/TestInfo/Local/Folder/Test1
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • API Explorer Result
  • 
            Output:		HTTP STATUS: 200 OK
            {
              "Name":"Many parameters test",
              "Description":"Some description",
              "Duration":"00:10:00",
              "Parameters":
              [
                {"Name": "InOutStringWithPossibleValues", "Description": "", "Type": "String", "Dimension": "Scalar", "Direction": "InOut", "PossibleValues": ["Galore", "HarbeGalore"]},
                {"Name": "InStringVector", "Description": "", "Type": "String", "Dimension": "Vector", "Direction": "In", "PossibleValues": []},
                {"Name": "InNumericMatrix", "Description": "", "Type": "Numeric", "Dimension": "Matrix", "Direction": "In", "PossibleValues": []}
              ]
            }
          

    back to TOC

    Import Package

    Imports a quali package into the system.

    Syntax

    POST http://serverAddress:tcpPort/API/Package/ImportPackage

    Parameters

    TypeNameDescription
    string Package Path
    Full path to the location of the package that is going to be imported

    Example

    
            Request: 	POST http://localhost:9000/API/Package/ImportPackage
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Content-Disposition: form-data; name="QualiPackage"; filename="package.zip"
            Content-Type: application/x-zip-compressed
          

    back to TOC

    Export Package

    Export a quali package into the system.

    Syntax

    POST http://serverAddress:tcpPort/API/Package/ExportPackage

    Parameters

    TypeNameDescription
    list Topologies
    Names of the topologies to include in the package

    Example

    
            Request: 	POST http://localhost:9000/API/Package/ExportPackage
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Content-Type: application/json
            Input:
            {
              TopologyNames: ["topo1","topo2"]
            }
          

    back to TOC

    Get Execution Servers

    Get list of CloudShell Execution Servers

    Syntax

    GET http://serverAddress:tcpPort/API/Manage/ExecutionServers

    Parameters

    TypeNameDescription
    out list Execution Servers
    Output is an object with the following properties: Execution Server Id, Execution Server Name, Status and Connection state. Execution Server Name indicates the name of the Exectuion Server. Execution Server Id indicates the id of the Exectuion Server. Status indicates whether the Execution Server is included or excluded. Connection indicates whether the Execution Server is online or offline.

    Example

    
            Request: 	GET http://localhost:9000/API/Manage/ExecutionServers
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=       
          

    Output

  • Execution Servers
  • 
            Output: 	HTTP STATUS: 200 OK
            [
            {
            "Name": "Exec-US",
            "Id": "9ee76246-e9c4-40ed-a365-ed5dde226969",
            "Status": "Included",
            "Connection": "Offline"
            },
            {
            "Name": "Exec-EU",
            "Id": "9128b2d5-18cd-4e9e-9aed-a75f9b75e33e",
            "Status": "Excluded",
            "Connection": "Online"
            }
            ]
          

    back to TOC

    Get Licenses Usage Info

    Gets current licenes usage information

    Syntax

    GET http://serverAddress:tcpPort/API/Manage/GetLicensesInfo

    Parameters

    TypeNameDescription
    out list TotalLicenseData
    Overall license usage data object with the following properties: Capacity - total amount of concurrent sandboxes allowed. InUse - total amount of active concurrent sandboxes in the system.
    out list LicensePools
    List of the license pools. Each license pool has the following properties: Name - name of the license pool. Capacity - maximum amount of allowed concurrent sandboxes for this license pool. InUse - amount of active concurrent sandboxes for this license pool. Domains - list of the domains associated with the license pool.

    Example

    
            Request:  GET http://localhost:9000/API/Manage/GetLicensesInfo
            Header:  Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Licenses Usage
  • 
            Output:  HTTP STATUS: 200 OK
            {
              "TotalLicenseData": {
                "Capacity": 500,
                "InUse": 1
              },
              "LicensePools": [
                {
                  "Name": "Pool A",
                  "Capacity": 5,
                  "InUse": 1,
                  "Domains": [
                    "Domain A"
                  ]
                },
                {
                  "Name": "Global Pool",
                  "Capacity": 495,
                  "InUse": 0,
                  "Domains": [
                    "Global",
                    "Domain B",
                    "Domain C",
                    "Domain D",
                    "Test Team NY",
                    "Test Team Calif",
                    "Consulting Phili"
                  ]
                }
              ]
            }
          

    back to TOC

    Get Execution Server Details

    Get the detailes of an Execution Server

    Syntax

    GET http://serverAddress:tcpPort/API/Manage/ExecutionServers/executionServer1 

    Parameters

    TypeNameDescription
    string Execution Server Name
    Specify the name or id of the Execution Server.
    out list Execution Server Details
    Output is an object with the following properties: Execution Server Name, Execution Server Id, State, Connection, Host Name, Operating System, Type, Running, Exclusion Reason, Available Job Slots, Available Command Slot, Job Slots Capacity, Command Slots Capacity and Attributes. Execution Server Name indicates the name of the Execution Server. Execution Server Id indicates the id of the Execution Server. Status indicates if the Execution Server is excluded or included. Connection indicates if the Execution Server is online or offline. Host Name indicates the name of the host of the Execution Server. Operating System indicates the type of the operating system of the Execution Server. Type indicates the Execution Server type. Running indicates the total number of running jobs and commands. Exclusion Reason indicates the exclusion reason in case the Execution Server if excluded. Available Job Slots indicates the number of free job slots. Available Command Slot indicates the number of free command slots. Job Slots Capacity indicates the total number of job slots configured on the Execution Server. Command Slots Capacity indicates the total number of command slots configured on the Execution Server. Attributes indicates the attributes configured on the Execution Server.

    Example

    
            Request: 	GET http://localhost:9000/API/Manage/ExecutionServers/QS-ILTEST321
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Execution Servers
  • 
            Output: 	HTTP STATUS: 200 OK
            {
            "Name": "QS-ILTEST321",
            "Id": "9128b2d5-18cd-4e9e-9aed-a75f9b75e33e",
            "Status": "Excluded",
            "Connection": "Offline",
            "HostName": "QS-ILTEST321",
            "OperatingSystem": "Windows",
            "Type": "TestShell",
            "Running": 0,
            "ExclusionReason": "Excluded by admin",
            "AvailableJobSlots": 1,
            "AvailableCommandSlots": 20,
            "JobSlotsCapacity": 1,
            "CommandSlotsCapacity": 20,
            "Attributes": [
            {
            "Name": "Execution Server Selector",
            "Value": ""
            },
            {
            "Name": "Supports Ansible",
            "Value": "True"
            }
            ]
            }
          

    back to TOC

    Include/Exclude Execution Server

    Include/Exclude a specified Execution Server

    Syntax

    POST http://serverAddress:tcpPort/API/Manage/ExecutionServers/executionServer1 

    Parameters

    TypeNameDescription
    string Execution Server Name
    Specify the name or id of the Execution Server.
    string Execution Server Status
    Specify the status of the Execution Server. Supported values: Included, Excluded
    string Exclusion reason
    Specify the exclusion reason

    Example

    
            Request: 	POST http://localhost:9000/API/Manage/ExecutionServers/QS-ILTEST321
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
    		
    		body:
            {
            "Status":"Excluded",
            "ExclusionReason":"some reason"
            }
          

    back to TOC

    Enqueue Custom Job

    Creates a new custom job, attaches it to a new AdHoc suite, and adds it to the job queue.

    Syntax

    POST http://serverAddress:tcpPort/API/Scheduling/Queue 

    Parameters

    TypeNameDescription
    string Job Name
    Specify the name of the job. (Limited to 50 characters)
    string Description
    Provide a short description of the job. (Limited to 500 characters)
    list Execution Servers
    Specify a list of one or more execution servers for running the job. Leave empty to run the job on any available execution server.
    string Logging Profile
    Indicate which logging profile to use when executing the job's tests. None, All, Results, Measurements and Results
    number Estimated Duration
    Specify the time (in minutes) it will take to complete the job -1 indicates that the duration will be calculated automatically according to the test durations.
    boolStop On Fail
    Indicate whether to stop the job execution if one of the tests fails.
    boolStop On Error
    Indicate whether to abort the job if any test ends with an error.
    list Tests
    Tests - Information about the tests that were selected for this job, with the following parameters: Test path should contain the full details about the location of the test, for example: TestShell\Tests\Shared\Validation\TestCase1. Test Duration indicates the estimated number of minutes for the execution of the test, This value will be used to calculate the job duration. Parameters indicate Information about the input parameters for each of the tests.
    list Topology
    Indicates the information of the attached topology, with the following parameters: Topology Name indicates the topology name to attach to the job. Global Inputs - Information about the input parameters and parameter values for the attached topology (Optional): Name and value. Requirement Input - Information about the requirements for specific resources that must be included in the topology (Optional): resourcePath, name, value and path. Additional Input - Information about additional input parameters and values for the attached topology (Optional): resourcePath, name and value.
    number Duration Time Buffer
    Indicates the number of minutes to be added to the duration estimation. Note that this parameter is used only when "Estimated Duration" is calculated automatically.
    string Email Notification
    Specify notification trigger settings: None, Errors Only, Suite and Errors, or All.
    string Type
    Indicates the automation suite type. Default value: TestShell

    Example

    
            Request: 	POST http://localhost:9000/API/Scheduling/Queue
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Input:
            {
            "name": "job1",
            "description": null,
            "executionServers": [],
            "loggingProfile": "None",
            "estimatedDuration": 123,
            "stopOnFail": false,
            "stopOnError": false,
            "tests": [
            {
            "TestPath": "TestShell\\Tests\\Shared\\TestWithInputs",
            "TestDuration": "123",
            "Parameters": [{"ParameterName":"InStr",     "ParameterValue":"a"},
                           {"ParameterName":"InNum",     "ParameterValue":"1"},
                           {"ParameterName":"InStrVect", "ParameterValue":"['b', 'c', 'd']"},
                           {"ParameterName":"InNumVect", "ParameterValue":"[2, 3, 4]"},
                           {"ParameterName":"InStrMat",  "ParameterValue":"['e', 'f', 'g';'h', 'i', 'j';]"},
                           {"ParameterName":"InNumMat",  "ParameterValue":"[5, 6, 7;8, 9, 10;]"}]
            }
            ],
            "topology": {
                "Name":"my topology",
                "GlobalInputs":[],
                "RequirementsInput":[],
                "AdditionalInput":[]
            },
            "durationTimeBuffer": 10,
            "emailNotifications": "All",
            "type" : "TestShell"
            }
          

    Output

  • JobId
  • 
            Output: 	HTTP STATUS: 200 OK	"f839063d-34c6-4847-a960-00734ac79aae"
          

    back to TOC

    Get Job Details

    Retrieves all details and parameters for a specified job.

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/Jobs/f839063d-34c6-4847-a960-00734ac79aae 

    Parameters

    TypeNameDescription
    string Job Id
    Specify the ID of the job to retrieve
    out string Job Name
    The name of the job associated with the specified job ID. (Limited to 50 characters)
    out string Description
    The description of the job associated with the specified job ID. (Limited to 500 characters)
    out string Owner Name
    The name of the user who created this job.
    out string Job State
    The current state of the job. Pending, Scheduled, Running, Done, Stopped, Cancelled or Failed to Start.
    out string Job Result
    The result of the job execution: Completed, Passed, Failed, Ended With Error, Ended With An Exception, Manually Stopped, Terminated, or Not Started
    out string Job Failure Description
    A short description of the reason for a failed execution. This value will be empty for a running job or for completed jobs that ran without problems.
    out DateTimeEnqueue Time
    The date and time when the job was enqueued.
    out DateTimeStart Time
    The date and time when the job started running. The value will be null if the job is still Pending or Failed to Start.
    out DateTimeEnd Time
    The date and time when the job stopped running. The value will be null if the job has not yet ended.
    out number Elapsed Time
    The number of minutes that have elapsed since the job started. Returns -1 if the job hasn't started yet. Returns the job duration (in minutes) if the job has already finished.
    out boolUse Any Execution Server
    Indicates that the job owner allowed the job to run on any available server.
    out list Execution Servers
    A list of Execution server names that were selected by the user for this job. This parameter will have values only if the job is still pending.
    out string Selected Execution Server
    The execution server that was selected to run the job.
    out string Logging Profile
    The selected logging profile for this job’s tests. None, All, Results, Measurements and Results
    out boolStop On Fail
    Indicate whether to stop the job execution if one of the tests fails.
    out boolStop On Error
    Indicate whether to abort the job if any test ends with an error.
    out list Tests
    Tests - Information about the tests that were selected for this job, with the following parameters: Test path should contain the full details about the location of the test, for example: TestShell\Tests\Shared\Validation\TestCase1. Estimated Duration is the estimated number of minutes for the execution of the test, This value will be used to calculate the job duration. State column indicates the current status for each test. Start Time and End Time columns indicate the execution start and end times for each test. Result column indicates the test result. Report ID, Concatenate the Report ID column value to the relevant IP address to create a URL to the test report. Report Link is a generated link to the report. Parameters indicate Information about the input parameters for each of the tests.
    out list Topology
    Indicates the information of the attached topology, with the following parameters: Topology Name indicates the topology name to attach to the job. Global Inputs - Information about the input parameters and parameter values for the attached topology (Optional): Name and value. Requirement Input - Information about the requirements for specific resources that must be included in the topology (Optional): resourcePath, name, value and path. Additional Input - Information about additional input parameters and values for the attached topology (Optional): resourcePath, name and value.
    out number Duration Time Buffer
    Indicates the number of minutes to be added to the duration estimation.
    out DateTimeExpected Start Time
    The expected execution start date and time for a job that is currently pending.
    out string Suite Id
    The ID of the suite that was used to create this job.

    Example

    
            Request:
            GET http://localhost:9000/API/Scheduling/Jobs/f839063d-34c6-4847-a960-00734ac79aae
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Job Details
  • 
            Output: 	HTTP STATUS: 200 OK
            {
              "Id": "f839063d-34c6-4847-a960-00734ac79aae",
              "OwnerName": "admin",
              "JobState": "Scheduled",
              "JobResult": null,
              "JobFailureDescription": null,
              "EnqueueTime": "2014-07-08T11:56:11",
              "StartTime": "0001-01-01T00:00:00",
              "EndTime": "0001-01-01T00:00:00",
              "ElapsedTime": -1,
              "UseAnyExecutionServer": true,
              "SelectedExecutionServer": "QS-IL-LT-MENIB",
              "SuiteId": "2a1b1bfc-eb57-4a52-90aa-5c5186e1c67f",
              "ExpectedStartTime": "2014-07-08T23:24:00",
              "Name": "job1",
              "Description": "",
              "ExecutionServers": [],
              "LoggingProfile": "None",
              "EstimatedDuration": 123,
              "StopOnFail": false,
              "StopOnError": false,
              "Tests": [
                {
                  "TestPath": "TestShell\\Tests\\Shared\\Delay3m1r_4",
                  "State": "Pending",
                  "StartTime": null,
                  "EndTime": null,
                  "Result": "Pending Execution",
                  "ReportId": null,
                  "ReportLink": "",
                  "Parameters": [],
                  "EstimatedDuration": 123
                }
              ],
              "Topology": null,
              "DurationTimeBuffer": 10,
              "EmailNotifications": “All”,
              "Type": "TestShell"
            }
          

    back to TOC

    Get Queued Jobs

    Retrieves the list of all jobs that are currently in the job queue.

    Syntax

    GET http://serverAddress:tcpPort/API/Scheduling/Queue 

    Parameters

    TypeNameDescription
    out list Queued Jobs
    Output is an seven column matrix with Job ID, Job Name, Owner, Enqueue Time, Job Details Url, Expected Start Time, and Suite Id as the column headings. Job ID indicates the ID of each job. Job Name indicates the name of the job. Suite Id indicates the ID of the automation suite that was used to create each job. Owner indicates name of the user who initiated each job. Enqueue Time indicates the date and time that each job was added to the queue. Expected Start Time indicates each job's expected execution start date and time. Job Details Url indicates the link address to the REST function that retrieves the full details of the job.

    Example

    
            Request: 	GET http://localhost:9000/API/Scheduling/Queue
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=       
          

    Output

  • Queued Jobs
  • 
            Output: 	HTTP STATUS: 200 OK
            [
              {
                "JobId": "12f9911c-56bc-41fa-b0c1-eb6101ebc883",
                "SuiteId": "d39e53fc-7922-4c80-80ce-aa1d2f3c5957",
                "JobName": "job1",
                "OwnerName": "admin",
                "EnqueueTime": "2014-07-08T11:50:16",
                "JobDetailsUrl": "http://localhost:9000/api/Scheduling/Jobs/12f9911c-56bc-41fa-b0c1-eb6101ebc883",
                "ExpectedStartTime": "2014-07-08T16:36:00"
              },
              {
                "JobId": "4efe96ab-5117-4a0e-ac92-3b054620bdfd",
                "SuiteId": "c66f9fec-692e-4d50-8ec7-5eff3fa686c5",
                "JobName": "job1",
                "OwnerName": "admin",
                "EnqueueTime": "2014-07-08T11:49:27",
                "JobDetailsUrl": "http://localhost:9000/api/Scheduling/Jobs/4efe96ab-5117-4a0e-ac92-3b054620bdfd",
                "ExpectedStartTime": "2014-07-08T14:20:00"
              }
            ]
          

    back to TOC

    Get Running Jobs

    Retrieves the list of all jobs that are currently running

    Syntax

    GET http://localhost:9000/API/Scheduling/Executions 

    Parameters

    TypeNameDescription
    out list Running Jobs
    Output is a nine column matrix with Job ID, JobName, Owner, Start Time, Execution Server, Current Test, Current Test ID, Total Tests, and suiteId as the column headings. Job ID indicates the ID of each running job. JobName indicates the name of the job. suiteId indicates the ID of the automation suite that was used to create each job. Owner indicates name of the user who initiated each job. Start Time indicates when each job was started. Execution Server indicates the name of the execution server running each job. Current Test indicates the test that is currently being executed for each running job. Current Test ID indicates the ID of the currently running test. Total Tests indicates the number of tests for each running job.

    Example

    
            Request: 	GET http://serverAddress:tcpPort/API/Scheduling/Executions
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Running Jobs
  • 
            Output: 	HTTP STATUS: 200 OK
            [
              {
                "JobId": "42c97f6d-6388-41c5-b5f1-b7a7ae04aa7b",
                "SuiteId": "9f9a090c-570a-40e6-b560-b34fb8ce4e0f",
                "JobName": "test case 10 job 1",
                "OwnerName": "admin",
                "StartTime": "2014-07-08T12:34:00",
                "ExecutionServer": "QS-IL-LT-MENIB",
                "CurrentTestPath": "TestShell\\Tests\\Shared\\Delay5m",
                "CurrentTestId": 1,
                "TotatlTests": 1,
                "JobDetailsUrl": "http://localhost:9000/api/Scheduling/Jobs/42c97f6d-6388-41c5-b5f1-b7a7ae04aa7b"
              }
            ]
    
          

    back to TOC

    Stop Job Execution

    Stops the execution of the job

    Syntax

    DELETE http://serverAddress:tcpPort/API/Scheduling/Executions/jobId 

    Parameters

    TypeNameDescription
    string Job Id
    Specify the ID of the job to stop.

    Example

    
            Request:
            DELETE http://localhost:9000/API/Scheduling/Executions/42c97f6d-6388-41c5-b5f1-b7a7ae04aa7b
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Response
  • 
            Output:		HTTP STATUS: 200 OK
          

    back to TOC

    Get Reservation Attachment

    Get Reservation Attachment

    Syntax

    POST http://serverAddress:tcpPort/API/Package/GetReservationAttachment 

    Parameters

    TypeNameDescription
    string Reservation Id
    Specify the id of the reservation.
    string Filename
    Specify the requested filename in the reservation.
    string Save Path
    Specify the path where the file will be saved

    Example

    
            Request:
            POST http://localhost:9000/API/Package/GetReservationAttachment
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
    		Input:
    		{
    			"ReservationId": "c0b859fb-554b-43c5-be04-9d3d55b818f0",
    			"FileName": "report",
    			"SaveToFolderPath": "c:\"
    		}
          

    Output

  • Response
  • 
            Output:		HTTP STATUS: 200 OK
          

    back to TOC

    Get Reservation Attachments Details

    Get Reservation Attachments Details

    Syntax

    GET http://serverAddress:tcpPort/API/Package/GetReservationAttachmentsDetails/c0b859fb-554b-43c5-be04-9d3d55b818f0 

    Parameters

    TypeNameDescription
    string Reservation Id
    Specify the id of the reservation.
    out list Filenames
    List of reservation's saved attachments.

    Example

    
            Request:
            GET http://localhost:9000/API/Package/GetReservationAttachmentsDetails/c0b859fb-554b-43c5-be04-9d3d55b818f0
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
          

    Output

  • Response
  • 
            Output:		HTTP STATUS: 200 OK
    		{
              "Success": "true",
              "AllAttachments": ["report1","report2"],
              "ErrorMessage": ""
    		}
          

    back to TOC

    Attach File To Reservation

    Attach File To Reservation

    Syntax

    POST http://serverAddress:tcpPort/API/Package/AttachFileToReservation 

    Parameters

    TypeNameDescription
    string Reservation Id
    Specify the id of the reservation.
    string File path
    Specify the path of the file that needs to be uploaded as a form-data param named ‘QualiPackage’.
    string Save file as
    Save file as
    string Overwrite If Exists
    Overwrite If Exists

    Example

    
    		Request:
            POST http://localhost:9000/API/Package/AttachFileToReservation
            Header:        Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Input:      "reservationId": "c0b859fb-554b-43c5-be04-9d3d55b818f0"
                        "saveFileAs": "report1"
                        "overwriteIfExists": "true"
            Content-Disposition: form-data; name="QualiPackage"; filename="report.ext
            Content-Type: application/x-zip-compressed
          

    Output

  • Response
  • 
            Output:		HTTP STATUS: 200 OK
          

    back to TOC

    Delete File From Reservation

    Delete File From Reservation

    Syntax

    POST http://serverAddress:tcpPort/API/Package/DeleteFileFromReservation 

    Parameters

    TypeNameDescription
    string Reservation Id
    Specify the id of the reservation.
    string Filename
    Specify the fullname of the file to delete

    Example

    
            Request:
            POST http://localhost:9000/API/Package/DeleteFileFromReservation
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
    		Input:
    		{
    			"ReservationID": "c0b859fb-554b-43c5-be04-9d3d55b818f0",
    			"FileName": "report1"
    		}
          

    Output

  • Response
  • 
            Output:		HTTP STATUS: 200 OK
          

    back to TOC

    Add Shell

    Upload and add a new shell into the system

    Syntax

    POST http://serverAddress:tcpPort/API/Shells

    Parameters

    TypeNameDescription
    string Shell File
    Full path to the location of the shell that is going to be imported

    Example

    
            Request: 	POST http://localhost:9000/API/Shells
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Content-Disposition: form-data; name="Shell"; filename="myshell.zip"
            Content-Type: application/x-zip-compressed
          

    back to TOC

    Update Shell

    Upload and upgrade an existing shell

    Syntax

    PUT http://serverAddress:tcpPort/API/Shells/[Shell Name]

    Parameters

    TypeNameDescription
    string Shell Name
    The name of the shell to update
    string Shell File
    Full path to the location of the shell that is going to be imported

    Example

    
            PUT http://localhost:9000/API/Shells/MyShellName
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Content-Disposition: form-data; name="Shell"; filename="myshell.zip"
            Content-Type: application/x-zip-compressed
          

    back to TOC

    Delete Shell

    Delete an existing shell

    Syntax

    DELETE http://serverAddress:tcpPort/API/Shells/[Shell Name]

    Parameters

    TypeNameDescription
    string Shell Name
    The name of the shell to delete

    Example

    
            DELETE http://localhost:9000/API/Shells/MyShellName
            Header: 	Authorization: Basic dG9rZW4gdG9rZW4gdG9rZW4=
            Content-Disposition: form-data; shellName="Shell"
          

    back to TOC