Login
Syntax
PUT http://serverAddress:tcpPort/API/Auth/Login
Parameters
Type | Name | Description |
---|---|---|
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
For Example: "dW9rZg4gdG9rZW4TKKG9rZW4="
Get Available Suite Templates
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/SuiteTemplates
Parameters
Type | Name | Description |
---|---|---|
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
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"
}
]
Get Suite Template Details
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/SuiteTemplates/suiteTemplateName
Parameters
Type | Name | Description |
---|---|---|
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 DateTime | Create Date | Indicates the create date and time of the automation suite. |
out DateTime | Modification 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 bool | End 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
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
}
Enqueue Custom SuiteEnqueue Custom Suite
Syntax
POST http://serverAddress:tcpPort/API/Scheduling/Suites
Parameters
Type | Name | Description |
---|---|---|
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. |
bool | End 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
Output: HTTP STATUS: 200 OK "d071cd61-f958-4002-8149-a433c6fc458a"
Get Suite Details
Syntax
GET http://localhost:9000/API/Scheduling/Suites/suiteId
Parameters
Type | Name | Description |
---|---|---|
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 bool | End 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 DateTime | Start Time | Indicates the date and time when the suite began execution. |
out DateTime | End 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
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"
}
Stop Suite Execution
Syntax
DELETE http://serverAddress:tcpPort/API/Scheduling/Suites/SuiteId
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
Get Suite Status
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/Suites/Status/suiteId
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
{
"SuiteId": "d071cd61-f958-4002-8149-a433c6fc458a",
"SuiteStatus": "Pending",
"JobsStatuses": [
{
"Id": "fc5eab1f-3170-4194-a878-0e2b375be8c2",
"JobState": "Pending"
}
]
}
Get Test Folder Child Elements
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/Explorer/Shared/fullFolderPath
Parameters
Type | Name | Description |
---|---|---|
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
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"
}
]
}
Get Test Information
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/TestInfo/Local/fullFolderPath
Parameters
Type | Name | Description |
---|---|---|
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
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": []}
]
}
Import Package
Syntax
POST http://serverAddress:tcpPort/API/Package/ImportPackage
Parameters
Type | Name | Description |
---|---|---|
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
Export Package
Syntax
POST http://serverAddress:tcpPort/API/Package/ExportPackage
Parameters
Type | Name | Description |
---|---|---|
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"]
}
Get Execution Servers
Syntax
GET http://serverAddress:tcpPort/API/Manage/ExecutionServers
Parameters
Type | Name | Description |
---|---|---|
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
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"
}
]
Get Licenses Usage Info
Syntax
GET http://serverAddress:tcpPort/API/Manage/GetLicensesInfo
Parameters
Type | Name | Description |
---|---|---|
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
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"
]
}
]
}
Get Execution Server Details
Syntax
GET http://serverAddress:tcpPort/API/Manage/ExecutionServers/executionServer1
Parameters
Type | Name | Description |
---|---|---|
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
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"
}
]
}
Include/Exclude Execution Server
Syntax
POST http://serverAddress:tcpPort/API/Manage/ExecutionServers/executionServer1
Parameters
Type | Name | Description |
---|---|---|
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"
}
Enqueue Custom Job
Syntax
POST http://serverAddress:tcpPort/API/Scheduling/Queue
Parameters
Type | Name | Description |
---|---|---|
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.
|
bool | Stop On Fail | Indicate whether to stop the job execution if one of the tests fails. |
bool | Stop 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
Output: HTTP STATUS: 200 OK "f839063d-34c6-4847-a960-00734ac79aae"
Get Job Details
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/Jobs/f839063d-34c6-4847-a960-00734ac79aae
Parameters
Type | Name | Description |
---|---|---|
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 DateTime | Enqueue Time | The date and time when the job was enqueued. |
out DateTime | Start 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 DateTime | End 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 bool | Use 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 bool | Stop On Fail | Indicate whether to stop the job execution if one of the tests fails. |
out bool | Stop 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 DateTime | Expected 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
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"
}
Get Queued Jobs
Syntax
GET http://serverAddress:tcpPort/API/Scheduling/Queue
Parameters
Type | Name | Description |
---|---|---|
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
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"
}
]
Get Running Jobs
Syntax
GET http://localhost:9000/API/Scheduling/Executions
Parameters
Type | Name | Description |
---|---|---|
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
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"
}
]
Stop Job Execution
Syntax
DELETE http://serverAddress:tcpPort/API/Scheduling/Executions/jobId
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
Get Reservation Attachment
Syntax
POST http://serverAddress:tcpPort/API/Package/GetReservationAttachment
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
Get Reservation Attachments Details
Syntax
GET http://serverAddress:tcpPort/API/Package/GetReservationAttachmentsDetails/c0b859fb-554b-43c5-be04-9d3d55b818f0
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
{
"Success": "true",
"AllAttachments": ["report1","report2"],
"ErrorMessage": ""
}
Attach File To Reservation
Syntax
POST http://serverAddress:tcpPort/API/Package/AttachFileToReservation
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
Delete File From Reservation
Syntax
POST http://serverAddress:tcpPort/API/Package/DeleteFileFromReservation
Parameters
Type | Name | Description |
---|---|---|
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
Output: HTTP STATUS: 200 OK
Add Shell
Syntax
POST http://serverAddress:tcpPort/API/Shells
Parameters
Type | Name | Description |
---|---|---|
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
Update Shell
Syntax
PUT http://serverAddress:tcpPort/API/Shells/[Shell Name]
Parameters
Type | Name | Description |
---|---|---|
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
Delete Shell
Syntax
DELETE http://serverAddress:tcpPort/API/Shells/[Shell Name]
Parameters
Type | Name | Description |
---|---|---|
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"