--- swagger: "2.0" info: description: "[Introduction to qTest API Specification](https://documentation.tricentis.com/qtest/od/en/content/apis/overview/qtest_api_specification.htm)\ \ \n[How to use interactive API Doc](https://documentation.tricentis.com/qtest/od/en/content/apis/overview/how_to_use_interactive_api_documentation.htm)\n\ \ The bearer token can be found at `[qtestUrl/p/{projectId}/portal/project#tab=resource]`\ \ under the API & SDK tab." version: "v3.0" title: "qTest Manager API Version 3.0" host: "apitryout.qtestnet.com" basePath: "/" tags: - name: "attachment" description: "Attachment API" - name: "auth-systems" description: "Authentication Systems API" - name: "automation-job" description: "Automation Job API" - name: "build" description: "Build API" - name: "common" description: "Common API" - name: "defect" description: "Defect API" - name: "field" description: "Field API" - name: "groups" description: "User Group API" - name: "integration-settings" description: "Integration Settings" - name: "login" description: "Login API" - name: "module" description: "Module API" - name: "object-link" description: "Object Link API" - name: "project" description: "Project API" - name: "release" description: "Release API" - name: "requirement" description: "Requirement API" - name: "search" description: "Search API" - name: "site-templates" description: "Site Templates API" - name: "test-case" description: "Test Case API" - name: "test-cycle" description: "Test Cycle API" - name: "test-log" description: "Test Log API" - name: "test-run" description: "Test Run API" - name: "test-suite" description: "Test Suite API" - name: "tosca" description: "Tosca Integration API" - name: "user" description: "User API" - name: "user-profile" description: "User Profile API" - name: "webhook" description: "Webhook" schemes: - "https" paths: /api/v3.1/projects/{projectId}/test-runs/{testRunId}/auto-test-logs: post: tags: - "test-log" summary: "Submits multiple test results" description: "To submit Automation Test Logs of multiple Test Runs\n\nqTest\ \ Manager version: 8.0.2+" operationId: "submitAutomationTestLogs" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "test_suite: ID of the Test Suite where the submitted\ \ Test Runs will be located\n\nparent_module: In case there has\ \ been no Test Case associated with the submitted Test Run, a new automation\ \ Test Case will be created. The new Test Cases are located under a module\ \ named Automation. If you specify an ID for parent_module, the\ \ Automation module will be located under the specified module.\ \ Otherwise, the Automation module is located directly under root\n\ \nexecution_date (required): Execution date in YYYY-mm-dd\ \ format\n\ntest_logs (required): The array of TestLog objects.\ \ The below are TestLog attributes\n\nstatus (required): The automation\ \ result values that were mapped with Test Run Result in qTest automation\ \ settings\n\nexe_start_date (required): Execution start time\n\ \nexe_end_date (required): Execution end time\n\nname (required):\ \ Test Run name\n\nautomation_content (required): An XML formatted\ \ string that contains the class test/ group test/ package test\n\nattachments:\ \ An array of the Attachment objects\n\nnote: Test Log note\n\n\ test_step_logs: An of TestStepLog objects. You can specify Test\ \ Steps' order in the request. It must be continous series of numbers, starting\ \ from zero, or it will throw an error. The order will be used when the\ \ Test Case is created or updated in qTest. If the order is omitted, Test\ \ Steps will be alphabetically sorted when creating or updating Test Case\n\ \ntestcase_properties: An of Testcase properties objects. You can\ \ specify Test case properties' order in the request. \n\ntosca_guid:\ \ GUID of Tosca test case. Use for creating Tosca Test Case\n\ntosca_node_path:\ \ Node Path of Tosca test case. Use for creating Tosca Test Case\n\ntosca_guid\ \ and tosca_node_path are optional but must be specified in pair" required: true schema: $ref: "#/definitions/AutomationRequest" - name: "type" in: "query" description: "Always input automation for this parameter" required: true type: "string" enum: - "automation" - name: "testRunId" in: "path" description: "This should always be 0 (zero) or else it will\ \ throw an exception" required: true type: "integer" format: "int64" - name: "escapeXml" in: "query" description: "escapeXml=true - default value. > and < in Automation\ \ Content field are encoded\n\nescapeXml=false - the Automation\ \ Content field is not encoded" required: false type: "boolean" default: false - name: "userId" in: "query" required: false type: "string" responses: 201: description: "Test results are submitted successfully to qTest Manager\n\ \nid: ID of the submission job. You will need this Id to check\ \ the job status using GET /api/v3/projects/queue-processing/{jobId}\n\ \nstate: Status of the job. Its value includes IN_WAITING, IN_PROCESSING,\ \ FAILED, PENDING, and SUCCESS" schema: $ref: "#/definitions/QueueProcessingResponse" 400: description: "It failed to submit test results to qTest Manager. Failure\ \ reasons may be: i) invalid project ID; ii) testRunId is not\ \ 0 (zero) iii) the value of parameter type is not Automation" 413: description: "" security: - Authorization: [] /api/v3/admin-profiles/current: get: tags: - "user-profile" summary: "Gets current User's Admin Profile" description: "To retrieve your Admin Profile\n\nqTest Manager version:\ \ 4+" operationId: "getCurrent" parameters: [] responses: 200: description: "Return authorities list of current admin" schema: $ref: "#/definitions/AdminProfile" security: - Authorization: [] /api/v3/auth-systems: get: tags: - "auth-systems" summary: "Get multiple Authentication Systems" description: "To get multiple Authentication Systems" operationId: "getAll" parameters: [] responses: 200: description: "Return list of Authentication Systems" schema: $ref: "#/definitions/AuthSystemResponse" security: - Authorization: [] /api/v3/auth-systems/ldap/{ldapAuthConfigId}/import: post: tags: - "auth-systems" summary: "Associate Manager users with LDAP users" description: "Associate Manager users with LDAP users authentication LDAP config" operationId: "importLDapUsers" parameters: - name: "ldapAuthConfigId" in: "path" description: "Id of the Authentication config" required: true type: "integer" format: "int64" - name: "mergeUser" in: "query" description: "Option to merge LDAP account to qTest account if qTest email\ \ already exists in qTest (support true/false value, default = false)" required: false type: "boolean" - in: "body" name: "body" required: true schema: type: "array" items: $ref: "#/definitions/LdapUserResource" responses: 200: description: "Return list of success users and errors if had." schema: $ref: "#/definitions/ResponseWrapper" security: - Authorization: [] /api/v3/auth-systems/ldap/{ldapAuthConfigId}/users: get: tags: - "auth-systems" summary: "Get all LDAP users of an authentication LDAP config" description: "Get all LDAP users of an authentication LDAP config with pagination\ \ supported. Users are mapped with qTest users won't be returned.\n\nIf pageSize\ \ and page is omitted, all users will be returned without\ \ any default paging data." operationId: "getAllLdapUsers" parameters: - name: "ldapAuthConfigId" in: "path" description: "Id of the Authentication config" required: true type: "integer" format: "int64" - name: "pageSize" in: "query" description: "Number of of item count per page. If this pageSize\ \ and page is omitted, all users will be returned without\ \ any default paging data." required: false type: "integer" default: 100 format: "int64" - name: "page" in: "query" description: "Page number that you want to get the result. If this pageSize\ \ and page is omitted, all users will be returned without\ \ any default paging data." required: false type: "integer" default: 1 format: "int64" responses: 200: description: "Return list of LDAP users" schema: $ref: "#/definitions/LDAPUsersResponse" security: - Authorization: [] /api/v3/automation/automation-agents: post: tags: - "automation-job" summary: "Search automation agents" description: "To search automation agents in projects that user is assigned\ \ to \n\nfields: specify which property of Automation Agent you want\ \ to include in the response. If you omit it or specify an asterisk (*), all\ \ of following fields are included: id, name, project_id, host_id, framework,\ \ active, configuration\n\n\nquery: specify a structured query (criteria,\ \ operator and value) with one or multiple clauses to search for Automation\ \ Agents. Following are supporting criteria\n\n| Criteria | Operators | Value\ \ |\n|-----|-----|-------|\n| name, framework | <>, ~, is empty, =, !~,\ \ is not empty | string |\n |host_name | <>, ~, =, !~ | string | \n\ | id, project_id, host_id | <>, >, <, <=, >=, =| id \n | active | = | active,\ \ inactive\n\n" operationId: "searchAutomationAgents" produces: - "application/json" parameters: - in: "body" name: "body" required: true schema: $ref: "#/definitions/AutomationArtifactSearchParams" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" responses: 200: description: "" schema: $ref: "#/definitions/AutomationAgentSearchResult" security: - Authorization: [] /api/v3/automation/jobs/schedule/create: post: tags: - "automation-job" summary: "Create a Schedule" description: "To create a new Schedule which will be executed immediately\n\n\ NOTE: Try It Out function will not work for this API\n\n\ qTest Manager version: 6+\"" operationId: "createSchedule" parameters: - in: "body" name: "body" required: true schema: $ref: "#/definitions/AutomationScheduleCreationAPI" responses: 201: description: "Schedule is created" schema: type: "integer" format: "int64" security: - Authorization: [] /api/v3/fields/{objectType}: get: tags: - "field" summary: "Gets all site field of an object type" description: "To get all fields (at site level) for Release, Build, Requirement,\ \ Test Case, Test Step, Test Suite, Test Run, or Defect" operationId: "getAllSiteFields" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "Successfully get a list of Site Fields" headers: X-Item-Total: type: "integer" format: "int32" description: "Total number of values available" Link: type: "string" format: "uri" description: "Contain one or more hypermedia link relations" schema: $ref: "#/definitions/FieldResourceSwagger" 400: description: "Invalid data sent to get all Site Fields" 403: description: "User does not have permission to get Site Fields" security: - Authorization: [] post: tags: - "field" summary: "Creates a Custom Site Field of an Object Type" description: "To create a new Site Field for Release, Build, Requirement, Test\ \ Case, Test Step, Test Suite, Test Run, or Defect" operationId: "createCustomSiteField" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - in: "body" name: "body" description: "The Site field's properties and values\n\nlabel (required):\ \ specify display name of the field\n\ndata_type (required):\ \ specify the field type. Its valid values include\n\n- 1 - Text box\n\n\ - 2 - Text area\n\n- 3 - Combo box\n\n- 4 - Date picker\n\n- 5 - User list\n\ \n- 6 - Rich text editor\n\n- 7 - Number\n\n- 8 - Check box\n\n- 9 - Date\ \ time picker\n\n- 12 - URL\n\n- 17 - Multiple selection combobox\n\nIn\ \ case you are creating a multiple picklist typed field (data_type's value\ \ is 8 or 17), you will need to specify multiple=true\n\nIn case\ \ you are creating a picklist typed field, you can specify the field's values\ \ in the allowed_values array\n\nOrder is not applicable when creating\ \ new field\n\nFor Test Steps, \n- You can not create more than 2 custom\ \ fields \n\n- You can not set field as required \n\n- Number of characters\ \ in label should be less than or equal to 16 \n\n- You can only select\ \ Rich text editor / Combo Box / User List as data_type " required: true schema: $ref: "#/definitions/FieldInputResource" responses: 201: description: "" schema: $ref: "#/definitions/FieldResource" 400: description: "Invalid data sent to create a Site Field" 403: description: "User does not have permission to create a Site Field" security: - Authorization: [] /api/v3/fields/{objectType}/{fieldId}: get: tags: - "field" summary: "Gets a Custom Site Field of an Object Type" description: "To get a custom field (at site level) for Release, Build, Requirement,\ \ Test Case, Test Step, Test Suite, Test Run, or Defect" operationId: "getCustomSiteField" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the custom field" required: true type: "integer" format: "int64" responses: 200: description: "Successfully get a Site Field" schema: $ref: "#/definitions/FieldResourceSwagger" 400: description: "Invalid data sent to get a Site Field" 403: description: "User does not have permission to get Site Field" 404: description: "Field does not exist" security: - Authorization: [] put: tags: - "field" summary: "Updates a Custom Site Field of an Object Type" description: "To update a custom field (at site level) for Release, Build, Requirement,\ \ Test Case, Test Step, Test Suite, Test Run, or Defect" operationId: "updateCustomSiteField" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the custom field" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Site Field's updated properties & values\n\nNotes:\n\n-\ \ Not allow to update data_type\n\n- To delete a value\ \ of a Combo box/Checkbox or Multiple selection combo box, exclude that\ \ value out of \"allowed_values\"\n\n- To add more allowed_values for Site\ \ Field, refer [here](#/field/createSiteFieldAllowedValues)\n\n- To update\ \ list allowed_values of Site Field, refer [here](#/field/updateSiteFieldAllowedValues)\n\ \n- Can not set field as required for test steps\n\n- Number of characters\ \ in label should be less than or equal to 16 for test steps" required: true schema: $ref: "#/definitions/FieldInputResource" responses: 200: description: "Successfully updated a Site Field" schema: $ref: "#/definitions/FieldResource" 400: description: "Invalid data sent to update a Site Field" 403: description: "User does not have permission to update Site Field" 404: description: "Field does not exist" security: - Authorization: [] delete: tags: - "field" summary: "Deletes a Custom Site Field of an Object Type" description: "To delete a custom field (at site level) for Release, Build, Requirement,\ \ Test Case, Test Step, Test Suite, Test Run, or Defect" operationId: "deleteCustomSiteField" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the custom field" required: true type: "integer" format: "int64" responses: 200: description: "Successfully updated a Site Field" schema: type: "object" 400: description: "Invalid data sent to update a Site Field" 403: description: "User does not have permission to update Site Field" 404: description: "Field does not exist" security: - Authorization: [] /api/v3/fields/{objectType}/{fieldId}/allowed-values: get: tags: - "field" summary: "Gets all allowed values of a Site Field" description: "To get all allowed values of a Site Field with Combo box/Multi\ \ selection combo box/Check box/User list data type" operationId: "getSiteFieldAllowedValues" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "Successfully get allowed values" headers: X-Item-Total: type: "integer" format: "int32" description: "Total number of values available" Link: type: "string" format: "uri" description: "Contain one or more hypermedia link relations" schema: type: "array" items: $ref: "#/definitions/AllowedValueResource" 400: description: "Invalid field" 403: description: "User does not have permission to get Site Field" 404: description: "Field does not exist" security: - Authorization: [] post: tags: - "field" summary: "Creates allowed values of a Site Field" description: "Creates maximum 100 allowed values of a Site Field with Combo\ \ box/Multi selection combo box/Check box data type" operationId: "createSiteFieldAllowedValues" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - in: "body" name: "body" required: true schema: type: "array" items: $ref: "#/definitions/AllowedValueResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/AllowedValueResponseResource" 201: description: "Successfully create allowed values" 400: description: "Invalid field or value" 403: description: "User does not have permission to create Site Field allowed\ \ value" 404: description: "Field does not exist" security: - Authorization: [] /api/v3/fields/{objectType}/{fieldId}/allowed-values/{value}: put: tags: - "field" summary: "Updates an allowed value of a Site Field" description: "Update allowed values of a Site Field with Combo box/Multi selection\ \ combo box/Check box data type" operationId: "updateSiteFieldAllowedValues" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - name: "value" in: "path" description: "ID (property \"value\") of allowed value" required: true type: "integer" format: "int64" - in: "body" name: "body" required: true schema: $ref: "#/definitions/AllowedValueInputResource" responses: 200: description: "Successfully update allowed values" schema: $ref: "#/definitions/CustomeResourceSupport" 400: description: "Invalid field or value" 403: description: "User does not have permission to update Site Field allowed\ \ value" 404: description: "Field or allowed value does not exist" security: - Authorization: [] delete: tags: - "field" summary: "Deletes an allowed value of a Site Field" description: "To delete an allowed value of a Site Field with Combo box/Multi\ \ selection combo box/Check box data type" operationId: "deleteSiteFieldValue" parameters: - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - name: "value" in: "path" description: "ID (property \"value\") of allowed value" required: true type: "integer" format: "int64" responses: 200: description: "Successfully delete an allowed value" schema: type: "object" 400: description: "Invalid field or value" 403: description: "User does not have permission to delete Site Field's value" 404: description: "Field or value does not exist" security: - Authorization: [] /api/v3/groups: get: tags: - "groups" summary: "Get multiple UserGroups" description: "To get multiple UserGroups" operationId: "getAllUserGroups" parameters: [] responses: 200: description: "Return list of UserGroups" schema: type: "array" items: $ref: "#/definitions/UserGroupResource" security: - Authorization: [] post: tags: - "groups" summary: "Create custom UserGroup" description: "To create new custom UserGroup" operationId: "createCustomUserGroup" parameters: - in: "body" name: "body" description: "name (required): Name of UserGroup\n\ndescription:\ \ Description of UserGroup\n\nis_default: Set this UserGroup as\ \ default group for new user\n\nuser_ids: List of userId will be\ \ assign to this group after created\n\nauthority_names: List of\ \ authorities for this UserGroup. Values can be: [ ROLE_ADMINCONFIGURATION,\ \ ROLE_ADMININFORMATION, ROLE_INSIGHTSEDITOR, ROLE_INSIGHTSEDITOR, ROLE_LAUNCHACCESS,\ \ ROLE_PROFILEADMIN, ROLE_PROFILEVIEWER, ROLE_PROJECTARCHIVER, ROLE_PROJECTCREATOR,\ \ ROLE_PROJECTUPDATER, ROLE_PROJECTVIEWER, ROLE_PULSEACCESS, ROLE_SITELEVELFIELD,\ \ ROLE_USERADMIN, ROLE_USERGROUPMANAGER, ROLE_ANALYTICSVIEWER ]" required: true schema: $ref: "#/definitions/UserGroupResource" responses: 200: description: "Return newly created UserGroup" schema: $ref: "#/definitions/UserGroupResource" security: - Authorization: [] /api/v3/projects: get: tags: - "project" summary: "Gets multiple Projects" description: "To retrieve all Projects which the requested qTest Manager account\ \ can access to\n\nqTest Manager version: 4+" operationId: "getProjects" parameters: - name: "expand" in: "query" description: "expand=userprofile - to include your profile and permissions\ \ in each project" required: false type: "string" enum: - "userprofile" - name: "assigned" in: "query" description: "assigned=true - default value. Only the projects which\ \ the requested user has access to\n\nassigned=false - Users with\ \ admin profile can use this value to retrieve all projects, regardless\ \ of having access" required: false type: "boolean" - name: "page" in: "query" description: "By default, all projects are returned; but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "" headers: X-Item-Total: type: "integer" format: "int32" description: "Total number of projects available" Link: type: "string" format: "uri" description: "Contain one or more hypermedia link relations" schema: type: "array" items: $ref: "#/definitions/ProjectResource" security: - Authorization: [] post: tags: - "project" summary: "Creates a Project" description: "To create a new Project\n\nqTest Manager version:\ \ 4+" operationId: "createProject" parameters: - in: "body" name: "body" description: "Project created properties \n\nname: name of project\ \ \ndescription: description of project \nstatus_id: status\ \ of project \nstart_date: start date of project, eg: 2019-06-17T05:09:13.178Z\ \ \nend_date: end date of project, eg: 2019-06-27T05:09:13.178Z\ \ \nadmins: list assigned admin of project \ntemplate_id (optional):\ \ valid site template id of project. After creating a project, the valid\ \ site template filed will be applied for it \nuuid (optional):\ \ uuid of project. User can provide any string value for uuid, then they\ \ can used it for searching projects." required: true schema: $ref: "#/definitions/ProjectResource" responses: 201: description: "successful operation" schema: $ref: "#/definitions/ProjectResource" security: - Authorization: [] /api/v3/projects/queue-processing/{id}: get: tags: - "test-log" summary: "Gets a Batch Test Log Submission job's state" description: "To check the state of a Batch Test Log Submission job. \n\nWhen\ \ you submit test results to qTest Manager using:\n\nPOST /api/v3.1/projects/{projectId}/test-runs/{testRunId}/auto-test-logs?type=automation\n\ \nor POST /api/v3/projects/{projectId}/auto-test-logs?type=automation,\ \ their response include a job ID.\n\nYou will need to use this API and the\ \ returned ID to check if the submission job has completed.\n\nJob states\ \ include IN_WAITING, IN_PROCESSING, FAILED, PENDING\ \ and SUCCESS" operationId: "track" parameters: - name: "id" in: "path" description: "The ID of the submission job. \n\nIt is included in the response\ \ of these 2 APIs:\n\nPOST /api/v3.1/projects/{projectId}/test-runs/{testRunId}/auto-test-logs?type=automation\ \ \n\nor POST /api/v3/projects/{projectId}/auto-test-logs?type=automation" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/QueueProcessingResponse" security: - Authorization: [] /api/v3/projects/search: post: tags: - "project" summary: "Search for projects" description: "" operationId: "searchProjects" parameters: - in: "body" name: "body" description: "Project search condition properties \n\nuuid: list\ \ of uuid for searching" required: true schema: $ref: "#/definitions/ProjectQueryParams" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/ProjectResource" 403: description: "Forbidden" security: - Authorization: [] /api/v3/projects/{projectId}: get: tags: - "project" summary: "Gets a Project" description: "To retrieve a specific Project" operationId: "getProject" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "expand=userprofile - include the your profile and permissions\ \ within the project in the response" required: false type: "string" enum: - "userprofile" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ProjectResource" security: - Authorization: [] put: tags: - "project" summary: "Updates a Project" description: "" operationId: "updateProject" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Project updated properties \n\nname (optional): name\ \ of project \ndescription (optional): description of project \n\ start_date (optional): Start date of project, eg: 2019-06-17T05:09:13.178Z\ \ \nend_date (optional): End date of project, eg: 2019-06-27T05:09:13.178Z\ \ \nadmin_ids (optional): list assigned admin ids of project \n\ uuid (optional): uuid of project. User can provide any string value\ \ for uuid, then they can used it for searching projects. \ntemplate_id\ \ (optional): site template id of project. When changing site template\ \ id, the project will be removed from old site template id and the new\ \ site template will be applied to it." required: true schema: $ref: "#/definitions/ProjectUpdateResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ProjectResource" security: - Authorization: [] /api/v3/projects/{projectId}/attachments: get: tags: - "attachment" summary: "Searches for Attachments" description: "To query for attachments of Releases, Builds,\ \ Requirements, Test Cases, Test Logs, Test\ \ Steps or Defects" operationId: "search" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "type" in: "query" description: "Its valid values include releases, builds,\ \ requirements, test-cases, test-steps, test-logs\ \ or defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-steps" - "test-logs" - "defects" - name: "ids" in: "query" description: "List of object IDs (of the same type as specified in the parameter\ \ above), separated by commas" required: false type: "array" items: type: "integer" format: "int64" collectionFormat: "multi" - name: "author" in: "query" description: "ID of the user who created the attachment" required: false type: "integer" format: "int64" - name: "createdDate" in: "query" description: "Its format is: {operator} {createdDate in timestamp\ \ or UTC}\n\nThe operator can be one of the following\ \ values:\n\nlt: less than the given date\n\ngt: greater than\ \ given date\n\neq: equal to the given date\n\nle: less than\ \ or equal to the given date\n\nge: greater then or equal to the\ \ given date" required: false type: "string" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" - name: "page" in: "query" description: "By default, the first page is returned but you can specify any\ \ page number to retrieve attachments" required: false type: "integer" default: 1 format: "int64" responses: 200: description: "Return attachment list of Release, Build, Requirement, Test\ \ Case, Test Log, Test Step and Defect." schema: $ref: "#/definitions/PagedResourceAttachmentResource" security: - Authorization: [] /api/v3/projects/{projectId}/auto-test-logs: post: tags: - "test-log" summary: "Submits multiple test results and specifies Test Design and Test Execution\ \ tree structures" description: "This is the extended version of this API POST /api/v3.1/projects/{projectId}/test-runs/{testRunId}/auto-test-logs.\ \ It allows submitting multiple test logs in one API request, and creating\ \ Test Cases and Test Runs in hierarchical structure which is specified in\ \ the request body\n\nImportant: This API does not update\ \ names and locations of existing Test Cases and Test Runs\n\nKnown\ \ Issue: This API currently does not update Test Case Version when\ \ Test Case Properties are updated, and Tricentis is working on a fix that\ \ will be shipped in an upcoming release" operationId: "submitAutomationTestLogsWithTreeStructure" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "test_cycle (required): PID or ID of the parent Test\ \ Cycle in qTest Manager where submitted Test Runs will be located\n\ntest_logs\ \ (required): The array of TestLog objects. The below are TestLog attributes\n\ \nTestLog attributes:\n\n- test_case_version_id:\ \ ID of the associated Test Case's version. In case the Test Run has not\ \ existed, this field should not be included or it will cause an error\n\ \n- status (required): The automation result values that were mapped\ \ with Test Run Result in qTest automation settings\n\n- exe_start_date\ \ (required): Execution start time\n\n- exe_end_date (required):\ \ Execution end time\n\n- module_names (required): an array of\ \ folder names which will be used when creating hierarchical structure in\ \ Test Design and Test Execution trees. In Test Design tree, the first folder\ \ will be created as a Module directly under the tree root. Other folders\ \ will be created as sub-Modules under their preceding folders in the array.\ \ In Test Execution tree, the first folder will be created as a Test Cycle\ \ directly under the parent Test Cycle which is specified in the API request.\ \ Other folders will be created as sub Test Cycles under their preceding\ \ folders in the array. If there is a folder in the tree with matching name\ \ and location, the API will not create a duplicate one\n\n- name (required):\ \ It will be used when creating Test Cases and Test Runs as their\ \ names. It will not be used for updating Test Case and Test Run names\n\ \n- automation_content (required): Specify a unique string to each\ \ Test Case. It acts as Test Case fingerprint. Before adding a Test Log,\ \ qTest Manager will look up Automation Content of existing Test Cases.\ \ If it can find an existing Test Case, the Test Log will be associated\ \ with that Test Case. Otherwise, a new Test Case will be created with the\ \ submitted Test Log. It is also be used when creating Test Runs. If qTest\ \ Manager finds an existing Test Run with matching Automation Content and\ \ location in Test Execution tree, it will not create a duplicate one. If\ \ there is an existing Test Run with matching Automation Content but it\ \ is located in different Test Cycles, qTest Manager will create a new Test\ \ Run in the specified folder\n\n- attachments: an array of the\ \ Attachment objects\n\n- test_step_logs: an array of TestStepLog\ \ objects. You can specify Test Steps' order in the request. It must be\ \ continuous series of numbers, starting from zero, or it will throw an\ \ error. The order will be used when the Test Case is created or updated\ \ in qTest. If the order is omitted, Test Steps will be alphabetically sorted\ \ when creating or updating Test Case\n\n- tosca_guid: GUID of\ \ Tosca test case. Use for creating Tosca Test Case\n\n- tosca_node_path:\ \ Node Path of Tosca test case. Use for creating Tosca Test Case\n\n- tosca_guid\ \ and tosca_node_path are optional but must be specified in pair\n\ \nTest Step Log attributes\n\n- description (required):\ \ Description of the Test Step\n\n- expected_result (required):\ \ Expected result of the Test Step\n\n- actual_result (required):\ \ Actual result of the Test Step\n\n- status (required): The automation\ \ result values that were mapped with Test Run Result in qTest automation\ \ settings\n\n- order: Specify the order of Test Steps. It must\ \ be continuous series of numbers, starting from zero, or it will throw\ \ an error. The order will be used when the Test Case is created or updated\ \ in qTest. If the order is omitted, Test Steps will be alphabetically sorted\ \ when creating or updating Test Case\n\n- exe_date: Execution\ \ date\n\n- customFieldInfo: Test Step Custom Field Columns. It\ \ is used to add data to test step custom fields if they exist. You have\ \ to specify id (Id of Custom Field), value (value for\ \ Custom Field of the test step), type (Field Type of Custom Field),\ \ and name (Name of Custom Field)" required: true schema: $ref: "#/definitions/AutomationRequest" - name: "type" in: "query" description: "always use type=automation for this parameter" required: true type: "string" enum: - "automation" - name: "escapeXml" in: "query" description: "escapeXml=true - default value. > and < in Automation\ \ Content field are encoded\n\nescapeXml=false - the Automation\ \ Content field is not encoded" required: false type: "boolean" - name: "userId" in: "query" required: false type: "string" responses: 201: description: "Automation Test Logs submitted,\n\nid: ID of the\ \ submission job. You will need this Id to check the job status using\ \ GET /api/v3/projects/queue-processing/{jobId}\n\nstate:\ \ Status of the job. Its value includes IN_WAITING, IN_PROCESSING, FAILED,\ \ PENDING, and SUCCESS" schema: $ref: "#/definitions/QueueProcessingResponse" 400: description: "Bad request - Unexpected error occurred" 413: description: "" security: - Authorization: [] /api/v3/projects/{projectId}/builds: get: tags: - "build" summary: "Gets multiple Builds" description: "To retrieve all Builds under a Release\n\nqTest Manager\ \ version: 6+" operationId: "getBuilds" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "releaseId" in: "query" description: "ID of the parent Release" required: true type: "integer" format: "int64" responses: 200: description: "Returns a list of builds" schema: type: "array" items: $ref: "#/definitions/BuildResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] post: tags: - "build" summary: "Creates a Build" description: "To create a Build under a parent Release\n\nqTest Manager\ \ version: 4+" operationId: "create" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "name (required): Build name\n\nrelease (required):\ \ The parent Release under which the Build will be located\n\nproperties:\ \ An array of field-value pairs" required: true schema: $ref: "#/definitions/BuildResource" responses: 201: description: "Build created successfully" schema: $ref: "#/definitions/BuildResource" 400: description: "Bad Request - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/builds/{buildId}: get: tags: - "build" summary: "Gets a Build" description: "To retrieve a BuildqTest Manager version: 6+" operationId: "get" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "buildId" in: "path" description: "ID of the Build" required: true type: "integer" format: "int64" responses: 200: description: "Returns a build with the specified id" schema: $ref: "#/definitions/BuildResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] put: tags: - "build" summary: "Updates a Build" description: "To update a Build\n\nqTest Manager version: 6+" operationId: "update" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "buildId" in: "path" description: "ID of the Build" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Build's updated properties" required: true schema: $ref: "#/definitions/BuildResource" responses: 200: description: "Build updated successfully" schema: $ref: "#/definitions/BuildResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] delete: tags: - "build" summary: "Deletes a Build" description: "To delete a Build\n\nqTest Manager version: 6+" operationId: "delete" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "buildId" in: "path" description: "ID of the Build to delete" required: true type: "integer" format: "int64" responses: 200: description: "Build deleted successfully" schema: type: "object" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/comments: post: tags: - "search" summary: "Queries Comments" description: "To search for comments\n\nqTest Manager version:\ \ 7.6+" operationId: "searchCommentWithQuery" produces: - "application/json" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "object_type (required): valid values include requirements,\ \ test-cases, test-runs and defects\n\nobject: ID of the object\ \ from which you want to retrieve comments\n\nauthors: ID of the\ \ user who made the comments\n\nstart: This value needs to be in\ \ ISO Date format\n\nend: This value needs to be in ISO Date format" required: true schema: $ref: "#/definitions/CommentQueryParams" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/QueryCommentResource" security: - Authorization: [] /api/v3/projects/{projectId}/defects: post: tags: - "defect" summary: "Submit a Defect" description: "To submit an internal Defect" operationId: "submitDefect" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "properties: a JSONArray of field-value pairs\n\nattachments:\ \ a JSONArray of Attachment objects" required: true schema: $ref: "#/definitions/DefectResource" responses: 201: description: "Successfully submitted a defect." schema: $ref: "#/definitions/DefectResource" 400: description: "Field value constraint is invalid." 403: description: "User does not have permission to submit a defect." 500: description: "Internal Server Error." security: - Authorization: [] /api/v3/projects/{projectId}/defects/last-change: get: tags: - "defect" summary: "Gets recently updated Defects" description: "To retrieve Defects which have been recently updated after a specified\ \ time" operationId: "getLastChanged" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "startTime" in: "query" description: "The specified time since when the Defects have been updated.\ \ It needs to be URL encoded: yyyy-MM-dd'T'HH:mm:ss.SSSZ or yyyy-MM-dd'T'HH:mm:ssZZ" required: true type: "string" - name: "endTime" in: "query" description: "Do not support at this time. Use the current time only." required: false type: "string" - name: "size" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100. You can specify your custom number in this parameter.\ \ The maximum page size is 999." required: false type: "integer" default: 100 format: "int32" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/DefectResource" security: - Authorization: [] /api/v3/projects/{projectId}/defects/{defectId}: get: tags: - "defect" summary: "Gets a Defect" description: "To retrieve a Defect\n\nqTest Manager version:\ \ 6+" operationId: "getDefect" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "defectId" in: "path" description: "ID of the defect." required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/DefectResource" security: - Authorization: [] put: tags: - "defect" summary: "Updates a Defect" description: "To update a Defect\n\nqTest Manager version:\ \ 6+" operationId: "updateDefect" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "defectId" in: "path" description: "ID of the Defect which needs to be updated." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Defect's updated properties" required: true schema: $ref: "#/definitions/DefectResource" responses: 200: description: "Successfully updated a defect." schema: $ref: "#/definitions/DefectResource" 400: description: "Field value is invalid." 403: description: "User does not have permission to update defect." 404: description: "Defect with @defectId does not exist." 500: description: "Internal Server Error." security: - Authorization: [] /api/v3/projects/{projectId}/defects/{idOrKey}/comments: get: tags: - "defect" summary: "Gets all Comments of a Defect" description: "To retrieve all Comments of a Defect\n\nqTest Manager\ \ version: 7.5+" operationId: "getComments" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Defect whose comments you want to retrieve" required: true type: "string" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/PagedResourceCommentResource" security: - Authorization: [] post: tags: - "defect" summary: "Adds a Comment to a Defect" description: "To add a Comment to a Defect\n\nqTest Manager version:\ \ 7.5+" operationId: "addComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Defect" required: true type: "string" - in: "body" name: "body" description: "The Comment's content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] /api/v3/projects/{projectId}/defects/{idOrKey}/comments/{commentId}: get: tags: - "defect" summary: "Gets a Comment of a Defect" description: "To retrieve a specific Comment of a Defect\n\nqTest Manager\ \ version: 7.5+" operationId: "getDefectCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Defect whose comment you want to retrieve" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] put: tags: - "defect" summary: "Updates a Comment of a Defect" description: "To update a specific Comment of a Defect\n\nqTest Manager\ \ version: 7.5+" operationId: "updateComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the defect whose comment you want to update" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Given resource to update a comment." required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] delete: tags: - "defect" summary: "Deletes a Comment of a Defect" description: "To delete a specific Comment of a Defect\n\nqTest Manager\ \ version: 7.5+" operationId: "deleteComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Defect whose Comment you want to delete" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/histories: post: tags: - "search" summary: "Queries objects' histories" description: "To query histories of Requirements, Test Cases, Test Runs and\ \ internal Defects\n\nqTest Manager version: 7.6+" operationId: "queryHistories" produces: - "application/json" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "object_type (required): valid values include requirements,\ \ test-cases, test-runs, or defects\n\nfields:\ \ specify which object fields you want to include in the response. If you\ \ omit it or specify an asterisk (*), all fields are included\n\nobject_query:\ \ specify a structured query to search for qTest objects.
Refer to\ \ attribute query in the Request Body of Queries Objects\ \ API\n\nquery: specify a structured query to retrieve histories\ \ of objects specified in attribute object_query above. You can\ \ use operators and and or to combine multiple criteria.\ \ Only these 2 criteria are supported:\n\n
i) created: it can\ \ be used for querying by updated date of the object. Its values need to\ \ be in ISO Date format. Applicable operator include: =, <>, <= and >=\n\ \n
ii) author: it can be used for querying by ID of the users\ \ who made the update. Applicable operators include: = and <>" required: true schema: $ref: "#/definitions/HistoryQueryParams" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" responses: 200: description: "Return list of Requirements, Test Cases, Test Runs and internal\ \ Defects history" schema: $ref: "#/definitions/ArtifactHistoryResource" security: - Authorization: [] /api/v3/projects/{projectId}/linked-artifacts: get: tags: - "object-link" summary: "Gets associated objects of given objects" description: "To retrieve associated objects of given objects\n\nqTest\ \ Manager version: 7.5+" operationId: "find" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "type" in: "query" description: "Valid values include releases, builds, requirements,test-cases,\ \ test-runs, test-logs, test-steps or defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-runs" - "test-logs" - "test-steps" - "defects" - name: "ids" in: "query" description: "IDs of objects whose links you want to retrieve" required: false type: "array" items: type: "integer" format: "int64" collectionFormat: "multi" - name: "pids" in: "query" description: "In case of type=defects, you can specify a list of\ \ external defect id in this parameters.\n\nIt cannot be used for other\ \ types" required: false type: "array" items: type: "string" collectionFormat: "multi" - name: "TRofSharedprojects" in: "query" required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/LinkedArtifactContainer" security: - Authorization: [] /api/v3/projects/{projectId}/modules: get: tags: - "module" summary: "Gets multiple Modules" description: "To search for Modules under root or sub-Modules under a parent\ \ Module\n\nqTest Manager version: 6+" operationId: "getSubModulesOf" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the parent Module. Leave it blank to retrieve Modules\ \ under root" required: false type: "integer" format: "int64" - name: "search" in: "query" description: "The free-text to search for Modules by names. You can utilize\ \ this parameter to search for Modules. Leave it blank to retrieve all Modules\ \ under root or the parent Module" required: false type: "string" - name: "expand" in: "query" required: false type: "string" enum: - "descendants" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/ModuleResource" security: - Authorization: [] post: tags: - "module" summary: "Creates a Module" description: "To create a Module under root or a sub-Module under a parent Module\n\ \nqTest Manager version: 4+" operationId: "createModule" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "The parent Module which will contain the newly created one.\ \ If it is not specified, the newly created module is located under root\n\ \nUse this parameter if your qTest Manager version is 6+. For older versions,\ \ use parent_id in the request body" required: false type: "integer" format: "int64" - in: "body" name: "body" description: "name (required): the Module name\n\nshared:\ \ Specify shared=true to share this Module to other projects. Only\ \ use it if Test Case Sharing feature is enabled in your project\n\ntosca_guid:\ \ Tosca folder GUID. Use for creating Module and link with Tosca folder.\ \ This property must be provided along with tosca_node_path, or\ \ it will fail to create module.\n\ntosca_node_path: Tosca folder\ \ node path. Use for creating Module and link with Tosca folder. This property\ \ must be provided along with tosca_guid, or it will fail to create\ \ module." required: true schema: $ref: "#/definitions/ModuleResource" responses: 201: description: "Module is created" schema: $ref: "#/definitions/ModuleResource" security: - Authorization: [] /api/v3/projects/{projectId}/modules/{moduleId}: get: tags: - "module" summary: "Gets a Module" description: "To retrieve a Module\n\nqTest Manager version: 6+" operationId: "getModule" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "moduleId" in: "path" description: "ID of the Module" required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "Specify expand=descendants to include the Module's\ \ sub and grand-sub Modules in the response" required: false type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ModuleResource" security: - Authorization: [] put: tags: - "module" summary: "Updates a Module" description: "To update a Module or move it to another parent Module" operationId: "updateModule" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "moduleId" in: "path" description: "ID of the Module" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Module's update properties" required: true schema: $ref: "#/definitions/ModuleResource" - name: "parentId" in: "query" description: "ID of the parent Module which the Module will be moved to\n\n\ Important: If you use this parameter, the request body\ \ will be ignored. That means the Module is being moved but it will not\ \ be updated with the properties specified in the request body" required: false type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ModuleResource" security: - Authorization: [] delete: tags: - "module" summary: "Deletes a Module" description: "To delete a Module\n\nqTest Manager version:\ \ 6+" operationId: "deleteModule" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "moduleId" in: "path" description: "ID of Module to delete" required: true type: "integer" format: "int64" - name: "force" in: "query" description: "force=true - delete the Module and its children\n\n\ force=false - default value. Only delete the Module if it contains no sub\ \ Modules or Test Cases" required: false type: "boolean" responses: 200: description: "successful operation" schema: $ref: "#/definitions/Message" security: - Authorization: [] /api/v3/projects/{projectId}/releases: get: tags: - "release" summary: "Gets multiple Releases" description: "To retrieve Releases in a project\n\nqTest Manager version:\ \ 4+" operationId: "getAllReleases" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "includeClosed" in: "query" description: "includeClosed=false - default value. Closed\ \ Releases are excluded from the response\n\nincludeClosed=true\ \ - Closed Release are included in the response" required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/ReleaseWithCustomFieldResource" security: - Authorization: [] post: tags: - "release" summary: "Creates a Release" description: "To create a Release\n\nqTest Manager version:\ \ 4+" operationId: "createRelease" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Release's properties" required: true schema: $ref: "#/definitions/ReleaseWithCustomFieldResource" responses: 201: description: "Release is created" schema: $ref: "#/definitions/ReleaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/releases/{releaseId}: get: tags: - "release" summary: "Gets a Release" description: "To retrieve a Release\n\nqTest Manager version:\ \ 4+" operationId: "getReleaseById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "releaseId" in: "path" description: "ID of the Release" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ReleaseWithCustomFieldResource" security: - Authorization: [] put: tags: - "release" summary: "Updates a Release" description: "To update a Release\n\nqTest Manager version:\ \ 6+" operationId: "updateReleaseById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "releaseId" in: "path" description: "ID of the Release which needs to be updated" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Release's updated properties" required: true schema: $ref: "#/definitions/ReleaseWithCustomFieldResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/ReleaseWithCustomFieldResource" security: - Authorization: [] delete: tags: - "release" summary: "Delete a release" description: "To delete a Release" operationId: "deleteReleaseById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "releaseId" in: "path" description: "ID of the Release which needs to be deleted\n\nqTest\ \ Manager version: 6+" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/requirements: get: tags: - "requirement" summary: "Gets multiple Requirements" description: "To retrieve all Requirements or Requirements under a specific\ \ Module" operationId: "getRequirements" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "Specify the parent Module's ID to retrieve all of its Requirements\ \ which are located directly under the parent Module" required: false type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve requirements." required: false type: "integer" default: 1 format: "int64" - name: "size" in: "query" description: "The result is paginated. By the default, the number of requirements\ \ in each page is 20.\n\nYou can specify your custom number in this parameter." required: false type: "integer" default: 20 format: "int32" - name: "includeExternalProperties" in: "query" description: "By default, Requirement external properties are not included\ \ in the response. Specify includeExternalProperties=true to include them." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/RequirementResource" security: - Authorization: [] post: tags: - "requirement" summary: "Creates a Requirement" description: "To create a new Requirement\n\nqTest Manager version:\ \ 4+" operationId: "createRequirement" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "

name *: Requirement name

properties:\ \ An array of field-value pairs

" required: true schema: $ref: "#/definitions/RequirementResource" - name: "parentId" in: "query" description: "ID of the parent Module under which the Requirement will be\ \ located" required: false type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/RequirementResource" security: - Authorization: [] /api/v3/projects/{projectId}/requirements/trace-matrix-report: get: tags: - "requirement" summary: "Gets Requirement Traceability Matrix Report" description: "To retrieve a report of Requirements with their covering Test\ \ Cases" operationId: "getPublicTraceabilityMatrixReport" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve requirements." required: false type: "integer" default: 1 format: "int64" - name: "size" in: "query" description: "The result is paginated. By default, the number of requirements\ \ in each page is 20.\n\nYou can specify your custom number in this parameter\ \ and the maximum number is 999." required: false type: "integer" default: 20 format: "int32" - name: "fieldIds" in: "query" description: "ID(s) of requirement fields (system or custom fields) which\ \ you would like to retrieve.\n\nThey are separated by commas." required: false type: "string" - name: "lastModifiedFrom" in: "query" required: false type: "string" pattern: "\\d{4}-\\d{2}-\\d{2}" - name: "lastModifiedTo" in: "query" required: false type: "string" pattern: "\\d{4}-\\d{2}-\\d{2}" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TraceabilityRequirement" security: - Authorization: [] /api/v3/projects/{projectId}/requirements/{idOrKey}/comments: get: tags: - "requirement" summary: "Gets all Comments of a Requirement" description: "To retrieve all comments of a Requirement\n\nqTest Manager\ \ version: 7.6+" operationId: "getAllRequirementComments" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Requirement whose comments you want to retrieve" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/PagedResourceCommentResource" security: - Authorization: [] post: tags: - "requirement" summary: "Adds a Comment to a Requirement" description: "To add a comment to a Requirement\n\nqTest Manager version:\ \ 7.5+" operationId: "addRequirementComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Requirement." required: true type: "string" - in: "body" name: "body" description: "The comment's properties and its content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] /api/v3/projects/{projectId}/requirements/{idOrKey}/comments/{commentId}: get: tags: - "requirement" summary: "Gets a Comment of a Requirement" description: "To retrieve a comment of a Requirement\n\nqTest Manager\ \ version: 7.5+" operationId: "getRequirementCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Requirement whose comment you want to delete" required: true type: "string" - name: "commentId" in: "path" description: "The comment's ID" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] put: tags: - "requirement" summary: "Updates a Comment of a Requirement" description: "To modify a comment of a Requirement\n\nqTest Manager\ \ version: 7.5+" operationId: "updateRequirementCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Requirement whose comment you want to update" required: true type: "string" - name: "commentId" in: "path" description: "The comment's ID" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The comment's updated content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] delete: tags: - "requirement" summary: "Deletes a Comment of a Requirement" description: "To delete a comment of a Requirement\n\nqTest Manager\ \ version: 7.5+" operationId: "deleteRequirementCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Requirement whose comment you want to delete" required: true type: "string" - name: "commentId" in: "path" description: "The comment's ID" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/requirements/{requirementId}: get: tags: - "requirement" summary: "Gets a Requirement" description: "To retrieve a Requirement\n\nqTest Manager version:\ \ 6+" operationId: "getRequirement" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "requirementId" in: "path" description: "ID of the Requirement which you want to retrieve." required: true type: "integer" format: "int64" - name: "includeExternalProperties" in: "query" description: "By default, Requirement external properties are not included\ \ in the response. Specify includeExternalProperties=true to include them." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/RequirementResource" security: - Authorization: [] put: tags: - "requirement" summary: "Updates a Requirement" description: "To update properties of an Requirement or to move it to other\ \ parent Module" operationId: "updateRequirement" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "requirementId" in: "path" description: "ID of the Requirement which needs to be updated." required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the parent Module to which the Requirement will be moved\ \ to" required: false type: "integer" format: "int64" - in: "body" name: "body" description: "name: * Requirement name.\n\nproperties:\ \ An array of field-value pairs" required: true schema: $ref: "#/definitions/RequirementResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/RequirementResource" security: - Authorization: [] delete: tags: - "requirement" summary: "Deletes a Requirement" description: "To delete a Requirement\n\nqTest Manager version:\ \ 6+" operationId: "deleteRequirementById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "requirementId" in: "path" description: "ID of the Requirement which needs to be deleted." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/requirements/{requirementId}/defects: get: tags: - "requirement" summary: "To get defects by requirementId" description: "" operationId: "getDefectsByRequirmentId" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "requirementId" in: "path" description: "requirementId" required: true type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/LinkedDefectArtifactResource" security: - Authorization: [] /api/v3/projects/{projectId}/requirements/{requirementId}/test-runs: get: tags: - "requirement" summary: "To get all test runs associated to requirement" description: "" operationId: "getTestRunsByRequirmentId" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "requirementId" in: "path" description: "requirementId" required: true type: "integer" format: "int64" - name: "expand" in: "query" required: false type: "string" - name: "includeLatestLog" in: "query" required: false type: "boolean" default: false - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestRunNoCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/search: post: tags: - "search" summary: "Queries objects" description: "This API mimics the Data Query function of qTest Manager web app.\ \ It provides the capability to query Requirements, Test Cases, Test Runs\ \ and internal Defects" operationId: "searchArtifact" produces: - "application/json" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "object_type (required): Its value can be releases,\ \ requirements, test-cases, test-runs, test-suites,\ \ test-cycles, test-logs, builds, or defects.\n\ \nfields: specify which object fields you want to include in the\ \ response. If you omit it or specify an asterisk (*), all fields are included.\n\ \nquery: specify a structured query to search for qTest Manager\ \ objects. Basically, you can use the Query Summary text as in qTest web\ \ app for this attribute.\n\nIMPORTANT: When using Query\ \ Summary to specify the query, you will need to modify the Query Summary\ \ in some special cases as below:\n\n- If there are spaces in the criteria\ \ name, put it between ' ' (single quotation marks).\n\n- There need to\ \ be spaces between a criteria, an operator, and a value.\n\n- You can use\ \ field name or field ID in the query.\n\n- For the fields with datetime\ \ as the data type, convert the values to ISO Date Time format.\n\n- Operator\ \ \"IN\" for fields with datetime as the data type will search for the values\ \ within this range: inputted date time <= value <= (inputted date\ \ time + 23h59m59s).\n\n- Affected Release/Build: You can use either\ \ Affected Release or Affected Build as criteria in a query. This criterion\ \ can be used only for defects.\n\n- Target Release/Build:\ \ You can use either Target Release or Target Build as criteria in a query.\ \ This criterion can be used for requirements, test-runs,\ \ defects, test-logs, and test-cycles. Release\ \ Id should be passed as Negative value.\n\n- Fixed Release/Build:\ \ You can use either Fixed Release or Fixed Build as criteria in a query.\ \ This criterion can be used only for defects.\n\n- Subscribers:\ \ Use user ID instead of username in the query for this criteria.\n\n- You\ \ need to use id or pid for the following fields when using them in a query:\ \ Affected Release, Affected Build, Target Release, Target Build, Fixed\ \ Release, and Fixed Build.\n\n- Use ~ for operator contains,\ \ and !~ for operator not contains. Eg: instead of Name\ \ contains \"login\", use Name ~ \"login\"\n\n- Use operator\ \ is not empty in the following way: is 'not empty'.\ \ Eg: \"Name is 'not empty'\"\n\n- For builds and test-cycles, you can use\ \ the following additional criterion: Created Date and Last\ \ Modified Date in a query. Eg: 'Created Date' > '2021-05-07T03:15:37.652Z'\n\ \n- For test-logs, you can use the following additional criterion: Execution\ \ Start Date and Execution End Date in a query. Eg: 'Execution\ \ Start Date' > '2021-05-07T03:15:37.652Z'" required: true schema: $ref: "#/definitions/ArtifactSearchParams" - name: "appendTestSteps" in: "query" description: "By default, For Test Case(s) test steps are not included in\ \ the response. Specify appendTestSteps=true to include them." required: false type: "boolean" - name: "includeExternalProperties" in: "query" description: "By default, For Requirement(s) external properties are not included\ \ in the response. Specify includeExternalProperties=true to include them." required: false type: "boolean" default: false - name: "includeTestLogProperties" in: "query" description: "By default, For Test Log(s) properties and Test step logs are\ \ not included in the response. Specify expandTestLogProperties=true to\ \ include them." required: false type: "boolean" default: false - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" responses: 200: description: "Return list of Requirements, Test Cases, Test Runs and internal\ \ Defects" schema: $ref: "#/definitions/PagedResource" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections: get: tags: - "integration-settings" summary: "Get all Jira connections of a project" description: "Get all Jira connections of a project\n\nqTest Manager\ \ version: 9.7+" operationId: "getConnections" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/IntegrationConnectionVM" security: - Authorization: [] post: tags: - "integration-settings" summary: "Add a new Jira connection" description: "Add a new Jira connection\n\nqTest Manager version:\ \ 9.7+" operationId: "addNewConnection" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "external_system (required): Input Jira\n\n\ connection_name (required): Name of connection\n\nserver_url\ \ (required): your Jira server URL\n\nweb_url: Your Jira web\ \ URL (for Jira server only)\n\nauthentication_type (required):\ \ Input Token if you are using password or API token, or OAuth\ \ if you are using Jira OAuth for authentication\n\nusername: If\ \ authentication_type=Token, then input your Jira username. If\ \ authentication_type=OAuth, then input apikey\n\npassword:\ \ Input your Jira password or API token (only required if authentication_type=Token)\n\ \njiraToken, jiraSecret and jiraVerifier these are required\ \ if authentication_type=Oauth. You will need to use our API to Get\ \ OAuth Authorize URL described below to retrieve values for these\ \ fields." required: true schema: $ref: "#/definitions/IntegrationConnection" responses: 200: description: "successful operation\n\nAfter created, the connection is Inactive\ \ (status=false)" schema: $ref: "#/definitions/NewIntegrationConnectionInfo" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/oauthAuthorizeURL: get: tags: - "integration-settings" summary: "OAuth Authorize URL" description: "OAuth Authorize URL (for Jira Server or DC only).\n\nqTest\ \ Manager version: 9.7+" operationId: "getAuthorizeURL" parameters: - name: "projectId" in: "path" description: "this must be 0 (zero)" required: true type: "integer" format: "int64" - name: "serverUrl" in: "query" description: "your Jira's Server URL" required: true type: "string" responses: 200: description: "successful operation\n\nFrom the response, open the authorizeUrl\ \ in a web browser then grant the access and get the Verifier. You will\ \ need the Verifier and jiraToken and jiraSecret\ \ when adding a new Jira connection with OAuth" schema: $ref: "#/definitions/TokenSecretVerifierHolder" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}: put: tags: - "integration-settings" summary: "Activate or deactivate a Jira connection" description: "Activate or deactivate a Jira connection\n\nqTest Manager\ \ version: 9.7+" operationId: "updateIntegrationConnectionStatus" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "active" in: "query" description: "Input true to activate a connection, or false\ \ to deactivate it" required: true type: "string" responses: default: description: "successful operation" security: - Authorization: [] delete: tags: - "integration-settings" summary: "Delete a Jira connection" description: "Delete a Jira connection\n\nqTest Manager version:\ \ 9.7+" operationId: "deleteConnection" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/defect: put: tags: - "integration-settings" summary: "Enable or disable populating Jira Unlinked Defects of a Jira connection" description: "Enable or disable populating Jira Unlinked Defects of a Jira connection\n\ \nqTest Manager version: 9.7+" operationId: "configurePopulatingJiraUnlinkedDefects" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "storeUnlinkedDefects" in: "query" description: "Input true to populate unlinked Jira Defects, or false\ \ to disable this feature" required: false type: "string" responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/defect/mappings: get: tags: - "integration-settings" summary: "Get Jira defect mappings of a Jira connection" description: "Get Jira defect mappings of a Jira connection\n\nqTest\ \ Manager version: 9.7+" operationId: "getDefectMappings" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project. Use this to retrieve mappings with this\ \ Jira project only" required: false type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of a Jira issue type. Use this to retrieve mappings with\ \ this Jira issue type" required: false type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/IntegrationAutoFillMappingVM" security: - Authorization: [] post: tags: - "integration-settings" summary: "Add a defect mapping to a Jira connection" description: "Add a defect mapping to a Jira connection\n\nqTest Manager\ \ version: 9.7+" operationId: "addNewDefectMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project. Use this to retrieve mappings with this\ \ Jira project only" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of a Jira issue type. Use this to retrieve mappings with\ \ this Jira issue type only" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/IntegrationAutoFillMappingVM" security: - Authorization: [] put: tags: - "integration-settings" summary: "Update a defect mapping of Jira connection" description: "Update a defect mapping of Jira connection\n\nqTest Manager\ \ version: 9.7+" operationId: "updateDefectMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of the Jira issue type\n\n externalProjectId and externalIssueTypeId\ \ are used to identify a defect mapping and cannot be modified" required: true type: "string" - in: "body" name: "body" description: "sendAttachmentToJira: send test log and test step log\ \ attachments to linked Jira Defects. Valid values include: True, False\n\ \nconfigures: Auto filling configuration for Defect submission\ \ to Jira. This is an array of JSON objects each of which consists of a\ \ Jira field Id (externalFieldId) and qTest fields (qTestFieldIds)\ \ to be auto filled to the Jira field" required: true schema: $ref: "#/definitions/IntegrationAutoFillMappingVM" responses: 200: description: "successful operation" schema: $ref: "#/definitions/IntegrationAutoFillMappingVM" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/refreshFieldSettings: post: tags: - "integration-settings" summary: "Trigger retrieving latest field settings from a JIRA connection" description: "Trigger retrieving the latest Defects/Requirements field settings\ \ from Jira\n\nqTest Manager version: 9.7+" operationId: "refreshFieldSettings" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "artifact" in: "query" description: "Single value. Valid values include: Defects, Requirements" required: true type: "string" - name: "mappingId" in: "query" description: "ID of the mapping. Only required if artifact=Requirements" required: false type: "integer" format: "int64" responses: 200: description: "The latest JIRA field settings (The sample below represents\ \ the case when artifact=REQUIREMENT)" schema: type: "array" items: $ref: "#/definitions/IntegrationFieldMapVM" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/release: put: tags: - "integration-settings" summary: "Enable or disable Release Integration feature of a Jira connection" description: "Enable or disable Release Integration feature\n\nqTest\ \ Manager version: 9.7+" operationId: "toggleReleaseIntegration" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "active" in: "query" description: "Input true to enable Release integration, or false\ \ to disable it" required: false type: "string" - name: "autoFilterTestRun" in: "query" description: "select or deselect the checkbox Auto-filter Test Runs on\ \ Jira iframe to match Fix Version/Sprint of Jira issue. Valid values\ \ include: True, False" required: false type: "string" - name: "mergeDuplicatedFixVersions" in: "query" description: "select or deselect the checkbox Merge all Jira Fix versions\ \ with existing qTest Releases that have the same name into a single Release\ \ and link to all Jira projects. Valid values include: True, False" required: false type: "string" responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/release/mappings: get: tags: - "integration-settings" summary: "Get Jira release mappings of a Jira connection" description: "Get Jira release mappings of a Jira connection\n\nqTest\ \ Manager version: 9.7+" operationId: "getReleaseMappings" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project. Use this to retrieve mappings with this\ \ Jira project only" required: false type: "string" - name: "externalIssueTypeId" in: "query" description: "Valid values include: fixVersions, Sprint (case-sensitive)" required: false type: "string" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/IntegrationReleaseMappingResponse" security: - Authorization: [] post: tags: - "integration-settings" summary: "Add a new Jira release mapping to a Jira connection" description: "Add a new Jira release mapping to a Jira connection. \n\nqTest\ \ Manager version: 9.7+" operationId: "addNewReleaseMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project. You will need to make API calls to Jira\ \ to get its project IDs" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "valid values include: fixVersions, Sprint (case-sensitive)" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/IntegrationReleaseMappingResponse" security: - Authorization: [] put: tags: - "integration-settings" summary: "Update a Release Mapping of a Jira connection" description: "To configure a Release Mapping of a Jira connection. \n\nqTest\ \ Manager version: 9.7+" operationId: "configureReleaseMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "valid values include: fixVersions, Sprint (case-sensitive)\n\ \n externalProjectId and externalIssueTypeId are used to identify a release\ \ mapping and cannot be modified" required: true type: "string" - in: "body" name: "body" description: "data_retrieval_options: If externalIssueTypeId=fixVersions,\ \ valid values include: released, unreleased. If externalIssueTypeId=fixVersions,\ \ valid values include: active, future, completed\n\nauto_update_release_scope:\ \ Select to automatically update scope of imported Releases in qTest. Valid\ \ values include: True, False" required: true schema: $ref: "#/definitions/IntegrationReleaseConfigurationVM" responses: 200: description: "successful operation" schema: $ref: "#/definitions/IntegrationReleaseMappingResponse" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/requirement: put: tags: - "integration-settings" summary: "Enable or disable a Requirement Integration feature of a Jira connection" description: "Enable or disable a Requirement Integration feature of a Jira\ \ connection\n\nqTest Manager version: 9.7+" operationId: "toggleRequirementIntegration" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "active" in: "query" description: "Input true to enable the feature, or false\ \ to disable it" required: false type: "boolean" responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/requirement/mappings: get: tags: - "integration-settings" summary: "Get requirement mappings of a Jira connection" description: "Get requirement mappings of a Jira connection\n\nqTest\ \ Manager version: 9.7+" operationId: "retrieveAllRequirementMappingsOfConnection" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of the Jira project. You will need to make API calls to Jira\ \ to get its project IDs" required: false type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of the Jira issue type. You will need to make API calls to\ \ Jira to get its issue type IDs" required: false type: "string" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/RequirementMapping" security: - Authorization: [] post: tags: - "integration-settings" summary: "Add a requirement mapping to a Jira connection" description: "Add a requirement mapping to a Jira connection\n\nqTest\ \ Manager version: 9.7+" operationId: "addNewRequirementMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project. You will need to make API calls to Jira\ \ to retrieve its project IDs" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of a Jira issue type. You will need to make API calls to\ \ Jira to retrieve its issue type IDs" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/RequirementMapping" security: - Authorization: [] put: tags: - "integration-settings" summary: "Update a requirement mapping of a Jira connection" description: "To configure a requirement mapping of a Jira connection\n\nqTest\ \ Manager version: 9.7+" operationId: "configureRequirementMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "externalProjectId" in: "query" description: "ID of a Jira project" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of a Jira issue type\n\n externalProjectId and externalIssueTypeId\ \ are used to identify a release mapping and cannot be modified" required: true type: "string" - in: "body" name: "body" description: "external_filter: ID of a Jira filter whose Jira issues\ \ will be imported to qTest as Requirements.\n\nexternal_field_1_id\ \ and external_field_2_id: Jira keys of 2 Jira\ \ fields that are used to organize imported Requirements\n\nactive_external_fields:\ \ Jira keys of Jira fields that will show up in qTest requirement\ \ page (Jira read-only properties panel). You can specify a list of Jira\ \ fields, separated by comma without a following space" required: true schema: $ref: "#/definitions/RequirementMapping" responses: 200: description: "successful operation" schema: $ref: "#/definitions/RequirementMapping" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/retrieve: get: tags: - "integration-settings" summary: "Trigger data retrieval from an integrated Jira system" description: "Trigger data retrieval from an integrated Jira system\n\nqTest\ \ Manager version: 9.7+" operationId: "triggerRetrievingDataForConnection" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "artifact" in: "query" description: "Valid values include: Defects, Requirements, Releases" required: true type: "string" responses: 200: description: "successful operation. Its response includes a job ID so you\ \ can check when the data retrieval is done by using this API endpoint:\ \ GET /api/v3/projects/queue-processing/{jobId}" schema: $ref: "#/definitions/QueueProcessingResponseFetchDataVM" security: - Authorization: [] /api/v3/projects/{projectId}/settings/integration/connections/{connectionId}/{artifact}/mappings: delete: tags: - "integration-settings" summary: "Remove a Mapping of a Jira connection" description: "Remove a Mapping of a Jira connection\n\nqTest Manager\ \ version: 9.7+" operationId: "removeMapping" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "connectionId" in: "path" description: "ID of the Jira connection" required: true type: "integer" format: "int64" - name: "artifact" in: "path" description: "Valid values can be: Defect, Requirement, Release" required: true type: "string" - name: "externalProjectId" in: "query" description: "ID of a Jira project" required: true type: "string" - name: "externalIssueTypeId" in: "query" description: "ID of a Jira issue type. \n\n externalProjectId and externalIssueTypeId\ \ are used to identify a mapping" required: true type: "string" responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/settings/jira-integration/defect/retrieve: post: tags: - "integration-settings" summary: "Trigger defect retrieval from an integrated Jira system" description: "" operationId: "triggerRetrievingDefectDataForConnection" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "PID of Jira defects" required: true schema: type: "array" items: type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/QueueProcessingResponse" security: - Authorization: [] /api/v3/projects/{projectId}/settings/{objectType}/custom-fields/active: post: tags: - "common" summary: "Update active or inactive custom fields of an Object Type" description: "To update active or inactive custom fields of an Object Type" operationId: "updateCustomFieldStatus" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - in: "body" name: "body" description: "Given resource to update custom fields." required: true schema: type: "array" items: $ref: "#/definitions/FieldResource" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/FieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/settings/{objectType}/fields: get: tags: - "field" summary: "Gets all Fields of an Object Type" description: "To retrieve Fields of an Object Type\n\nqTest Manager\ \ version: 4+" operationId: "getFields" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "includeInactive" in: "query" description: "By default inactive Fields are excluded from the response. Specify\ \ includeInactive=true to include inactive fields" required: false type: "boolean" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/FieldResource" security: - Authorization: [] post: tags: - "field" summary: "Creates a Custom Field of an Object Type" description: "To create a new custom Field for Release, Build, Requirement,\ \ Test Case, Test Suite, Test Run, or Defect" operationId: "createCustomField" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The field's properties and values\n\ndata_type (required):\ \ specify the field type. Its valid values include\n\n- 1 - Text box\n\n\ - 2 - Text area\n\n- 3 - Combo box\n\n- 4 - Date picker\n\n- 5 - User list\n\ \n- 6 - Rich text editor\n\n- 7 - Number\n\n- 8 - Check box\n\n- 9 - Date\ \ time picker\n\n- 12 - URL\n\n- 17 - Multiple selection combobox\n\nIn\ \ case you are creating a multiple picklist typed field (data_type's value\ \ is 8 or 17), you will need to specify multiple=true\n\nIn case\ \ you are creating a picklist typed field, you can specify the field's values\ \ in the allowed_values array" required: true schema: $ref: "#/definitions/FieldResource" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" responses: 201: description: "Field is created" schema: $ref: "#/definitions/FieldResource" 400: description: "Invalid data sent to create Field" 500: description: "Internal Server Error while create Field" security: - Authorization: [] /api/v3/projects/{projectId}/settings/{objectType}/fields/{fieldId}: get: tags: - "field" summary: "Gets a Custom Field of an Object Type" description: "To get a custom field (at project level) for Release, Build, Requirement,\ \ Test Case, Test Step, Test Suite, Test Run, or Defect" operationId: "getCustomField" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the custom field" required: true type: "integer" format: "int64" responses: 200: description: "Successfully get a Field" schema: $ref: "#/definitions/FieldResourceSwagger" 400: description: "Invalid data sent to get a Field" 403: description: "User does not have permission to get Field" 404: description: "Project or Field does not exist" security: - Authorization: [] put: tags: - "field" summary: "Updates a Custom Field of an Object Type" description: "To update a custom field (at project level) for Release, Build,\ \ Requirement, Test Case, Test Suite, Test Run, or Defect" operationId: "updateCustomField" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - name: "fieldId" in: "path" description: "ID of the custom field" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Field's updated properties & values\n\nNotes:\n\n- Not allow\ \ to update data_type\n\n- To delete a value of a Combo\ \ box/Checkbox or Multiple selection combo box, exclude that value out of\ \ \"allowed_values\"\n\n- To add more allowed_values for Project Field,\ \ refer [here](#/field/createProjectFieldAllowedValues) \n\n- To update\ \ list allowed_values of Project Field, refer [here](#/field/updateProjectFieldAllowedValues)" required: true schema: $ref: "#/definitions/FieldInputResource" responses: 200: description: "Successfully updated a Field" schema: $ref: "#/definitions/FieldResource" 400: description: "Invalid data sent to update a Field" 403: description: "User does not have permission to update Field" 404: description: "Project or Field does not exist" security: - Authorization: [] delete: tags: - "field" summary: "Deletes a Custom Field of an Object Type" description: "To delete a custom field (at project level) for Release, Build,\ \ Requirement, Test Case, Test Suite, Test Run, or Defect" operationId: "deleteCustomField" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - name: "fieldId" in: "path" description: "ID of the custom field" required: true type: "integer" format: "int64" responses: 200: description: "Successfully deleted a Field" schema: type: "object" 400: description: "Invalid data sent to update a Field" 403: description: "User does not have permission to update Field" 404: description: "Project or Field does not exist" security: - Authorization: [] /api/v3/projects/{projectId}/settings/{objectType}/fields/{fieldId}/allowed-values: get: tags: - "field" summary: "Gets all allowed values of a Project Field" description: "To get all allowed values of a Project Field with Combo box/Multi\ \ selection combo box/Check box/User list data type" operationId: "getProjectFieldAllowedValues" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "Successfully get allowed values" headers: X-Item-Total: type: "integer" format: "int32" description: "Total number of values available" Link: type: "string" format: "uri" description: "Contain one or more hypermedia link relations" schema: type: "array" items: $ref: "#/definitions/AllowedValueResource" 400: description: "Invalid field" 403: description: "User does not have permission to get Project Field" 404: description: "Field does not exist" security: - Authorization: [] post: tags: - "field" summary: "Creates allowed values of a Project Field" description: "Creates maximum 100 allowed values of a Project Field with Combo\ \ box/Multi selection combo box/Check box data type" operationId: "createProjectFieldAllowedValues" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - in: "body" name: "body" required: true schema: type: "array" items: $ref: "#/definitions/AllowedValueResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/AllowedValueResponseResource" 201: description: "Successfully create allowed values" 400: description: "Invalid field" 403: description: "User does not have permission to create Project Field allowed\ \ value" 404: description: "Field does not exist" security: - Authorization: [] /api/v3/projects/{projectId}/settings/{objectType}/fields/{fieldId}/allowed-values/{value}: put: tags: - "field" summary: "Updates an allowed value of a Project Field" description: "Update allowed values of a Project Field with Combo box/Multi\ \ selection combo box/Check box data type" operationId: "updateProjectFieldAllowedValues" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - name: "value" in: "path" description: "ID (property \"value\") of allowed value" required: true type: "integer" format: "int64" - in: "body" name: "body" required: true schema: $ref: "#/definitions/AllowedValueInputResource" responses: 200: description: "Successfully update allowed values" schema: type: "object" 400: description: "Invalid field or value" 403: description: "User does not have permission to update Project Field allowed\ \ value" 404: description: "Field or allowed value does not exist" security: - Authorization: [] delete: tags: - "field" summary: "Deletes an allowed value of a Project Field" description: "To delete an allowed value of a Field (at project level) with\ \ Combo box/Multi selection combo box/Check box data type" operationId: "deleteProjectFieldValue" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - name: "fieldId" in: "path" description: "ID of the field" required: true type: "integer" format: "int64" - name: "value" in: "path" description: "ID (property \"value\") of allowed value" required: true type: "integer" format: "int64" responses: 200: description: "Successfully delete an allowed value" schema: type: "object" 400: description: "Invalid field or value" 403: description: "User does not have permission to delete Field's value" 404: description: "Field or value does not exist" security: - Authorization: [] /api/v3/projects/{projectId}/settings/{objectType}/system-fields/{fieldId}: post: tags: - "common" summary: "Edit System Field of an Object Type by the field" description: "To edit System Field of an Object Type by the field" operationId: "editSystemField" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "fieldId" in: "path" description: "ID of the field." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Given resource to edit a system field." required: true schema: $ref: "#/definitions/FieldResource" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-steps, defects, test-suites and test-runs" required: true type: "string" enum: - "requirements" - "test-cases" - "defects" - "test-runs" - "test-suites" - "releases" - "builds" - "test-steps" responses: 200: description: "successful operation" schema: $ref: "#/definitions/FieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases: get: tags: - "test-case" summary: "Gets multiple Test Cases" description: "To retrieve all Test Cases or Test Cases which are located directly\ \ under a Module" operationId: "getTestCases" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "Module ID" required: false type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned. However, you can specify\ \ any page number to retrieve test cases." required: false type: "integer" default: 1 format: "int64" - name: "size" in: "query" description: "The result is paginated. By the default, the number of requirements\ \ in each page is 20.\n\nYou can specify your custom number in this parameter." required: false type: "integer" default: 20 format: "int32" - name: "expandProps" in: "query" description: "By default, Test Case properties are included in the response.\ \ specify expandProps=false to exclude them" required: false type: "boolean" default: true - name: "expandSteps" in: "query" description: "By default, Test Steps are excluded from the response body.\ \ Input expandSteps=true to include Test Steps" required: false type: "boolean" default: false - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false - name: "utc" in: "query" required: false type: "boolean" default: false - name: "modifiedAfter" in: "query" required: false type: "string" default: "all" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] post: tags: - "test-case" summary: "Creates a Test Case" description: "To create a Test Case\n\nqTest Manager version:\ \ 4+" operationId: "createTestCase" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Test Case properties, Test Steps along with custom field information(if\ \ any), Attachments and other information to create a Test Case.\n\nIf parent_id\ \ is omitted, the Test Case will be created under \"Created via API\" Module.\n\ \ntosca_guid: GUID of Tosca test case. Use for creating Tosca Test\ \ Case.\n\ntosca_node_path: Node Path of Tosca test case. Use for\ \ creating Tosca Test Case.\n\ntosca_guid and tosca_node_path\ \ are optional but must be specified in pair\n\nSupport create test case\ \ with Parameters by inputting parameters identifier in teststep's description\ \ with sample like below. Parameters will be automatically added to current\ \ project.\n\n     {\n      \ \ \"description\": \"Description [~param1] with [~param2].\"\n      \ \ ...\n     {" required: true schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" - name: "agentId" in: "query" required: false type: "string" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false - name: "aiGenerated" in: "query" description: "Indicates that the contents of the Test Step were created using\ \ an Artificial Intelligence service." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/update/testcases: put: tags: - "test-case" summary: "Updates multiple test cases" description: "To update multiple Test Cases\n\nqTest Manager version:\ \ 6+" operationId: "updateMultipleTestCases" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Test Case properties for all the test cases, Test Steps along\ \ with custom field information(if any) to update the Test Case.\n\nSupport\ \ update test case with Parameters by inputting parameters identifier in\ \ teststep's description with sample like below. Parameters will\ \ be automatically added to current project.\n\n    \ \ {\n       \"description\": \"Description\ \ [~param1] with [~param2].\"\n       \ \ ...\n     {" required: true schema: type: "object" additionalProperties: $ref: "#/definitions/TestCaseWithCustomFieldResource" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{idOrKey}/comments: get: tags: - "test-case" summary: "Gets all Comments of a Test Case" description: "To retrieve all comments of a Test Case\n\nqTest Manager\ \ version: 7.5+" operationId: "getTestCaseComments" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Case whose comments you want to retrieve" required: true type: "string" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/PagedResourceCommentResource" security: - Authorization: [] post: tags: - "test-case" summary: "Adds a Comment to a Test Case" description: "To add a Comment to a Test Case\n\nqTest Manager version:\ \ 7.5+" operationId: "addTestCaseComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Case" required: true type: "string" - in: "body" name: "body" description: "The comment's properties and its content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{idOrKey}/comments/{commentId}: get: tags: - "test-case" summary: "Gets a Comment of a Test Case" description: "To retrieve a comment of a Test Case\n\nqTest Manager\ \ version: 7.5+" operationId: "getTestCaseCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Case" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] put: tags: - "test-case" summary: "Updates a Comment of a Test Case" description: "To modify a comment of a Test Case\n\nqTest Manager version:\ \ 7.5+" operationId: "updateTestCaseComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Case" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The comment's updated content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] delete: tags: - "test-case" summary: "Deletes a Comment of a Test Case" description: "To delete a comment of a Test Case\n\nqTest Manager version:\ \ 7.5+" operationId: "deleteTestCaseComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Case" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment." required: true type: "integer" format: "int64" responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}: get: tags: - "test-case" summary: "Gets a Test Case" description: "To retrieve a Test Case\n\nqTest Manager version:\ \ 6+" operationId: "getTestCase" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "PID or ID of the Test Case" required: true type: "string" - name: "versionId" in: "query" description: "ID of the Test Case version" required: false type: "integer" format: "int64" - name: "expand" in: "query" description: "By default, Test Steps are excluded from the response. Specify\ \ expand=teststep to include Test Steps" required: false type: "string" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] put: tags: - "test-case" summary: "Updates a Test Case" description: "To update a Test Case\n\nqTest Manager version:\ \ 6+" operationId: "updateTestCase" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case which needs to be updated." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Test Case properties, Test Steps along with custom field information(if\ \ any) to update the Test Case.\n\nSupport update test case with Parameters\ \ by inputting parameters identifier in teststep's description\ \ with sample like below. Parameters will be automatically added to current\ \ project.\n\n     {\n      \ \ \"description\": \"Description [~param1] with [~param2].\"\n      \ \ ...\n     {" required: true schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] delete: tags: - "test-case" summary: "Deletes a Test Case" description: "To delete Test Case\n\nqTest Manager version:\ \ 6+" operationId: "deleteTestCase" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case which needs to be deleted." required: true type: "integer" format: "int64" responses: 200: description: "" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/approve: put: tags: - "test-case" summary: "Approves a Test Case" description: "To approve a Test Case\n\nqTest Manager version:\ \ 7.4+" operationId: "approveTestCase" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/test-steps: get: tags: - "test-case" summary: "Gets Test Steps of a Test Case" description: "To retrieve all Test Steps of a Test Case's latest version\n\n\ qTest Manager version: 6+" operationId: "getTestSteps" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestStepResource" security: - Authorization: [] post: tags: - "test-case" summary: "Creates a Test Step" description: "To add a Test Step to a Test Case's latest version\n\nqTest\ \ Manager version: 6+" operationId: "addTestStep" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Given resource will add or create a test step and its CustomField\ \ columns details.\n\nSupport create test step with Parameters by inputting\ \ parameters identifier in teststep's description with sample like\ \ below. Parameters will be automatically added to current project.\n\n\      {\n       \ \ \"description\": \"Description [~param1] with [~param2].\"\n      \ \ ...\n     {" required: true schema: $ref: "#/definitions/TestStepResource" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestStepResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/test-steps/{stepId}: get: tags: - "test-case" summary: "Gets a Test Step" description: "To retrieve a Test Step of a Test Case's latest version\n\nqTest\ \ Manager version: 6+" operationId: "getTestStep" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "stepId" in: "path" description: "ID of the test step. \n\nThe ObjectId of customFieldInfo is\ \ used as a StepId here." required: true type: "integer" format: "int64" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestStepResource" security: - Authorization: [] put: tags: - "test-case" summary: "Update a Test Step" description: "To update a Test Step of a Test Case's latest version\n\nqTest\ \ Manager version: 6+" operationId: "updateTestStep" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "stepId" in: "path" description: "ID of the Test Step" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Updated content of the Test Step for test case ID or PID \n\n\ This Shows the updated CustomFields id, as well as you will get the updated\ \ stepId which will be ObjectId.\n\nSupport update test step with Parameters\ \ by inputting parameters identifier in teststep's description\ \ with sample like below. Parameters will be automatically added to current\ \ project.\n\n     {\n      \ \ \"description\": \"Description [~param1] with [~param2].\"\n      \ \ ...\n     {" required: true schema: $ref: "#/definitions/TestStepResource" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestStepResource" security: - Authorization: [] delete: tags: - "test-case" summary: "Deletes a Test Step" description: "To delete a test step of a Test Case\n\nqTest Manager\ \ version: 6+" operationId: "deleteTestStep" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "stepId" in: "path" description: "ID of the Test Step" required: true type: "integer" format: "int64" - name: "updateVersion" in: "query" description: "If specified updateVersion=true, then the test case version\ \ will be updated when the test step is deleted." required: false type: "boolean" default: true responses: default: description: "successful operation" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/vera/approve: put: tags: - "test-case" summary: "test-case.vera.approve" description: "" operationId: "approveTestCaseByVera" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/versions: get: tags: - "test-case" summary: "Gets all versions of a Test Case" description: "Get all versions of a Test Case.\n\nExample:\n\nAPI returns all\ \ approved major test case versions and the last unapproved minor version\ \ if there is one.\n\n
  • if version history is 1.0, 1.1, 2.0, 2.1, 2.2, 3.0,\ \ 3.1, 3.2; it will only return versions 1.0, 2.0, 3.0 and 3.2
  • if\ \ the version history is 1.0, 1.1, 2.0, 2.1, 2.2, 3.0; it will only return\ \ versions 1.0, 2.0, and 3.0
  • if the version history is 0.1, 0.2, 0.3,\ \ 0.4; it will only return version 0.4
  • qTest Manager version:\ \ 7.4+" operationId: "getVersions" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the test case" required: true type: "integer" format: "int64" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/versions/{versionId}: get: tags: - "test-case" summary: "Gets a version of a Test Case" description: "To retrieve a specific version of a Test Case\n\nqTest\ \ Manager version: 4+" operationId: "getTestCaseVersionById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "versionId" in: "path" description: "ID of the Test Case version" required: true type: "integer" format: "int64" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCaseWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cases/{testCaseId}/versions/{versionId}/test-steps: get: tags: - "test-case" summary: "Gets Test Steps of a Test Case version" description: "To retrieve all Test Steps of a specific Test Case version" operationId: "getTestStepsByVersion" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "versionId" in: "path" description: "ID of the Test Case version" required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "when you Specify expand=calledteststep \n\nIt will\ \ include Test Steps of the called Test Cases in your response." required: false type: "string" enum: - "calledteststep" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestStepResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-cycles: get: tags: - "test-cycle" summary: "Gets multiple Test Cycles" description: "To retrieve Test Cycles which are located directly under root\ \ or a Release/Test Cycle" operationId: "getTestCycles" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the Release or Test Cycle which directly contains the\ \ Test Cycles you are retrieving. Input 0 (zero) to get Test Cycles directly\ \ under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "The artifact type of the parent folder. Valid values include\ \ release, test-cycle or root" required: false type: "string" enum: - "root" - "release" - "test-cycle" - name: "expand" in: "query" description: "Specify expand=descendants to retrieve the Test Cycles'\ \ sub and grand-sub Cycles/Suites" required: false type: "string" enum: - "descendants" - name: "tosca" in: "query" description: "tosca" required: false type: "boolean" enum: - "true/false" - name: "page" in: "query" description: "Specify any page number to retrieve Test Cycles" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "Specify any page size to retrieve Test Cycles. If a negative\ \ value is provided and no page number is specified, all Test Cycles will\ \ be retrieved." required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestCycleResource" security: - Authorization: [] post: tags: - "test-cycle" summary: "Create a Test Cycle" description: "To create a Test Cycle\n\nqTest Manager version:\ \ 6+" operationId: "createCycle" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Given resource to create a test cycle." required: true schema: $ref: "#/definitions/TestCycleResource" - name: "parentId" in: "query" description: "ID of the Release or Test Cycle under which the newly created\ \ Test Cycle will be located. \n\nUse 0 (zero) to create the Test Cycle\ \ under the root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "The artifact type of the parent folder. Valid values include\ \ release, test-cycle or root" required: false type: "string" enum: - "root" - "release" - "test-cycle" responses: 201: description: "Test Cycle is created" schema: $ref: "#/definitions/TestCycleResource" 400: description: "Bad Request if invalid input value in body" security: - Authorization: [] /api/v3/projects/{projectId}/test-cycles/{testCycleId}: get: tags: - "test-cycle" summary: "Gets a Test Cycle" description: "To retrieve a Test Cycle\n\nqTest Manager version:\ \ 6+" operationId: "getTestCycle" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCycleId" in: "path" description: "ID of the Test Cycle which you want to retrieve." required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "Specify expand=descendants to include its sub and grand-sub\ \ Test Cycles and Test Suites in the response" required: false type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCycleResource" security: - Authorization: [] put: tags: - "test-cycle" summary: "Updates a Test Cycle" description: "To update a Test Cycle or move it to another container\n\nqTest\ \ Manager version: 6+" operationId: "updateCycle" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCycleId" in: "path" description: "ID of the Test Cycle which needs to be updated." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Test Cycle's updated properties" required: true schema: $ref: "#/definitions/TestCycleResource" - name: "parentId" in: "query" description: "ID of a Release or parent Test Cycle which the updated Test\ \ Cycle will be moved to. Input 0 (zero) to move the Test Cycle to under\ \ root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "The artifact type of the parent folder to which the Test Cycle\ \ will be moved to. Valid values include release, test-cycle\ \ or root" required: false type: "string" enum: - "root" - "release" - "test-cycle" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestCycleResource" security: - Authorization: [] delete: tags: - "test-cycle" summary: "Deletes a Test Cycle" description: "To delete a Test Cycle\n\nqTest Manager version:\ \ 6+" operationId: "deleteCycle" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCycleId" in: "path" description: "ID of the Test Cycle which needs to be deleted." required: true type: "integer" format: "int64" - name: "force" in: "query" description: "The Test Cycle can only be deleted if it contains no children.\ \ Specify force=true to delete the Test Cycle and its children" required: false type: "boolean" responses: 200: description: "successful operation" schema: $ref: "#/definitions/Message" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs: get: tags: - "test-run" summary: "Gets multiple Test Runs" description: "To retrieve all Test Runs under root or under a container (Release,\ \ Test Cycle or Test Suite)\n\nqTest Manager version: 6+" operationId: "getOf" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the container (Release, Test Cycle or Test Suite)\n\n\ Input 0 (zero) to retrieve Test Runs directly under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Type of the container. Valid values include root, release,\ \ test-cycle and test-suite" required: false type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" - name: "expand" in: "query" description: "Specify expand=descendants to include all Test Runs\ \ which are directly or indirectly under the container" required: false type: "string" - name: "includeToscaProperties" in: "query" description: "By default, Tosca properties of Test Run (imported from Tosca)\ \ are not included in the response. Specify includeToscaProperties=true\ \ to include them.\n\n (tosca_guid, tosca_node_path, tosca_workspace_url,\ \ tosca_testevent_guid)" required: false type: "boolean" default: false - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestRunListResource" security: - Authorization: [] post: tags: - "test-run" summary: "Creates a Test Run" description: "To create a Test Run under root or a container (Release, Test\ \ Cycle or Test Suite)\n\nqTest Manager version: 6+You can\ \ optionally specify a parent in the request parameter to create its test\ \ runs.\n\nThe associated Test Case is specified in the request body" operationId: "createTestRun" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Test Run's properties and its associated Test Case" required: true schema: $ref: "#/definitions/TestRunWithCustomFieldResource" - name: "parentId" in: "query" description: "ID of the container\n\nInput 0 (zero) to get Test Runs directly\ \ under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Type of the container. Valid values include root, release,\ \ test-cycle, and test-suite" required: false type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" responses: 201: description: "successful operation" schema: $ref: "#/definitions/TestRunWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/assign-parameter-values/dataset: post: tags: - "test-run" summary: "Create multiple Test Runs with Parameter values from dataset." description: "To create multiple Test Runs with parameter values under root\ \ or a container (Release, Test Cycle or Test Suite). Number of test runs\ \ can be created depend on number_of_rows property and it should not more\ \ than 100." operationId: "addTestRunWithParametersDataset" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the container\n\nInput 0 (zero) to get Test Runs directly\ \ under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Type of the container. Valid values include root, release,\ \ test-cycle, and test-suite" required: false type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" - in: "body" name: "body" description: "The Test Run's properties, its associated Test Case and specific\ \ data set \n\nname (optional): All test runs will be created with\ \ the same name if provided. If not provided, test run name = test case\ \ name + [increased number, starting from 1] \n\nproperties (optional):\ \ All test runs will be created with the same property list if provided.\ \ If not provided, default property values will be used. \n\ntest_case\ \ attributes:\n\nid (required): id of testcase \n\ntest_case_version_id\ \ (optional): Version ID of Testcase. If not specify, latest value\ \ will be used. For shared test case, only accept approved version \n\n\ dataset_id: Dataset id use for generate test runs. Dataset must\ \ be active and contains all parameters inside all test case steps. Dataset\ \ has at least 1 data row. \n\nfrom_row: Must be less or equal\ \ max rows in dataset. \n\nnumber_of_rows: number of test run can\ \ be create must be less or equal ((max rows - from_row) +1) and must be\ \ less than 100." required: true schema: $ref: "#/definitions/TestRunWithParameterCreateByDatasetResource" responses: 200: description: "Submitted Test Runs, \n\nid: ID of the submission job. You\ \ will need this Id to check the job status using GET /api/v3/projects/queue-processing/{jobId}\n\ \nstate: Status of the job. Its value includes IN_WAITING, IN_PROCESSING,\ \ FAILED, PENDING, and SUCCESS" schema: $ref: "#/definitions/QueueProcessingResponseTestRunDataVM" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/assign-parameter-values/manually: post: tags: - "test-run" summary: "Create multiple Test Runs with Parameter values manual" description: "To create multiple Test Runs with parameter values under root\ \ or a container (Release, Test Cycle or Test Suite). Maximum number of test\ \ runs can be created is 100." operationId: "addTestRunWithParameters" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the container\n\nInput 0 (zero) to get Test Runs directly\ \ under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Type of the container. Valid values include root, release,\ \ test-cycle, and test-suite" required: false type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" - in: "body" name: "body" description: "The Test Run's properties, its associated Test Case and list\ \ of Test runs \n\nname (optional): All test runs will be created\ \ with the same name if provided. If not provided, test run name = test\ \ case name + [increased number, starting from 1] \n\nproperties (optional):\ \ All test runs will be created with the same property list if provided.\ \ If not provided, default property values will be used. \n\ntest_case\ \ attributes:\n\nid (required): id of testcase \n\ntest_case_version_id\ \ (optional): Version ID of Testcase. If not specify, latest value\ \ will be used. For shared test case, only accept approved version \n\n\ test_runs (required): list of test runs will be created by this\ \ API. For each test run, it will have list of test steps (by providing\ \ test step id) and their parameter values for each step e.g.(\"description_parameter_values\"\ , and \"expected_parameter_values\"). \n\nYou no need to specify\ \ combined_type and number_of_combinations in this api." required: true schema: $ref: "#/definitions/TestRunWithParameterCreateManualResource" responses: 200: description: "Submitted Test Runs, \n\nid: ID of the submission job. You\ \ will need this Id to check the job status using GET /api/v3/projects/queue-processing/{jobId}\n\ \nstate: Status of the job. Its value includes IN_WAITING, IN_PROCESSING,\ \ FAILED, PENDING, and SUCCESS" schema: $ref: "#/definitions/QueueProcessingResponseTestRunDataVM" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/assign-parameter-values/randomize: post: tags: - "test-run" summary: "Create multiple Test Runs with Parameter values random from selection\ \ combine type." description: "To create multiple Test Runs with parameter values under root\ \ or a container (Release, Test Cycle or Test Suite). Maximum number of test\ \ runs can be created depend on combine type." operationId: "addTestRunWithParametersRandomize" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the container\n\nInput 0 (zero) to get Test Runs directly\ \ under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Type of the container. Valid values include root, release,\ \ test-cycle, and test-suite" required: false type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" - in: "body" name: "body" description: "The Test Run's properties, its associated Test Case and combine\ \ type, number of combination \n\nname (optional): All test runs\ \ will be created with the same name if provided. If not provided, test\ \ run name = test case name + [increased number, starting from 1] \n\nproperties\ \ (optional): All test runs will be created with the same property\ \ list if provided. If not provided, default property values will be used.\ \ \n\ntest_case attributes:\n\nid (required):\ \ id of testcase \n\ntest_case_version_id (optional): Version ID\ \ of Testcase. If not specify, latest value will be used. For shared test\ \ case, only accept approved version \n\ncombined_type: combine\ \ type for generate test runs with random test run value. Values can specify\ \ for this property are: 1 (for unique_value ) OR 0\ \ (for unique_data ). \n\nnumber_of_combinations: number of test\ \ run can be create must be less or equal max possible created combinations\ \ based on selected combination_type and must less than 100." required: true schema: $ref: "#/definitions/TestRunWithParameterCreateRandomResource" responses: 200: description: "Submitted Test Runs, \n\nid: ID of the submission job. You\ \ will need this Id to check the job status using GET /api/v3/projects/queue-processing/{jobId}\n\ \nstate: Status of the job. Its value includes IN_WAITING, IN_PROCESSING,\ \ FAILED, PENDING, and SUCCESS" schema: $ref: "#/definitions/QueueProcessingResponseTestRunDataVM" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/execution-statuses: get: tags: - "test-run" summary: "Gets Test Run statuses" description: "Gets Test Run statuses" operationId: "getStatusValuable" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/StatusResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/subhierarchy: get: tags: - "test-run" summary: "Gets a Sub Hierarchy" description: "To retrieve a Sub Hierarchy of a container (root, release, test-cycle)\ \ \n\nqTest Manager version: 9.3.4+" operationId: "getSubhierachy" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentType" in: "query" description: "parentType" required: false type: "string" - name: "parentId" in: "query" description: "parentId" required: false type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/AutomationObjectTree" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{idOrKey}/comments: get: tags: - "test-run" summary: "Gets all Comments of a Test Run" description: "To retrieve all Comments of a Test Run\n\nqTest Manager\ \ version: 7.5+" operationId: "getTestRunComments" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Run" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/PagedResourceCommentResource" security: - Authorization: [] post: tags: - "test-run" summary: "Adds a Comment to a Test Run" description: "To add a Comment to a Test Run\n\nqTest Manager version:\ \ 7.5+" operationId: "addTestRunComment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "The PID or ID of the Test Run." required: true type: "string" - in: "body" name: "body" description: "The Comment's content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{idOrKey}/comments/{commentId}: get: tags: - "test-run" summary: "Gets a Comment from a Test Run" description: "To retrieve a specific Comment from a Test Run\n\nqTest\ \ Manager version: 7.5+" operationId: "getTestRunCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Run." required: true type: "string" - name: "commentId" in: "path" description: "ID of the Comment" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] put: tags: - "test-run" summary: "Updates a Comment of a Test Run" description: "To update a Comment of a Test Run\n\nqTest Manager version:\ \ 7.5+" operationId: "updateCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Run" required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment which you want to update." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Comment's updated content" required: true schema: $ref: "#/definitions/CommentResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/CommentResource" security: - Authorization: [] delete: tags: - "test-run" summary: "Deletes a Comment of a Test Run" description: "To delete a Comment of a Test Run\n\nqTest Manager version:\ \ 7.5+" operationId: "deleteCommentById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "idOrKey" in: "path" description: "PID or ID of the Test Run." required: true type: "string" - name: "commentId" in: "path" description: "ID of the comment which you want to delete." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{testRunId}: get: tags: - "test-run" summary: "Gets a Test Run" description: "To retrieve a Test Run\n\nqTest Manager version:\ \ 4+" operationId: "getTestRunById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testRunId" in: "path" description: "ID of the Test Run." required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "Valid values include: \n\ni)testcase - to expand the\ \ associated Test Case in the response; \n\nii) testcase.teststep\ \ - to expand the associated Test Case and its Test Steps in the response" required: false type: "string" - name: "includeToscaProperties" in: "query" description: "By default, Tosca properties of Test Run (imported from Tosca)\ \ are not included in the response. Specify includeToscaProperties=true\ \ to include them.\n\n (tosca_guid, tosca_node_path, tosca_workspace_url,\ \ tosca_testevent_guid)" required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestRunWithCustomFieldResource" security: - Authorization: [] put: tags: - "test-run" summary: "Updates a Test Run" description: "To update a Test Run or move it to another container\n\nqTest\ \ Manager version: 6+" operationId: "updateTestRunById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testRunId" in: "path" description: "ID of the Test Run." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Test Run's updated properties" required: true schema: $ref: "#/definitions/TestRunWithCustomFieldResource" - name: "parentId" in: "query" description: "ID of the container (Release, Test Cycle or Test Suite)\n\n\ Input 0 (zero) to move the test run to under root\n\nImportant:\ \ If you use the request parameters, the request body will be ignored. That\ \ means the test run is being moved but it will not be updated with the\ \ properties specify in the request body" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Type of the container. Valid values include root, release,\ \ test-cycle and test-suite" required: false type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestRunWithCustomFieldResource" security: - Authorization: [] delete: tags: - "test-run" summary: "Deletes a Test Run" description: "To delete a Test Run\n\nqTest Manager version:\ \ 6+" operationId: "deleteTestRunById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/Message" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{testRunId}/auto-test-logs: post: tags: - "test-log" summary: "Submits an Automation Test Log" description: "To submit test result of an Automation Test Run\n\nKnown\ \ Issue: This API currently does not update Test Case Version when\ \ Test Case Properties are updated, and Tricentis is working on a fix that\ \ will be shipped in an upcoming release\n\nqTest Manager version:\ \ 4+" operationId: "submitAutomationLog" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "status (required): automation status values which are\ \ mapped in qTest Manager's Automation Settings\n\nexe_start_date (required):\ \ the execution's starting time\n\nexe_end_date (required) the\ \ execution's ending time\n\nname (required) name of the Test Run\ \ or Test Case\n\nautomation_content (required): a string that\ \ uniquely identifies an Automation Test Case\n\nattachments: a\ \ JSONArray of Attachment objects\n\nnote: execution note\n\ntest_case_version_id:\ \ ID of the associated Test Case's version\n\ntest_step_logs: a\ \ JSONArray of TestStepLog objects\n\ntestcase_properties: An of\ \ Testcase properties objects. You can specify Test case properties' order\ \ in the request. \n\ntosca_guid: GUID of Tosca test case. Use\ \ for creating Tosca Test Case\n\ntosca_node_path: Node Path of\ \ Tosca test case. Use for creating Tosca Test Case\n\ntosca_guid\ \ and tosca_node_path are optional but must be specified in pair" required: true schema: $ref: "#/definitions/AutomationTestLogResource" - name: "suitePerDay" in: "query" description: "suitePerDay=true - the newly created Test Run will\ \ be located under a Test Suite named under the execution date specified\ \ in parameter suiteDate, eg: Automation 2014-12-09\n\n\ suitePerDay=false - the newly created Test Run will be located\ \ under Automation Test Suite\n\nIMPORTANT: In\ \ case you update an existing Test Run, its Test Suite remains unchanged" required: false type: "string" - name: "suiteDate" in: "query" description: "It is required if suitePerDay is true. Its format is\ \ \"yyyymmdd\". \n\nThe newly created Test Run will be located\ \ under a Test Suite named \"Automation yyyy-mm-dd\", eg: Automation 2014-12-09" required: false type: "string" - name: "encodeNote" in: "query" description: "Specify if the Test Log's Notes are in HTML format\n\nencodeNote=true\ \ - default value. Notes are not in HTML format\n\nencodeNote=false:\ \ Notes are in HTML format" required: false type: "boolean" default: true - name: "forceUpdateVersion" in: "query" required: false type: "boolean" default: false - name: "agentId" in: "query" required: false type: "string" - name: "userId" in: "query" required: false type: "string" - name: "testRunId" in: "path" description: "ID of the Test Run\n\n1/ If it is greater than 0 (zero), test\ \ result will be submitted to the specific Test Run\n\nIf it is 0 (zero),\ \ test result will be submitted to a new Test Run" required: true type: "integer" format: "int64" responses: 201: description: "Automation Log submitted" schema: $ref: "#/definitions/AutomationTestLogResourceResponse" 413: description: "" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{testRunId}/auto-test-logs/{id}: put: tags: - "test-log" summary: "Modify an Automation Test Log" description: "To modify test result of a automation Test Run\n\nqTest\ \ Manager version: 9.1.5+" operationId: "modifyAutomationLog" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "status (required): automation status values which are\ \ mapped in qTest Manager's Automation Settings\n\nexe_start_date (required):\ \ the execution's starting time\n\nexe_end_date (required): the\ \ execution's ending time\n\nnote: execution note\n\nproperties:\ \ array of fields and values of the Test Log that need to be updated\n\n\ test_step_logs: a JSONArray of TestStepLog objects\n\nNOTE:\n\
    • You can only modify test logs which were submitted by you. The project\ \ admin can modify any test logs within his project
    • Test Step order\ \ is required in the test_step_logs array. You cannot specify a different\ \ order from the original submitted test log
    • You cannot modify Test\ \ Step Description, Expected Result, and Custom Fields for test steps
    • You\ \ cannot modify the following fields: Test Case Version, Automation Content,\ \ CI Tools, Build Number and Build URL
    " required: true schema: $ref: "#/definitions/AutomationTestLog" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" - name: "encodeNote" in: "query" description: "encodeNote" required: false type: "boolean" default: true - name: "id" in: "path" description: "id" required: true type: "integer" format: "int64" responses: 200: description: "" schema: type: "object" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{testRunId}/test-logs: get: tags: - "test-log" summary: "Gets all Test Logs of a Test Run" description: "To retrieve all Test Logs of a Test Run\n\nqTest Manager\ \ version: 7.6" operationId: "getTestLogsList" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" responses: 200: description: "Returns a list of test log" schema: $ref: "#/definitions/TestLogListResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] post: tags: - "test-log" summary: "Submits a Manual Test Log" description: "To submit test result of a manual Test Run\n\nqTest\ \ Manager version: 4+" operationId: "submitTestLog" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "status (required): Status of the Test Log as defined\ \ in the project's Field Settings\n\ntest_case_version_id: ID of\ \ the associated Test Case's version. \n\nIf it is omitted, the submitted\ \ Test Log will be associated with the Test Case's latest approved version\n\ \nexe_start_date (required): time when the test is executed\n\n\ exe_end_date (required): time when the test is finished\n\nattachments:\ \ the Test Log's attachments\n\ntest_step_logs: If the associated\ \ Test Case is calling Test Steps from another Test Case, the \"called_test_case_id\"\ \ and \"parent_test_step_id\" must be included in the request body" required: true schema: $ref: "#/definitions/ManualTestLogResource" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" responses: 201: description: "Returns the submitted test log" schema: $ref: "#/definitions/TestLogResource" 413: description: "The attachment is too large" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{testRunId}/test-logs/last-run: get: tags: - "test-log" summary: "Gets the latest Test Log of a Test Run" description: "To retrieve a Test Run's latest test result\n\nqTest Manager\ \ version: 4+" operationId: "getLastRunLog" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "Valid values include: \n\ni)testcase - to expand the\ \ associated Test Case and its Test Steps in the response; \n\nii) teststeplog.teststep\ \ - to expand results of each Test Steps in the response" required: false type: "string" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" responses: 200: description: "Returns a test log object" schema: $ref: "#/definitions/TestLogResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/test-runs/{testRunId}/test-logs/{id}: get: tags: - "test-log" summary: "Gets a Test Log of a Test Run" description: "To retrieve a specific Test Log of a Test Run" operationId: "getTestLog" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" - name: "id" in: "path" description: "ID of the Test Log" required: true type: "integer" format: "int64" responses: 200: description: "Returns a test log object" schema: $ref: "#/definitions/TestLogResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] put: tags: - "test-log" summary: "Modify a Manual Test Log" description: "To modify test result of an manual Test Run\n\nqTest\ \ Manager version: 9.1.5+" operationId: "modifyTestLog" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "status (required): Status of the Test Log as defined\ \ in the projectâ\x80\x99s Field Settings\n\nexe_start_date (required):\ \ the execution's starting time\n\nexe_end_date (required): the\ \ execution's ending time\n\nnote: execution note\n\nproperties:\ \ array of fields and values of the Test Log that need to be updated\n\n\ test_step_logs: a JSONArray of TestStepLog objects\n\nNOTE:\n\
    • You can only modify test logs which were submitted by you. The project\ \ admin can modify any test logs within his project
    • Test Step order\ \ is required in the test_step_logs array. You cannot specify a different\ \ order from the original submitted test log
    • You cannot modify Test\ \ Step Description, Expected Result, and Custom Fields for test steps
    • You\ \ cannot modify the following fields: Test Case Version, CI Tools, Build\ \ Number and Build URL
    " required: true schema: $ref: "#/definitions/TestLogResource" - name: "testRunId" in: "path" description: "ID of the Test Run" required: true type: "integer" format: "int64" - name: "id" in: "path" description: "id" required: true type: "integer" format: "int64" responses: 200: description: "" schema: $ref: "#/definitions/TestLogResource" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/test-suites: get: tags: - "test-suite" summary: "Gets multiple Test Suite" description: "To retrieve Test Suites which located under a parent Release,\ \ Test Cycle or root\n\nqTest Manager version: 6+" operationId: "getListTestSuite" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the Release or Test Cycle under which the Test Suites\ \ are located. Input 0 (zero) to get Test Suites directly under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Arifact type of the container. Valid values include release,\ \ test-cycle and root" required: false type: "string" enum: - "root" - "release" - "test-cycle" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestSuiteWithCustomFieldResource" security: - Authorization: [] post: tags: - "test-suite" summary: "Creates a Test Suite" description: "To create a new Test Suite\n\nqTest Manager version:\ \ 6+" operationId: "createTestSuite" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The Test Suite's properties" required: true schema: $ref: "#/definitions/TestSuiteWithCustomFieldResource" - name: "parentId" in: "query" description: "ID of the Release or Test Cycle under which the newly created\ \ Test Suites are located. Input 0 (zero) to create Test Suites directly\ \ under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Arifact type of the container. Valid values include release,\ \ test-cycle and root" required: false type: "string" enum: - "root" - "release" - "test-cycle" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestSuiteWithCustomFieldResource" security: - Authorization: [] /api/v3/projects/{projectId}/test-suites/{testSuiteId}: get: tags: - "test-suite" summary: "Gets a Test Suite" description: "To retrieve a Test Suite\n\nqTest Manager version:\ \ 6+" operationId: "getTestSuite" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testSuiteId" in: "path" description: "ID of the Test Suite" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestSuiteWithCustomFieldResource" security: - Authorization: [] put: tags: - "test-suite" summary: "Updates a Test Suite" description: "To update an existing Test Suite or to move it to other container\n\ \nImportant: If you use the request parameters parentId\ \ and parentType, the request body will be ignore. \n\nThat means\ \ the Test Suite is being moved but it will not be updated with the properties\ \ specify in the request body" operationId: "updateTestSuite" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testSuiteId" in: "path" description: "ID of the Test Suite" required: true type: "integer" format: "int64" - name: "parentId" in: "query" description: "ID of the Release or Test Cycle which the Test Suite will be\ \ moved to. Input 0 (zero) to move the Test Suite to under root" required: false type: "integer" format: "int64" - name: "parentType" in: "query" description: "Artifact type of the parent container. Valid values include\ \ release, test-cycle and root" required: false type: "string" enum: - "root" - "release" - "test-cycle" - in: "body" name: "body" description: "The Test Suite's updated properties" required: true schema: $ref: "#/definitions/TestSuiteWithCustomFieldResource" - name: "noEmail" in: "query" required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: $ref: "#/definitions/TestSuiteWithCustomFieldResource" security: - Authorization: [] delete: tags: - "test-suite" summary: "Deletes a Test Suite" description: "To delete a Test Suite\n\nqTest Manager version:\ \ 6+" operationId: "deleteTestSuiteById" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testSuiteId" in: "path" description: "ID of the Test Suite." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/tosca/import/test-event: post: tags: - "tosca" summary: "Import Tosca TestEvent objects" description: "To export TestEvent objects from Tosca to qTest" operationId: "notifyTestEventImport" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "An array of hierarchy Tosca objects\n\ntoscaUniqueId (required):\ \ Unique ID of the Tosca object\n\nname (required): Name of the\ \ Tosca object\n\ndescription: Description of the Tosca object\n\ \ntoscaObjectType (required): Type of the Tosca object: TestEvent,\ \ ExecutionList (contained inTestEvent), ExecutionEntry Folder(contained\ \ in Execution List). Object is TestEvent type is always on the root of\ \ body array and doesn't contain ExecutionEntry objects \n\ntoscaNodePath\ \ (required): Node path of the Tosca object\n\ntestCycles:\ \ The array of TestEvent or ExecutionList or ExecutionEntry Folder objects\n\ \ntestRuns: The array of ExecutionEntry objects in testCycle property\n\ \nassociatedToscaTestCase: Testcase object that associated with\ \ testRun object" required: true schema: type: "array" items: $ref: "#/definitions/ToscaTestCycleResource" responses: 200: description: "TestEvent objects are imported successfully to qTest Manager\n\ \nid: ID of the submission job. You will need this Id to check\ \ the job status using GET /api/v3/projects/queue-processing/{jobId}\n\ \nstate: Status of the job. Its value includes IN_WAITING, IN_PROCESSING,\ \ FAILED, PENDING, and SUCCESS" schema: $ref: "#/definitions/QueueProcessingResponse" 400: description: "Bad Request if invalid input value in body" 403: description: "Access Denied" security: - Authorization: [] /api/v3/projects/{projectId}/user-profiles/current: get: tags: - "project" summary: "Gets current user Permissions in a Project" description: "To retrieve your Permissions in a Project\n\nqTest Manager\ \ version: 4+" operationId: "getCurrentProfile" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/UserProfile" security: - Authorization: [] /api/v3/projects/{projectId}/users: get: tags: - "project" summary: "Gets all Users in a Project" description: "To retrieve all members in a qTest Manager Project\n\nqTest\ \ Manager version: 8.4.2+" operationId: "getUsers" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "inactive" in: "query" description: "inactive=false - default value. Inactive users are\ \ excluded from the response\n\ninactive=true - inactive users\ \ are included in the response" required: false type: "boolean" default: true responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/UserResource" security: - Authorization: [] /api/v3/projects/{projectId}/{objectType}/{objectId}/attachments: get: tags: - "attachment" summary: "Gets all Attachments of an Object" description: "To retrieve all Attachments of a Release, Build, Requirement,\ \ Test Case, Test Log, Test Step, Test Step Log or Defect" operationId: "getAttachmentsOf" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include release, build, requirements,\ \ test-cases, test-logs, test-steps, test-step-logs\ \ or defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-logs" - "test-steps" - "test-step-logs" - "defects" - name: "objectId" in: "path" description: "ID of the object (Release, Build, Requirement, Test Case, Test\ \ Log, Test Step, Test Step Log or Defect)" required: true type: "integer" format: "int64" responses: 200: description: "Return list of attachments from a Release, Build, Requirement,\ \ Test Case, Test Log, Test Step, Test Step Log or Defect." schema: type: "array" items: $ref: "#/definitions/AttachmentResource" security: - Authorization: [] /api/v3/projects/{projectId}/{objectType}/{objectId}/attachments/{attachmentId}: get: tags: - "attachment" summary: "Gets an Attachment of an Object" description: "To retrieve an Attachment from a Release, Build, Requirement,\ \ Test Case, Test Log, Test Step, Test Step Log or Defect" operationId: "getAttachment" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "attachmentId" in: "path" description: "ID of attachment" required: true type: "integer" format: "int64" - name: "forceDownload" in: "query" description: "Input true to download attachments which have not been scanned\ \ for malware/virus successfully. By default, its value is false" required: false type: "boolean" default: false - name: "objectType" in: "path" description: "Valid values include release, build, requirements,\ \ test-cases, test-logs, test-steps, test-step-logs\ \ or defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-logs" - "test-steps" - "test-step-logs" - "defects" - name: "objectId" in: "path" description: "ID of the object (Release, Build, Requirement, Test Case, Test\ \ Log, Test Step Test Step Log or Defect)" required: true type: "integer" format: "int64" responses: 200: description: "Return specific attachment from a Release, Build, Requirement,\ \ Test Case, Test Log, Test Step, Test Step Log or Defect." schema: $ref: "#/definitions/OutputStream" security: - Authorization: [] /api/v3/projects/{projectId}/{objectType}/{objectId}/blob-handles: post: tags: - "attachment" summary: "Uploads an Attachment to an Object" description: "To upload an Attachment to a Release, Build, Requirement, Test\ \ Case, Test Log, Test Step, Test Step Log or Defect" operationId: "upload" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-logs, test-steps, test-step-logs or defects\n\nqTest Manager\ \ version: 4+" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-logs" - "test-steps" - "test-step-logs" - "defects" - name: "objectId" in: "path" description: "ID of the object (Release, Build, Requirement, Test Case, Test\ \ Log, Test Step, Test Step Log or Defect)" required: true type: "integer" format: "int64" - name: "File-Name" in: "header" required: true type: "string" - name: "Content-Type" in: "header" required: true type: "string" - in: "body" name: "body" required: true schema: type: "string" format: "binary" responses: 201: description: "Uploaded successfully" schema: $ref: "#/definitions/AttachmentResource" 400: description: "Bad Request - Unexpected error occurred" 413: description: "Request Entity Too Large - The attachment is too large" 500: description: "Internal Server Error - Unexpected error occurred" security: - Authorization: [] /api/v3/projects/{projectId}/{objectType}/{objectId}/blob-handles/{blobHandleId}: delete: tags: - "attachment" summary: "Deletes an Attachment from an Object" description: "To delete an Attachment from a Release, Build, Requirement, Test\ \ Case, Test Log, Test Step, Test Step Log or Defect\n\nqTest Manager\ \ version: 7.5+" operationId: "deleteByBlobHandleId" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "blobHandleId" in: "path" description: "ID of the Attachment" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "Valid values include releases, builds, requirements, test-cases,\ \ test-logs, test-steps, test-step-logs or defects\n\nqTest Manager\ \ version: 4+" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-logs" - "test-steps" - "test-step-logs" - "defects" - name: "objectId" in: "path" description: "ID of the object (Release, Build, Requirement, Test Case, Test\ \ Log, Test Step, Test Step Log or Defect)" required: true type: "integer" format: "int64" responses: 200: description: "Deleted successfully" schema: $ref: "#/definitions/Message" 400: description: "Bad Request - Unexpected error occurred" 403: description: "Access Denied" 404: description: "Blob Handle not found" security: - Authorization: [] /api/v3/projects/{projectId}/{objectType}/{objectId}/link: post: tags: - "object-link" summary: "Creates links between objects" description: "To add associated objects to another object" operationId: "linkArtifacts" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "The object type of the source object. Valid values include requirements,\ \ builds, test-steps, test-logs, releases" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-logs" - "test-steps" - name: "type" in: "query" description: "The object type of the associated objects which are being added\ \ to the source object. \n\nValid values include releases, builds, requirements,\ \ test-cases, test-runs, test-logs, test-steps or defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-runs" - "test-logs" - "test-steps" - "defects" - in: "body" name: "body" description: "A JSONArray of associated object IDs which are being added to\ \ the source object\n\nNotes:\n\nWhen creating link between Test Case and\ \ Requirement, please make sure that:\n\n- The Test Case is not routed for\ \ VERA approval\n\n- Data migration for Test Case version when turning on\ \ Test Case Settings to track Test Case - Requirement Link per version is\ \ completed" required: true schema: type: "array" items: type: "integer" format: "int64" - name: "objectId" in: "path" description: "ID of the source object" required: true type: "integer" format: "int64" responses: 200: description: "Successful operation\n\nNote: System will ignore those objects\ \ that cannot be linked" schema: type: "array" items: $ref: "#/definitions/LinkedArtifactContainer" 201: description: "" security: - Authorization: [] delete: tags: - "object-link" summary: "Removes links between objects" description: "To remove associated objects from another object" operationId: "unlinkArtifacts" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "The object type of the source object. Valid values include requirements,\ \ builds, test-steps, test-logs, releases" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-logs" - "test-steps" - name: "type" in: "query" description: "The object type of the associated objects which are being added\ \ to the source object. \n\nValid values include releases, builds, requirements,\ \ test-cases, test-runs, test-logs, test-steps or defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-runs" - "test-logs" - "test-steps" - "defects" - in: "body" name: "body" description: "A JSONArray of associated object IDs which are being removed\ \ from the source object\n\nNotes:\n\nWhen removing link between Test Case\ \ and Requirement, please make sure that:\n\n- The Test Case is not routed\ \ for VERA approval\n\n- Data migration for Test Case version when turning\ \ on Test Case Settings to track Test Case - Requirement Link per version\ \ is completed" required: true schema: type: "array" items: type: "integer" format: "int64" - name: "objectId" in: "path" description: "ID of the source object" required: true type: "integer" format: "int64" responses: 200: description: "Successful operation\n\nNote: System will ignore those objects\ \ that cannot be unlinked" schema: type: "object" security: - Authorization: [] /api/v3/projects/{projectId}/{objectType}/{objectId}/{linkType}: post: tags: - "object-link" summary: "Creates links between objects by pids" description: "To add associated objects to another object by pids or Jira Defects\ \ Ids" operationId: "linkArtifactsByPid" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "The object type of the source object. Valid values include test-steps,\ \ test-logs" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-logs" - "test-steps" - name: "linkType" in: "path" description: "The object type of the associated objects which are being added\ \ to the source object. \n\nValid value: defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-runs" - "test-logs" - "test-steps" - "defects" - in: "body" name: "body" description: "A JSONArray of associated object PIDs or Jira Defect which are\ \ being added to the source object" required: true schema: type: "array" items: type: "string" - name: "objectId" in: "path" required: true type: "integer" format: "int64" responses: 201: description: "Link defect successfully" schema: type: "array" items: $ref: "#/definitions/LinkedDefectContainer" 400: description: "Test run was locked" 403: description: "User does not have enough permission" 404: description: "Link defect unsuccessfully" security: - Authorization: [] delete: tags: - "object-link" summary: "Removes links between objects by pids" description: "To removes links between objects by pids" operationId: "unlinkArtifactsByPid" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "objectType" in: "path" description: "The object type of the source object. Valid values include test-steps,\ \ test-logs" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-logs" - "test-steps" - name: "linkType" in: "path" description: "The object type of the associated objects which are being added\ \ to the source object. \n\nValid value: defects" required: true type: "string" enum: - "releases" - "builds" - "requirements" - "test-cases" - "test-runs" - "test-logs" - "test-steps" - "defects" - in: "body" name: "body" description: "A JSONArray of associated object PIDs which are being added\ \ to the source object" required: true schema: type: "array" items: type: "string" - name: "objectId" in: "path" required: true type: "integer" format: "int64" responses: 200: description: "Unlink defect successfully, list of defects that unlinked\ \ successfully will be returned" schema: type: "array" items: type: "string" 400: description: "Test run was locked" 403: description: "User does not have enough permission" 404: description: "Unlink defect unsuccessfully" security: - Authorization: [] /api/v3/re-evaluation: get: tags: - "user" summary: "Gets current user's information" description: "To retrieve your information such as username, email, first name,\ \ and last name" operationId: "reevaluateToken" parameters: - name: "includeInaccessibleApps" in: "query" required: false type: "boolean" responses: 200: description: "successful operation" schema: $ref: "#/definitions/LoggedUser" security: - Authorization: [] /api/v3/search/user: get: tags: - "user" summary: "Queries Users by Project Name" description: "To query for users by names of their assigned projects\n\n- Admin\ \ users with Manage Client Users permission can query users in any\ \ projects\n\n- For other users: the API only returns users within projects\ \ to which the requesting user is assigned" operationId: "findUsersByProjectsName" parameters: - name: "projectName" in: "query" description: "Name of the project whose users you want to query for. The API\ \ will return users which have been added to projects whose names contain\ \ the text specified in this parameter\n\nIMPORTANT: Project\ \ name is case sensitive" required: false type: "string" - name: "inactive" in: "query" description: "inactive=false - default value. Inactive users are\ \ excluded from the response\n\ninactive=true - include inactive\ \ users" required: false type: "boolean" default: true - name: "pagination" in: "query" description: "pagination=true - default value. The result is paginated\n\ \npagination=false - the result is not paginated" required: false type: "boolean" default: true - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 999) in this parameter" required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/SearchUserResponse" security: - Authorization: [] /api/v3/site-templates: get: tags: - "site-templates" summary: "Get all site-templates" description: "To retrieve all site-templates" operationId: "getAllSiteTemplates" parameters: [] responses: 200: description: "Return list of all site-templates." schema: type: "array" items: $ref: "#/definitions/SiteTemplateResponse" security: - Authorization: [] /api/v3/site-templates/{templateId}/projects: post: tags: - "site-templates" summary: "Apply template to existing projects." description: "To apply template to existing projects." operationId: "addProjects" parameters: - name: "templateId" in: "path" description: "Template id which you want to apply to existing projects." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "project_ids:List of Project IDs\n\ncreate_new_site_field_values:\ \ Option to allow user to decide if they want to create new values to the\ \ site fields or keep the value private to the project when there are \"\ unique values in project fields that do not exist in site fields\" (default:\ \ true)." required: true schema: $ref: "#/definitions/ApplyTemplateQueryObject" responses: 200: description: "Return list of projects which were applied site template." schema: type: "array" items: $ref: "#/definitions/ProjectResource" security: - Authorization: [] delete: tags: - "site-templates" summary: "Remove projects from a site template." description: "To remove projects from a site template." operationId: "removeProjectTemplates" parameters: - name: "templateId" in: "path" description: "Template id which you want to detach it's projects. If 0\ \ (unassigned template id) is placing here, remove all site templates associated\ \ to provided project ids list." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Array of project ids that you want to detach from site template." required: true schema: type: "array" items: type: "integer" format: "int64" responses: 200: description: "Return list of projects which were removed from site template." schema: type: "array" items: $ref: "#/definitions/ProjectResource" security: - Authorization: [] /api/v3/user-profiles: get: tags: - "user-profile" summary: "Gets available Profiles" description: "To retrieve all available profiles in your qTest Manager instance.\ \ It requires that your qTest Manager profile is a site admin with View\ \ User Profiles permissions\n\nqTest Manager version:\ \ 8.4.2+" operationId: "getUserProfiles" parameters: - name: "type" in: "query" description: "type=admin - to retrieve only admin profiles\n\ntype=use\ \ - to retrieve only normal user profiles\n\nOmit this parameter to include\ \ both" required: false type: "string" enum: - "admin" - "user" responses: 200: description: "successful operation" schema: $ref: "#/definitions/UserProfileResponse" security: - Authorization: [] /api/v3/user-profiles/batch-assign-users: post: tags: - "user-profile" summary: "Assigns multiple Users to a Profile" description: "To batch assign users to a profile (Admin profile, User profile)\ \ (as in qTest Manager admin panel). It requires that your qTest\ \ Manager profile is a site admin with Manage Client Users permissions\n\ \nqTest Manager version: 8.4.2+" operationId: "batchAssignUserProfileInClient" parameters: - in: "body" name: "body" description: "An array of user IDs and admin and/or normal user profile" required: true schema: $ref: "#/definitions/SiteUsersProfile" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/UserResourceExtension" security: - Authorization: [] /api/v3/user-profiles/current: get: tags: - "user-profile" summary: "Gets current User's Profiles in different Projects" description: "To retrieve your User Profiles in different Projects" operationId: "getProfilesOfCurrentUser" parameters: [] responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/UserProfile" security: - Authorization: [] /api/v3/user-profiles/{projectId}/batch-assign-users: post: tags: - "user-profile" summary: "Assigns multiple Users to a Profile in a Project" description: "To change profile of assigned users (as a project's User Management\ \ page). It requires that your qTest Manager profile within the project is\ \ Project Admin\n\nqTest Manager version: 8.4.2+" operationId: "batchAssignUserProfileInProject" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - in: "body" name: "body" description: "An array of user IDs and a user profile" required: true schema: $ref: "#/definitions/ProjectUsersProfile" responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/UserResourceExtension" security: - Authorization: [] /api/v3/users: post: tags: - "user" summary: "Invites a User" description: "To invite a user to your qTest Manager instance and activate the\ \ account. If the password is omitted, the default \"admin123\" will\ \ be used\n\nqTest Manager version: 4+" operationId: "createUser" parameters: - in: "body" name: "body" description: "Invited user's information\n\nusername (require): email\ \ of new user\n\nemail: This field will be ignored and primary\ \ email will be set\n\npassword: password of new user. If the password\ \ is omitted, the default \"admin123\" will be used\n\nfirst_name (require):\ \ First name of new user\n\nlast_name (require): Last name of new\ \ user\n\nuser_group_ids: List usergroup ids will be assigned for\ \ new user.\n\nsend_activation_email: activation email will be\ \ ignored if this is set to false. Default value is false\n\ \nexternal_auth_config_id: auto assign this new user with External\ \ Authentication system by this providing config id here. If this value\ \ is provided, \"external_user_name\" need to have value, or it\ \ will failed to create.\n\nexternal_user_name: external username\ \ that will be assigned to newly created qTest user \n\ninclude_default_groups:Include\ \ default groups or not. Default value is false" required: true schema: $ref: "#/definitions/UserResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/UserResource" security: - Authorization: [] /api/v3/users/projects: post: tags: - "user" summary: "Assigns multiple Users to a Project" description: "To assign a list of Users to a Project\n\nqTest Manager\ \ version: 4+" operationId: "assignUsersToProject" parameters: - in: "body" name: "body" description: "ID of the Project and an array of assigned Users' IDs. If the\ \ profile is not provided, Developer profile is used by default" required: true schema: $ref: "#/definitions/AssignedUsersProject" - name: "skipEmailNotifications" in: "query" description: "Set to true to skip email notifications about associating user\ \ with a project." required: false type: "boolean" responses: 200: description: "successful operation" schema: $ref: "#/definitions/AssignedUsersProject" security: - Authorization: [] put: tags: - "user" summary: "Remove association between users and projects" description: "To remove association between users and projects" operationId: "removeAssociationUsersAndProjects" parameters: - in: "body" name: "body" description: "An array of pairs project_id and user_ids\n\n project_id:\ \ ID of the project\n\nuser_ids: List of User IDs which are being\ \ removed from the project" required: true schema: type: "array" items: $ref: "#/definitions/ProjectWithUserIdsObject" - name: "skipEmailNotifications" in: "query" description: "Set to true to skip email notifications about removing user's\ \ association with a project." required: false type: "boolean" responses: 200: description: "" schema: $ref: "#/definitions/Message" security: - Authorization: [] /api/v3/users/search: get: tags: - "user" summary: "Queries Users by Username" description: "To query for users by their username\n\nqTest Manager\ \ version: 8.4.2+" operationId: "findByUserNameOrEmail" parameters: - name: "username" in: "query" description: "API will return users which have been added to projects whose\ \ names contain the text specified in this parameter.\n\nLogin names of\ \ users should be provided for this query, but they vary based on the source\ \ of the user.\n\n- qTest Login Email - for users created directly on qTest\n\ \n- LDAP or SSO username or external username - for users created from LDAP\ \ or SSO" required: false type: "string" - name: "includeInactiveUsers" in: "query" description: "includeInactiveUsers=false - default value. Inactive\ \ users are excluded from the response\n\nincludeInactiveUsers=true\ \ - inactive users are included in the response" required: false type: "boolean" - name: "pagination" in: "query" description: "pagination=true - default value. The result is paginated\n\ \npagination=false - the result is not paginated" required: false type: "boolean" default: true - name: "authSystemConfigIds" in: "query" description: "LDAP Configuration Ids" required: false type: "array" items: type: "integer" format: "int64" collectionFormat: "multi" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "pageSize" in: "query" description: "The result is paginated. By the default, the number of objects\ \ in each page is 100 if this is omitted. You can specify your custom number\ \ (up to 100) in this parameter." required: false type: "integer" default: 100 format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/SearchUserResourceExtensionResponse" security: - Authorization: [] /api/v3/users/{userId}: get: tags: - "user" summary: "Gets a User" description: "To retrieve a User's information" operationId: "getUserById" parameters: - name: "userId" in: "path" description: "ID of the user." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/UserResource" security: - Authorization: [] put: tags: - "user" summary: "Update user's information" description: "To update information of a user, like : recovery email, password,\ \ status..." operationId: "updateUser" parameters: - name: "userId" in: "path" description: "ID of the user." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "Update user's information\n\nemail: This field will\ \ be ignored and primary email will be set\n\npassword: New password\ \ of user. Password have to map with password policy of current user's client\n\ \nfirst_name: New first name of user\n\nlast_name: New\ \ last name of user\n\nuser_group_ids: List usergroup ids will\ \ be assigned for user (old usergroup ids will be replaced).\n\nexternal_auth_config_id:\ \ New user's external authenticate id,it will auto assign this user with\ \ External Authentication system by this providing config id here. If this\ \ value is provided, \"external_user_name\" need to have value,\ \ or it will failed to update. For internal authentication system input\ \ : -1\n\nexternal_user_name: external username\ \ that will be assigned to user (if LDAP external is specified, \"first_name\"\ \ and \"last_name\" will be fetch from LDAP system).\n\nstatus:\ \ New status id of user. Status id must be 1 for Active\ \ or 3 for Inactive status." required: true schema: $ref: "#/definitions/UserUpdateResource" responses: 200: description: "successful operation" schema: $ref: "#/definitions/UserResource" security: - Authorization: [] /api/v3/users/{userId}/avatar: get: tags: - "user" summary: "Gets a User's Avatar" description: "To retrieve a User's Avatar" operationId: "getAvatar" parameters: - name: "userId" in: "path" description: "ID of the user." required: true type: "integer" format: "int64" responses: 200: description: "successful operation" schema: $ref: "#/definitions/OutputStream" security: - Authorization: [] /api/v3/users/{userId}/projects: post: tags: - "user" summary: "Assigns a User to a Project" description: "To assign a User to a Project" operationId: "assignToProject" parameters: - name: "userId" in: "path" description: "ID of the user." required: true type: "integer" format: "int64" - in: "body" name: "body" description: "The project ID and the assigned user profile in the project.\ \ If the profile is not provided, profile Developer is used by default" required: true schema: $ref: "#/definitions/AssignedProject" responses: 200: description: "successful operation" schema: $ref: "#/definitions/AssignedProject" security: - Authorization: [] /api/v3/webhooks: get: tags: - "webhook" summary: "Gets list of all registered webhooks" description: "To retrieve list of all registered webhooks" operationId: "getAllWebhooks" parameters: [] responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/WebhookVM" security: - Authorization: [] post: tags: - "webhook" summary: "Registers a webhook" description: "To register a webhook" operationId: "createWebhook" parameters: - in: "body" name: "body" description: "name (required): name of the webhook\n\nURL (required):\ \ where the callback should be sent\n\nsecretkey (required): secretkey\ \ is used to ensure that POST requests sent to the URL are from qTest\n\n\ responseType (optional): content-type of the callback message.\ \ Allow values: \"text\" for text/plain, \"json\" for application/json.\ \ Default value is \"text\"\n\nevents (required): list event(s)\ \ to register. Its valid values include\n\n- testcase_created\n\n- testcase_updated\n\ \n- testcase_deleted\n\n- testcase_approved\n\n- testrun_created\n\n- testrun_updated\n\ \n- testrun_deleted\n\n- testlog_submitted\n\n- testlog_modified\n\n- project_created\n\ \n- project_updated\n\n- defect_submitted\n\n- defect_modified\n\n- requirement_created\n\ \n- requirement_updated\n\n- requirement_deleted\n\n- requirement_linked\n\ \n- requirement_unlinked\n\n- defect_linked\n\n- defect_unlinked\n\nprojectIds\ \ (optional): list valid projectid(s) to register. Its valid values\ \ include only Active Projects" required: true schema: $ref: "#/definitions/WebhookRequest" responses: 201: description: "successful operation" schema: $ref: "#/definitions/WebhookVM" 400: description: "Bad Request if missing or invalid input value in body" security: - Authorization: [] /api/v3/webhooks/events: get: tags: - "webhook" summary: "Get list of webhook event names" description: "To retrieve list of all available event names for webhook registering" operationId: "getAllEventNames" parameters: [] responses: 200: description: "successful operation" schema: type: "array" items: type: "string" security: - Authorization: [] /api/v3/webhooks/{webhookId}: get: tags: - "webhook" summary: "Gets a webhook" description: "To retrieve details of a registered webhook" operationId: "getWebhookById" parameters: - name: "webhookId" in: "path" description: "ID of the webhook" required: true type: "string" responses: 200: description: "successful operation" schema: $ref: "#/definitions/WebhookVM" security: - Authorization: [] put: tags: - "webhook" summary: "Updates a webhook" description: "" operationId: "updateWebhook" parameters: - name: "webhookId" in: "path" description: "ID of the webhook" required: true type: "string" - in: "body" name: "body" description: "Update webhook's information\n\nname: New name of the\ \ webhook\n\nURL: New URL of the webhook\n\nsecretkey:\ \ New secret key of the webhook\n\nresponseType: New content-type\ \ of the callback message. Allow values: \"text\" for text/plain,\ \ \"json\" for application/json\n\nevents (required): New\ \ list event(s) to register. Its valid values include\n\n- testcase_created\n\ \n- testcase_updated\n\n- testcase_deleted\n\n- testcase_approved\n\n- testrun_created\n\ \n- testrun_updated\n\n- testrun_deleted\n\n- testlog_submitted\n\n- testlog_modified\n\ \n- project_created\n\n- project_updated\n\n- defect_submitted\n\n- defect_modified\n\ \n- requirement_created\n\n- requirement_updated\n\n- requirement_deleted\n\ \n- requirement_linked\n\n- requirement_unlinked\n\n- defect_linked\n\n\ - defect_unlinked\n\nprojectIds (optional): list valid projectid(s)\ \ to register. Its valid values include only Active Projects" required: true schema: $ref: "#/definitions/WebhookRequest" responses: 200: description: "successful operation" schema: $ref: "#/definitions/WebhookVM" security: - Authorization: [] delete: tags: - "webhook" summary: "Deletes a webhook" description: "To delete a registered webhook" operationId: "deleteWebhookById" parameters: - name: "webhookId" in: "path" description: "ID of the webhook" required: true type: "string" responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /api/v4/projects/{projectId}/test-cases/{testCaseId}/test-steps: get: tags: - "test-case" summary: "Gets Test Steps of a Test Case" description: "To retrieve all Test Steps of a Test Case's latest version\n\n\ qTest Manager version: 6+" operationId: "getTestStepsOfTestCase" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "size" in: "query" description: "size" required: false type: "integer" default: 200 format: "int32" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "array" items: $ref: "#/definitions/TestStepResource" security: - Authorization: [] /api/v4/projects/{projectId}/test-cases/{testCaseId}/versions/{versionId}/test-steps: get: tags: - "test-case" summary: "Gets Test Steps of a Test Case version" description: "To retrieve all Test Steps of a specific Test Case version" operationId: "getTestStepsByVersionId" parameters: - name: "projectId" in: "path" description: "ID of the project" required: true type: "integer" format: "int64" - name: "testCaseId" in: "path" description: "ID of the Test Case" required: true type: "integer" format: "int64" - name: "versionId" in: "path" description: "ID of the Test Case version" required: true type: "integer" format: "int64" - name: "expand" in: "query" description: "when you Specify expand=calledteststep \n\nIt will\ \ include Test Steps of the called Test Cases in your response." required: false type: "string" enum: - "calledteststep" - name: "page" in: "query" description: "By default the first page is returned but you can specify any\ \ page number to retrieve objects" required: false type: "integer" default: 1 format: "int64" - name: "size" in: "query" description: "size" required: false type: "integer" default: 200 format: "int32" - name: "showParamIdentifier" in: "query" description: "By default, Parameters in Test Steps are displayed in ID number\ \ mode (like \"[~123]\"). Input showParamIdentifier=true\ \ to change to Identifier text mode. Result should be like \"[~myIdentifier]\"\ ." required: false type: "boolean" default: false responses: 200: description: "successful operation" schema: type: "object" security: - Authorization: [] /oauth/status: get: tags: - "login" summary: "Gets status of access token" description: "Gets status of access token" operationId: "tokenStatus" parameters: - name: "Authorization" in: "header" description: "The qTest access token you want to check" required: false type: "string" responses: 200: description: "expiration timestamp and validityInMilliseconds\ \ of provided access token are returned in the response." schema: $ref: "#/definitions/OAuthTokenStatusVM" 401: description: "Invalid access token" security: - Authorization: [] /oauth/token: post: tags: - "login" summary: "Log in" description: "To authenticate the API client against qTest Manager and acquire\ \ authorized access token. \n\n Note: Please choose parameter content-type=application/x-www-form-urlencoded" operationId: "postAccessToken" consumes: - "application/x-www-form-urlencoded" parameters: - name: "grant_type" in: "formData" description: "Use grant_type=password or grant_type=refresh_token\ \ to refresh access token" required: false type: "string" default: "password" enum: - "password" - "refresh_token" - name: "username" in: "formData" description: "Your qTest Manager username" required: false type: "string" - name: "password" in: "formData" description: "Your qTest Manager password" required: false type: "string" - name: "refresh_token" in: "formData" description: "qTest refresh token to refresh access token associate with provided\ \ refresh token" required: false type: "string" - name: "Authorization" in: "header" description: "Basic + [base64 string of \"your qTest site name and\ \ colon\"]\n\nor Basic cXRlc3QtYXBpOg== [base64 string of \"qtest-api:\"\ ] to use refresh token (grant_type = refresh_token)\n\nExample: qTest Manager\ \ site is: apitryout.qtestnet.com then site name is: apitryout + ':', then\ \ Authorization is: Basic YXBpdHJ5b3V0Og==" required: false type: "string" responses: 200: description: "token_type and access_token are included\ \ in the response.\n\nUse them in Authorization key when making API calls\ \ to qTest Manager in following format: [token_type] [access_token]" schema: $ref: "#/definitions/OAuthResponse" 400: description: "Invalid refresh token or grant type" 401: description: "Missing or invalid Authorization header value" securityDefinitions: Authorization: type: "apiKey" name: "Authorization" in: "header" definitions: AdminProfile: type: "object" properties: user_id: type: "integer" format: "int64" example: 1 description: "ID of the user" create_project: type: "boolean" example: true description: "Has permission on create Project" edit_project: type: "boolean" example: true description: "Has permission on edit Project" archive_project: type: "boolean" example: true description: "Has permission on archive Project" list_project: type: "boolean" example: true description: "Has permission on view Project" manage_client_user: type: "boolean" example: true description: "Has permission on Invite/Edit Users" edit_user_profile: type: "boolean" example: true description: "Has permission on edit Profiles" view_user_profile: type: "boolean" example: true description: "Has permission on view Profiles" manage_client_info: type: "boolean" example: true description: "Has permission on update Company's information" manage_system_conf: type: "boolean" example: true description: "Has permission on manage System configuration" site_level_field: type: "boolean" example: true description: "Has permission on manage site level field setting" manage_user_group: type: "boolean" insight_viewer: type: "boolean" insight_editor: type: "boolean" pulse_access: type: "boolean" launch_access: type: "boolean" analytics_viewer: type: "boolean" copilot_user: type: "boolean" AllowedValueInputResource: type: "object" properties: default: type: "boolean" value: type: "integer" format: "int64" label: type: "string" order: type: "integer" format: "int32" is_default: type: "boolean" is_active: type: "boolean" color: type: "string" AllowedValueResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" value: type: "integer" format: "int64" example: 601 description: "Value of AllowedValue" label: type: "string" example: "Passed" description: "Label of AllowedValue" order: type: "integer" format: "int32" example: 1 description: "Display order of AllowedValue" is_default: type: "boolean" example: true description: "Is default value or not" is_active: type: "boolean" example: true description: "Is active or not" color: type: "string" example: "#c0c0c0" description: "Color of AllowedValue if Field is Test Run's Status " AllowedValueResponseResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" total: type: "integer" format: "int64" items: type: "array" items: $ref: "#/definitions/AllowedValueResource" AppDetail: type: "object" properties: name: type: "string" example: "Manager" description: "Manager" logo_url: type: "string" example: "https://apitryout.qtestnet.com/favicon.ico" description: "" display_order: type: "integer" format: "int32" example: 1 description: "Display order of qTest application" url: type: "string" example: "https://apitryout.qtestnet.com" description: "URL to qTest application" redirect_url: type: "string" app_type: type: "string" ApplyTemplateQueryObject: type: "object" properties: project_ids: type: "array" uniqueItems: true items: type: "integer" format: "int64" create_new_site_field_values: type: "boolean" example: true ArtifactHistoryResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" example: 1 description: "Current page" page_size: type: "integer" format: "int32" example: 25 description: "Current page size" total: type: "integer" format: "int64" example: 100 description: "Total record found" items: type: "array" description: "Data of records" items: $ref: "#/definitions/HistoryResource" ArtifactSearchParams: type: "object" required: - "object_type" properties: object_type: type: "string" example: "test-cases" description: "Its value can be requirements, test-cases, test-runs, test-cycles,\ \ test-logs, builds or defects" fields: type: "array" description: "fields: specify which object fields you want to include in the\ \ response. If you omit it or specify an asterisk (*), all fields are included" uniqueItems: true items: type: "string" example: "*" query: type: "string" example: "'name' ~ 'qTest'" description: "Represent text as Data Query" AssignedProject: type: "object" properties: project_id: type: "integer" format: "int64" example: 1 description: "ID of the Project" profile: $ref: "#/definitions/Profile" AssignedUsersProject: type: "object" properties: project_id: type: "integer" format: "int64" example: 1 description: "ID of the Project" profile: $ref: "#/definitions/Profile" user_ids: type: "array" description: "Array User ID" items: type: "integer" format: "int64" example: 1 AttachmentAuthor: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "ID of the User" email: type: "string" example: "example.user@qtest.com" description: "Login username of the User" first_name: type: "string" example: "First name of the User" description: "First name of the User" last_name: type: "string" example: "Last name of the User" description: "Last name of the User" AttachmentResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" name: type: "string" example: "Sample.docx" description: "Attachment name" content_type: type: "string" example: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" description: "Attachment content type" data: type: "string" description: "Used for uploading and ignored during download" id: type: "integer" format: "int64" example: 1 description: "ID of the Attachment" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/1/portal/attachment/testcase/attachmentId/1" description: "Web URL to Attachment" readOnly: true created_date: type: "string" format: "date-time" description: "The date Attachment was created" author: $ref: "#/definitions/AttachmentAuthor" artifact_id: type: "integer" format: "int64" example: 1 description: "Artifact ID which Attachment linked to" readOnly: true AuthSystemResponse: type: "object" properties: ldaps: type: "array" items: $ref: "#/definitions/LdapConfigDetailResponse" sso: $ref: "#/definitions/SSOSamlConfigDetailResponse" tua: $ref: "#/definitions/TUAConfigDetailResponse" AuthorityVM: type: "object" properties: id: type: "integer" format: "int64" name: type: "string" displayName: type: "string" AutoFillConfigurationVM: type: "object" properties: externalFieldId: type: "string" example: "summary" qTestFieldIds: type: "string" example: "Assigned To" AutomationAgentResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" agent_server_id: type: "integer" format: "int64" name: type: "string" project_id: type: "integer" format: "int64" host_id: type: "integer" format: "int64" framework: type: "string" framework_id: type: "string" agent_id: type: "integer" format: "int64" active: type: "boolean" configuration: type: "string" AutomationAgentSearchResult: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" page_size: type: "integer" format: "int32" total: type: "integer" format: "int64" items: type: "array" items: $ref: "#/definitions/AutomationAgentResource" AutomationArtifactSearchParams: type: "object" properties: fields: type: "array" description: "fields: specify which object fields you want to include in the\ \ response. If you omit it or specify an asterisk (*), all fields are included" uniqueItems: true items: type: "string" example: "*" query: type: "string" example: "'name' ~ 'qTest'" description: "Represent text as Data Query" AutomationFailLinkedDefectResponse: type: "object" properties: pids: type: "array" description: "Failed linked defects" items: type: "string" example: "MTR-2" error: type: "string" example: "Could not find defect(s) in qTest Manager" description: "Error message" AutomationLinkedDefectResponse: type: "object" properties: success: type: "array" description: "Successfully linked defects" items: type: "string" example: "MTR-1" fail: type: "array" description: "Failed linked defects with reasons" items: $ref: "#/definitions/AutomationFailLinkedDefectResponse" AutomationObjectTree: type: "object" properties: artifactType: type: "string" enum: - "INVALID" - "ROOT" - "TEST_CASE" - "TEST_CYCLE" - "TEST_SUITE" - "TEST_CASE_RUN" - "RELEASE" targetReleaseId: type: "integer" format: "int64" targetBuildId: type: "integer" format: "int64" parent: $ref: "#/definitions/AutomationObjectTree" type: type: "string" example: "release" id: type: "integer" format: "int64" example: 1 name: type: "string" example: "Example release name" order: type: "integer" format: "int32" example: 1 children: type: "array" readOnly: true items: type: "string" example: "" AutomationRequest: type: "object" required: - "test_logs" properties: testSuiteModel: $ref: "#/definitions/TestSuite" parentModuleModel: $ref: "#/definitions/ProjectModule" parentTestCycleModel: $ref: "#/definitions/TestCycle" skipCreatingAutomationModule: type: "boolean" shouldCheckUnlinkRequirement: type: "boolean" test_suite: type: "string" example: "TS-1" description: "ID or PID of Test Suite" parent_module: type: "string" example: "MD-1" description: "ID or PID of Module" test_logs: type: "array" description: "Array of Test Log" items: $ref: "#/definitions/AutomationTestLogResource" execution_date: type: "string" format: "date-time" description: "Execution Date" test_cycle: type: "string" example: "TC-1" description: "ID or PID of Test Cycle" AutomationScheduleCreationAPI: type: "object" required: - "agentId" - "projectId" properties: clientId: type: "integer" format: "int64" name: type: "string" example: "Demo Suite Auto" description: "Name of schedule" agentId: type: "integer" format: "int64" example: 1 description: "ID of the agent which will execute your automation script" startDate: type: "string" format: "date-time" creator: type: "integer" format: "int64" projectId: type: "integer" format: "int64" example: 1 testRunIds: type: "array" description: "Arrays of Test Run ID" items: type: "integer" format: "int64" dynamic: type: "object" description: "Additions values" additionalProperties: type: "string" AutomationStepLog: type: "object" required: - "test_step_log_id" properties: test_step_log_id: type: "integer" format: "int64" actual_result: type: "string" status: type: "string" exe_date: type: "string" format: "date-time" description: "Execution date" attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" AutomationTestLog: type: "object" required: - "exe_end_date" - "exe_start_date" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" test_case_version_id: type: "integer" format: "int64" exe_start_date: type: "string" format: "date-time" exe_end_date: type: "string" format: "date-time" note: type: "string" attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 name: type: "string" planned_exe_time: type: "integer" format: "int64" minimum: 0 maximum: 9999999 actual_exe_time: type: "integer" format: "int64" build_number: type: "string" build_url: type: "string" properties: type: "array" items: $ref: "#/definitions/PropertyResource" status: type: "string" test_step_logs: type: "array" items: $ref: "#/definitions/AutomationStepLog" AutomationTestLogResource: type: "object" required: - "exe_end_date" - "exe_start_date" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 test_case_version_id: type: "integer" format: "int64" example: 1 description: "ID of the Test Case Version" exe_start_date: type: "string" format: "date-time" description: "Execution start date" exe_end_date: type: "string" format: "date-time" description: "Execution end date" note: type: "string" example: "Note" description: "Note" attachments: type: "array" description: "Test Log attachments" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 name: type: "string" example: "test run name" description: "Test Run's name" planned_exe_time: type: "integer" format: "int64" minimum: 0 maximum: 9999999 actual_exe_time: type: "integer" format: "int64" build_number: type: "string" example: "10" description: "Jenkins jobs build number" build_url: type: "string" example: "http://localhost:8080/jenkins" description: "Jenkins jobs build URL" properties: type: "array" items: $ref: "#/definitions/PropertyResource" automation_content: type: "string" example: "automation content" description: "Test Case's automation content" system_name: type: "string" status: type: "string" example: "PASSED" description: "Test Log status" order: type: "integer" format: "int64" test_step_logs: type: "array" description: "Arrays of Test Step Log" items: $ref: "#/definitions/AutomationTestStepLog" testcase_properties: type: "array" description: "Arrays of Test case Properties" items: $ref: "#/definitions/PropertyResource" module_names: type: "array" description: "Arrays of Modules" items: type: "string" agent_ids: type: "array" items: type: "integer" format: "int64" defect_pids: type: "array" description: "Defect pids" items: type: "string" example: "MTR-1,MTR-2" tosca_guid: type: "string" description: "GUID of Tosca test case." tosca_node_path: type: "string" description: "Node Path of Tosca test case." tosca_state: type: "string" AutomationTestLogResourceResponse: type: "object" required: - "exe_end_date" - "exe_start_date" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" test_case_version_id: type: "integer" format: "int64" exe_start_date: type: "string" format: "date-time" exe_end_date: type: "string" format: "date-time" note: type: "string" attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 name: type: "string" planned_exe_time: type: "integer" format: "int64" minimum: 0 maximum: 9999999 actual_exe_time: type: "integer" format: "int64" build_number: type: "string" build_url: type: "string" properties: type: "array" items: $ref: "#/definitions/PropertyResource" automation_content: type: "string" linkedDefects: $ref: "#/definitions/AutomationLinkedDefectResponse" system_name: type: "string" status: type: "string" order: type: "integer" format: "int64" test_step_logs: type: "array" items: $ref: "#/definitions/AutomationTestStepLog" testcase_properties: type: "array" items: $ref: "#/definitions/PropertyResource" module_names: type: "array" items: type: "string" agent_ids: type: "array" items: type: "integer" format: "int64" defect_pids: type: "array" description: "Defect pids" items: type: "string" example: "MTR-1,MTR-2" tosca_guid: type: "string" tosca_node_path: type: "string" tosca_state: type: "string" AutomationTestStepLog: type: "object" required: - "description" - "expected_result" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" description: type: "string" example: "description" description: "Test Step Log's description" expected_result: type: "string" example: "expected result" description: "Test Step Log's expected result" actual_result: type: "string" example: "actual result" description: "Test Step Log's actual result" customFieldInfo: type: "array" items: $ref: "#/definitions/CustomFieldInfo" order: type: "integer" format: "int32" example: 1 description: "Test Step Log's order" status: type: "string" example: "PASSED" description: "Test Step Log's status" attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 defect_pids: type: "array" description: "Defect Pids" items: type: "string" example: "MTR-1,MTR-2" exe_date: type: "string" format: "date-time" description: "Execution date" BuildPermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Build" edit: type: "boolean" example: true description: "Can edit Build" delete: type: "boolean" example: false description: "Can delete Build" view: type: "boolean" example: true description: "Can view Build" BuildResource: type: "object" required: - "properties" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the Build" name: type: "string" example: "Build 1" description: "Name of the Build" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 1 description: "Order in left tree of the Build" pid: type: "string" example: "BL-1" description: "PID of the Build" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" properties: type: "array" description: "Arrays property of the Build" items: $ref: "#/definitions/PropertyResource" release: $ref: "#/definitions/ReleaseWithCustomFieldResource" Client: type: "object" properties: id: type: "integer" format: "int64" name: type: "string" siteName: type: "string" maxFailedLoginAttempt: type: "integer" format: "int32" passwordShelfLife: type: "integer" format: "int32" passwordHealthyPeriod: type: "integer" format: "int32" minimumUniquePasswordsSequenceLength: type: "integer" format: "int32" licenseBlobId: type: "integer" format: "int64" sessionTimeoutEnabled: type: "boolean" sessionTimeoutMinute: type: "integer" format: "int32" terminateIdleEnabled: type: "boolean" terminateIdleMinute: type: "integer" format: "int32" dateFormat: type: "string" rememberMeTimeoutEnabled: type: "boolean" rememberMeTimeoutDay: type: "integer" format: "int32" mailRecipients: type: "string" useCustomPasswordPolicy: type: "boolean" minimumPasswordLength: type: "integer" format: "int32" passwordContainsCapitalLetters: type: "boolean" passwordContainsLowercaseLetters: type: "boolean" passwordContainsNumericChars: type: "boolean" passwordContainsSpecialChars: type: "boolean" searchStatus: type: "string" enum: - "ELASTICSEARCH" - "REINDEXING" - "ELASTICSEARCH_MIGRATED" searchMigrationDuration: type: "integer" format: "int64" trackingRequirementTestcaseVersionLink: type: "boolean" trackingConfigurationTestcaseVersionLink: type: "boolean" enableSiteAi: type: "boolean" enableAITestCaseGeneration: type: "boolean" executableFileEnabled: type: "boolean" inactive: type: "boolean" tdstenantId: type: "string" forExplorer: type: "boolean" forOnPremise: type: "boolean" CommentQueryParams: type: "object" required: - "object_type" properties: start: type: "string" format: "date-time" description: "StartDate with format: yyyy-MM-dd'T'HH:mm:ss.SSSZ or yyyy-MM-dd'T'HH:mm:ssZZ\"" end: type: "string" format: "date-time" description: "EndDate with format: yyyy-MM-dd'T'HH:mm:ss.SSSZ or yyyy-MM-dd'T'HH:mm:ssZZ\"" object_type: type: "string" example: "requirements" description: "Only support comments for object types: [requirements, defects,\ \ test-cases, test-runs]" fields: type: "array" description: "Specify which object fields you want to include in the response.\ \ If you omit it or specify an asterisk (*), all fields are included" uniqueItems: true items: type: "string" example: "*" object: type: "integer" format: "int64" description: "Id of the object from which you want to retrieve comments" author: type: "integer" format: "int64" example: 1 description: "Id of the user who made the comments" CommentResource: type: "object" properties: created: type: "string" format: "date-time" description: "Created date of Comment" updated: type: "string" format: "date-time" description: "Last updated date of Comment" userId: type: "integer" format: "int64" example: 5202 description: "ID of the User who create this Comment" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 2602608 description: "ID of the Comment" content: type: "string" example: "The comment's content" description: "Comment text" CustomFieldInfo: type: "object" properties: id: type: "integer" format: "int64" value: type: "string" objectId: type: "integer" format: "int64" type: type: "string" name: type: "string" stripHTMLValue: type: "string" propertyEditorComponent: type: "boolean" CustomFieldTemplate: type: "object" properties: id: type: "integer" format: "int64" clientId: type: "integer" format: "int64" name: type: "string" default: type: "boolean" CustomeResourceSupport: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" Defect: type: "object" properties: creatorId: type: "integer" format: "int64" createdDate: type: "string" format: "date-time" lastModifiedUserId: type: "integer" format: "int64" lastModifiedDate: type: "string" format: "date-time" displayName: type: "string" displayDescription: type: "string" id: type: "integer" format: "int64" pid: type: "integer" format: "int64" createdUserId: type: "integer" format: "int64" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" summary: type: "string" description: type: "string" typeId: type: "integer" format: "int64" type: $ref: "#/definitions/LookUp" assignedUserId: type: "integer" format: "int64" statusId: type: "integer" format: "int64" previousStatusId: type: "integer" format: "int64" severityId: type: "integer" format: "int64" priorityId: type: "integer" format: "int64" affectedReleaseId: type: "integer" format: "int64" affectedBuildId: type: "integer" format: "int64" fixedReleaseId: type: "integer" format: "int64" fixedBuildId: type: "integer" format: "int64" targetReleaseId: type: "integer" format: "int64" targetBuildId: type: "integer" format: "int64" targetDate: type: "string" format: "date-time" closedDate: type: "string" format: "date-time" reasonId: type: "integer" format: "int64" rootCauseId: type: "integer" format: "int64" categoryId: type: "integer" format: "int64" projectModuleId: type: "integer" format: "int64" sourceDefectId: type: "integer" format: "int64" environmentId: type: "integer" format: "int64" comments: type: "array" items: $ref: "#/definitions/DefectComment" status: $ref: "#/definitions/LookUp" draft: type: "boolean" indexFlag: type: "boolean" externalIssueId: type: "string" connectionId: type: "integer" format: "int64" externalProjectId: type: "string" externalIssueSummary: type: "string" externalIssueStatus: type: "string" url: type: "string" externalIssueType: type: "string" externalIssueUniqueId: type: "string" unlinkedDefect: type: "boolean" name: type: "string" objectType: type: "integer" format: "int64" deleted: type: "boolean" objOrder: type: "integer" format: "int64" fullId: type: "string" shortResultType: type: "string" parentArtifactId: type: "integer" format: "int64" parentObjectType: type: "integer" format: "int64" resultName: type: "string" resultType: type: "string" resultDescription: type: "string" affectedReleaseBuildId: type: "string" fixedReleaseBuildId: type: "string" targetReleaseBuildId: type: "string" artifactType: type: "integer" format: "int32" pidWithPrefix: type: "string" statusName: type: "string" autoTestCase: type: "boolean" tosca: type: "boolean" approved: type: "boolean" longId: type: "integer" format: "int64" automation: type: "boolean" customFieldValue: type: "string" createDateTimeString: type: "string" DefectComment: type: "object" properties: id: type: "integer" format: "int64" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" objectId: type: "integer" format: "int64" objectTypeId: type: "integer" format: "int64" userId: type: "integer" format: "int64" objectComment: type: "string" commentDate: type: "string" format: "date-time" editDate: type: "string" format: "date-time" defect: $ref: "#/definitions/Defect" longId: type: "integer" format: "int64" DefectFieldMapping: type: "object" properties: field: type: "string" example: "Priority" description: "External tracker Defect's field" qtest_fields: type: "array" description: "qTest Defect's field" items: type: "string" example: "101,102" DefectMapping: type: "object" properties: type_id: type: "integer" format: "int64" type: type: "string" type_label: type: "string" project_id: type: "integer" format: "int64" project: type: "string" project_label: type: "string" fields: type: "array" items: $ref: "#/definitions/DefectFieldMapping" DefectPermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Defect" edit: type: "boolean" example: true description: "Can edit Defect" delete: type: "boolean" view: type: "boolean" example: true description: "Can view Defect" export: type: "boolean" example: true description: "Can export Defect" DefectResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" properties: type: "array" description: "Properties of the Defect" items: $ref: "#/definitions/PropertyResource" attachments: type: "array" description: "Attachments of the Defect" items: $ref: "#/definitions/AttachmentResource" id: type: "integer" format: "int64" example: 1 description: "ID of the Defect" pid: type: "string" example: "DF-1" description: "PID of the Defect" submitted_date: type: "string" format: "date-time" description: "The date Defect was created" last_modified_date: type: "string" format: "date-time" description: "Last modified date" submitter_id: type: "integer" format: "int64" example: 1 description: "ID of the User who create the Defect" last_modified_user_id: type: "integer" format: "int64" example: 1 description: "Last ID of the User who updated the Defect" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/1/portal/project#tab=defects&object=17&id=1" description: "Web url to the Defect" readOnly: true DefectTrackingSystem: type: "object" properties: defect_mappings: type: "array" items: $ref: "#/definitions/DefectMapping" connection_name: type: "string" example: "Jira Cloud" description: "Name of Integration Connection" url: type: "string" example: "https://example.jira.com" description: "URL to Integration Connection" system_name: type: "string" example: "JIRA" description: "System name of Integration Connection" active: type: "boolean" example: true description: "Status of Integration Connection" id: type: "integer" format: "int64" example: 1 description: "ID of Integration Connection" ErrorMessage: type: "object" properties: message: type: "string" additionalInfo: type: "object" ExternalPropertyResource: type: "object" properties: id: type: "string" link: type: "string" unique_id: type: "string" FieldInputResource: type: "object" properties: label: type: "string" example: "Name" description: "Label of the Field Setting" required: type: "boolean" description: "Is required or not" order: type: "integer" format: "int32" description: "Display order" allowed_values: type: "array" description: "Allowed values" items: $ref: "#/definitions/AllowedValueResource" multiple: type: "boolean" description: "Is allowed multiple values" data_type: type: "integer" format: "int64" example: 1 description: "Data type of the Field" minimum: 1 searchable: type: "boolean" description: "Allowed full text search or not" default_value: type: "string" description: "Default value of the Field" is_active: type: "boolean" description: "Is active or disabled" FieldResource: type: "object" required: - "label" properties: instanceType: type: "string" example: "NumberDataType" description: "Number Data Type" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the Field" label: type: "string" example: "Name" description: "Label of the Field" required: type: "boolean" example: true description: "Is required or not" constrained: type: "boolean" description: "Constrained or not" order: type: "integer" format: "int32" example: 1 description: "Display order" allowed_values: type: "array" description: "Allowed values" items: $ref: "#/definitions/AllowedValueResource" multiple: type: "boolean" example: false description: "Is allowed multiple values" data_type: type: "integer" format: "int64" example: 1 description: "Data type of the Field" minimum: 1 searchable: type: "boolean" example: true description: "Allowed full text search or not" default_value: type: "string" description: "Default value of the Field" system_field: type: "boolean" example: true description: "Is system field or not" original_name: type: "string" example: "Name" description: "Original name of the Field" is_active: type: "boolean" example: true description: "Is active or disabled" FieldResourceSwagger: type: "object" required: - "label" properties: instanceType: type: "string" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" attribute_type: type: "string" label: type: "string" required: type: "boolean" constrained: type: "boolean" order: type: "integer" format: "int32" multiple: type: "boolean" data_type: type: "integer" format: "int64" minimum: 1 searchable: type: "boolean" free_text_search: type: "boolean" default_value: type: "string" system_field: type: "boolean" original_name: type: "string" is_active: type: "boolean" HistoryChange: type: "object" properties: field: type: "string" old_value: type: "string" new_value: type: "string" HistoryQueryParams: type: "object" required: - "object_type" properties: object_type: type: "string" example: "test-cases" fields: type: "array" uniqueItems: true items: type: "string" example: "*" query: type: "string" description: "Specify a structured query to retrieve history of objects specified\ \ in attribute object_query above\n\nOnly these 2 criteria are supported:\n\ \n created: it can be used for querying by updated date of the object. \n\ \nIts values need to be in ISO Date format. Applicable operator include:\ \ =, <>, <= and >= \n\nauthor:it can be used for querying by Id of the\ \ users who made the update. Applicable operators include: = and <>\n\n\ You can use operators and and or to combine an unlimited number of criteria\ \ above" object_query: type: "string" description: "Specify a structured query to search for qTest objects. Refer\ \ to attribute query in the request body of Query Objects API" HistoryResource: type: "object" properties: created: type: "string" format: "date-time" description: type: "string" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" author_id: type: "integer" format: "int64" linked_object: $ref: "#/definitions/LinkedObject" changes: type: "array" items: $ref: "#/definitions/HistoryChange" IntegrationAutoFillMappingVM: type: "object" properties: externalProjectId: type: "string" example: "10031" readOnly: true externalTypeId: type: "string" example: "10100" readOnly: true sendAttachmentToJira: type: "string" example: "true" configures: type: "array" items: $ref: "#/definitions/AutoFillConfigurationVM" IntegrationConnection: type: "object" properties: id: type: "integer" format: "int64" example: 1 external_system: type: "string" example: "Jira" connection_name: type: "string" example: "Jira Connection" server_url: type: "string" example: "https://example.atlassian.net" web_url: type: "string" example: "https://example.atlassian.net" authentication_type: type: "string" example: "Token" username: type: "string" example: "username" token: type: "string" example: "token" IntegrationConnectionVM: type: "object" properties: id: type: "integer" format: "int64" example: 1 external_system: type: "string" example: "Jira" connection_name: type: "string" example: "Jira Connection" server_url: type: "string" example: "https://example.atlassian.net" web_url: type: "string" example: "https://example.atlassian.net" active: type: "boolean" example: false IntegrationFieldMapVM: type: "object" properties: externalFieldId: type: "string" example: "id" externalFieldName: type: "string" example: "ID" active: type: "boolean" example: true IntegrationReleaseConfigurationVM: type: "object" properties: autoUpdate: type: "boolean" readOnly: true configurationValues: $ref: "#/definitions/IntegrationReleaseConfigurationValues" data_retrieval_options: type: "array" items: type: "string" example: "completed" auto_update_release_scope: type: "string" example: "true" IntegrationReleaseConfigurationValues: type: "object" properties: unreleased: type: "boolean" released: type: "boolean" active: type: "boolean" future: type: "boolean" completed: type: "boolean" IntegrationReleaseMappingResponse: type: "object" properties: externalProjectId: type: "string" example: "10031" externalIssueTypeId: type: "string" example: "Sprint" data_retrieval_options: type: "array" items: type: "string" example: "completed" auto_update_release_scope: type: "string" example: "true" readOnly: true LDAPUsersResponse: type: "object" properties: items: type: "array" items: $ref: "#/definitions/LdapUserVM" total: type: "integer" format: "int32" page_size: type: "integer" format: "int32" page: type: "integer" format: "int32" LatestTestLogResource: type: "object" properties: status: type: "string" id: type: "integer" format: "int64" tester: type: "string" exe_start_date: type: "string" format: "date-time" exe_end_date: type: "string" format: "date-time" LdapConfigDetailResponse: type: "object" properties: id: type: "integer" format: "int64" is_activated: type: "boolean" auth_type: type: "string" example: "LDAP" description: "Type of authentication system" enum: - "INTERNAL" - "LDAP" - "SSO_SAML2" - "TUA_OPENID" name: type: "string" username: type: "string" description: "Username of Ldap system" url: type: "string" description: "The url of Ldap system" base: type: "string" description: "Base of Ldap system" base_search: type: "string" description: "Base search of Ldap system" search_filter: type: "string" description: "Search filter of Ldap system" mapped_username: type: "string" description: "The mapped username field of Ldap system" mapped_firstname: type: "string" description: "The mapped firstname field of Ldap system" mapped_lastname: type: "string" description: "The mapped lastname field of Ldap system" mapped_email: type: "string" description: "The mapped email field of Ldap system" is_ldap_ssl: type: "boolean" example: true description: "Use SSL connect or not" is_active_directory: type: "boolean" example: false description: "Is active directory or not" LdapUserResource: type: "object" properties: ldap_username: type: "string" first_name: type: "string" last_name: type: "string" email: type: "string" LdapUserVM: type: "object" properties: uid: type: "string" firstName: type: "string" lastName: type: "string" mail: type: "string" activationLink: type: "string" mappedUserId: type: "integer" format: "int64" newMappedUserName: type: "string" disabled: type: "boolean" userDN: type: "string" externalUserId: type: "string" Link: type: "object" properties: rel: type: "string" example: "self" description: "Relationship of link to object" href: type: "string" example: "" description: "URL to the resource" LinkedArtifact: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "ID of linked artifact" pid: type: "string" example: "TC-1" description: "PID of linked artifact" link_type: type: "string" example: "is_covered_by" description: "Type of relationship between source and linked Artifact " self: type: "string" example: "https://apitryout.qtestnet.com/p/1/portal/project#tab=testdesign&object=1&id=1" description: "URL to linked artifact" LinkedArtifactContainer: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "ID of source artifact" pid: type: "string" example: "RQ-1" description: "PID of source artifact`" objects: type: "array" description: "Arrays of linked artifact" items: $ref: "#/definitions/LinkedArtifact" LinkedDefect: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "Defect id" pid: type: "string" example: "MTR-1" description: "Defect pid" link_type: type: "string" example: "is_associated_with" description: "Link type" external_defect_id: type: "string" example: "MTR-1" description: "External defect id" connection_id: type: "integer" format: "int64" example: 1 description: "Defect connection id" external_project_id: type: "string" example: "MTR" description: "External project id" summary: type: "string" example: "Defect summary 1" description: "Defect summary" status: type: "string" example: "New" description: "Defect status" LinkedDefectArtifactResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" pid: type: "string" submittedDate: type: "string" format: "date-time" lastModifiedDate: type: "string" format: "date-time" lastModifiedUserId: type: "integer" format: "int64" testCaseId: type: "integer" format: "int64" testCaseVersionId: type: "integer" format: "int64" title: type: "string" priority: type: "string" status: type: "string" submitterUserId: type: "integer" format: "int64" externalDefect: type: "object" additionalProperties: type: "object" LinkedDefectContainer: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "ID of source artifact" objects: type: "array" description: "Arrays of linked defect" items: $ref: "#/definitions/LinkedDefect" LinkedDefectResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of Defect" external_defect_id: type: "string" example: "EXP-1" description: "External ID of Defect" connection_id: type: "integer" format: "int64" example: 1 description: "ID of the external Integration Connection" external_project_id: type: "string" example: "EXP" description: "ID of external Project" summary: type: "string" example: "Defect summary" description: "Summary of external Defect" status: type: "string" example: "New" description: "Status of external Defect" pid: type: "string" example: "EXP-1" description: "PID of external Defect" web_url: type: "string" example: "https://example.com/EXP-1" description: "Web url to external Defect" readOnly: true description: type: "string" example: "Defect description" description: "Description of external Defect" LinkedObject: type: "object" properties: object_type: type: "string" object_id: type: "integer" format: "int64" LoggedUser: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the User" user_name: type: "string" example: "example.user@qtest.com" description: "Login email of the User" past_usernames: type: "string" first_name: type: "string" example: "User" description: "First name" last_name: type: "string" example: "Example" description: "Last name" client_id: type: "integer" format: "int64" example: 2 description: "ID of qTest site that User logged in" client_name: type: "string" example: "Example" description: "qTest instance client site name" client_site: type: "string" example: "https://apitryout.qtestnet.com" description: "URL of qTest instance" timezone_offset: type: "string" avatar: type: "string" example: "https://apitryout.qtestnet.com/api/v3/users/1/avatar" description: "URL to User's Avatar" access_admin_page: type: "boolean" example: true description: "Can access admin page or not" client_site_name: type: "string" example: "exmaple" description: "qTest instance sub domain name" package_type: type: "string" example: "Elite" description: "Package type" applications: type: "array" description: "List qTest products which User can access" items: $ref: "#/definitions/AppDetail" support_links: type: "object" description: "Arrays of Supports link" additionalProperties: type: "string" LookUp: type: "object" properties: id: type: "integer" format: "int64" lookupValue: type: "string" lookupTypeId: type: "integer" format: "int64" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" systemValue: type: "boolean" order: type: "integer" format: "int32" ManualTestLogResource: type: "object" required: - "exe_end_date" - "exe_start_date" - "status" properties: submittedBy: type: "string" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 test_case_version_id: type: "integer" format: "int64" example: 1 description: "ID of the Test Case Version" exe_start_date: type: "string" format: "date-time" description: "Execution start date" exe_end_date: type: "string" format: "date-time" description: "Execution end date" note: type: "string" example: "Note" description: "Note" attachments: type: "array" description: "Test Log attachments" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 name: type: "string" example: "test run name" description: "Test Run's name" planned_exe_time: type: "integer" format: "int64" minimum: 0 maximum: 9999999 actual_exe_time: type: "integer" format: "int64" build_number: type: "string" example: "10" description: "Jenkins jobs build number" build_url: type: "string" example: "http://localhost:8080/jenkins" description: "Jenkins jobs build URL" properties: type: "array" items: $ref: "#/definitions/PropertyResource" status: $ref: "#/definitions/StatusResource" result_number: type: "integer" format: "int64" test_step_logs: type: "array" description: "Arrays of Test Step Log, \n\nWith called test steps, the \"\ called_test_case_id\" and \"parent_test_step_id\" must be included in request\ \ body." items: $ref: "#/definitions/TestStepLogResource" defects: type: "array" description: "Array of Defect" items: $ref: "#/definitions/LinkedDefectResource" Message: type: "object" properties: noLogging: type: "boolean" message: type: "string" example: "Error message" description: "Error message text" readOnly: true ModulePermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Module" edit: type: "boolean" example: true description: "Can edit Module" delete: type: "boolean" example: true description: "Can delete Module" view: type: "boolean" example: true description: "Can view Module" ModuleResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 2107619 description: "ID of the Module" name: type: "string" example: "MD-2 Homepage" description: "Name of the Module" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 9 description: "Display order of the Module" pid: type: "string" example: "MD-8" description: "PID of the Module" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" parent_id: type: "integer" format: "int64" example: 2107628 description: "Parent Module of the Module" description: type: "string" example: "Description of Module 1" description: "Description of the Module" shared: type: "boolean" example: false description: "Is shared or not" projects_shared_to: type: "array" items: type: "integer" format: "int64" children: type: "array" description: "Arrays of child module" items: $ref: "#/definitions/ModuleResource" recursive: type: "boolean" tosca_guid: type: "string" description: "Tosca folder GUID. Use for creating Module and link with Tosca\ \ folder." tosca_node_path: type: "string" description: "Tosca folder node path. Use for creating Module and link with\ \ Tosca folder." tosca_state: type: "string" NewIntegrationConnectionInfo: type: "object" properties: connection_id: type: "integer" format: "int64" example: 1 readOnly: true status: type: "string" example: "false" readOnly: true OAuthResponse: type: "object" properties: access_token: type: "string" example: "19e28687-0e67-41e8-a9b4-849ca7ea1741" description: "OAuth access token" token_type: type: "string" example: "bearer" description: "OAuth token type" refresh_token: type: "string" example: "913aac60-039e-4f79-a890-fa804a8a6e9f" description: "OAuth refresh token" scope: type: "string" example: "read import administration create share baseline write delete execute\ \ export" description: "Scope of token" agent: type: "string" description: "Agent name like browser agent" expires_in: type: "integer" format: "int64" example: 300 description: "Access token expire time in second" OAuthTokenStatusVM: type: "object" properties: expiration: type: "integer" format: "int64" validityInMilliseconds: type: "integer" format: "int64" OutputStream: type: "object" PagedResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" example: 1 description: "Current page" page_size: type: "integer" format: "int32" example: 25 description: "Current page size" total: type: "integer" format: "int64" example: 100 description: "Total record found" items: type: "array" description: "Data of records" items: $ref: "#/definitions/RepresentationModel" PagedResourceAttachmentResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" page_size: type: "integer" format: "int32" total: type: "integer" format: "int64" items: type: "array" items: $ref: "#/definitions/AttachmentResource" PagedResourceCommentResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" example: 1 description: "Current page" page_size: type: "integer" format: "int32" example: 25 description: "Current page size" total: type: "integer" format: "int64" example: 100 description: "Total record found" items: type: "array" description: "Data of records" items: $ref: "#/definitions/CommentResource" ParameterInfo: type: "object" properties: parameter: $ref: "#/definitions/ParameterVM" info: $ref: "#/definitions/TestParameter" parameterValue: $ref: "#/definitions/ParameterValueVM" ParameterTestStepResource: type: "object" properties: step_id: type: "integer" format: "int64" description_parameter_values: type: "array" items: type: "string" expected_parameter_values: type: "array" items: type: "string" ParameterVM: type: "object" properties: parameterId: type: "integer" format: "int64" id: type: "string" startIndex: type: "integer" format: "int32" endIndex: type: "integer" format: "int32" startWithoutPrefixIndex: type: "integer" format: "int32" endWithoutSuffixIndex: type: "integer" format: "int32" parameterName: type: "string" ParameterValueVM: type: "object" properties: id: type: "string" value: type: "string" ParameterizationText: type: "object" properties: parameters: type: "array" items: $ref: "#/definitions/ParameterInfo" rawText: type: "string" htmlText: type: "string" plainText: type: "string" valueText: type: "string" editedParameters: type: "array" items: $ref: "#/definitions/ParameterInfo" plainValueText: type: "string" Profile: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "ID of Profile" name: type: "string" example: "Project Manager" description: "Name of Profile" Project: type: "object" properties: creatorId: type: "integer" format: "int64" createdDate: type: "string" format: "date-time" lastModifiedUserId: type: "integer" format: "int64" lastModifiedDate: type: "string" format: "date-time" id: type: "integer" format: "int64" clientId: type: "integer" format: "int64" name: type: "string" startDate: type: "string" format: "date-time" endDate: type: "string" format: "date-time" description: type: "string" projectStatusId: type: "integer" format: "int64" patchIncidentStatus: type: "integer" format: "int32" automation: type: "boolean" defectworkflow: type: "boolean" uuid: type: "string" cloneStatus: type: "integer" format: "int32" sourceProjectId: type: "integer" format: "int64" client: $ref: "#/definitions/Client" trxId: type: "string" format: "date-time" customFieldTemplateId: type: "integer" format: "int64" internally: type: "boolean" customFieldTemplate: $ref: "#/definitions/CustomFieldTemplate" indexingStatus: type: "boolean" autoPopulateClosedDate: type: "boolean" active: type: "boolean" cloneCanceled: type: "boolean" newStyleSample: type: "boolean" cloning: type: "boolean" cloned: type: "boolean" patchedIncidents: type: "boolean" sampleProject: type: "boolean" longId: type: "integer" format: "int64" createDateTimeString: type: "string" ProjectAdminPermission: type: "object" properties: admin: type: "boolean" example: true description: "Is project admin or not" ProjectModule: type: "object" properties: creatorId: type: "integer" format: "int64" createdDate: type: "string" format: "date-time" lastModifiedUserId: type: "integer" format: "int64" lastModifiedDate: type: "string" format: "date-time" id: type: "integer" format: "int64" pid: type: "integer" format: "int64" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" project: $ref: "#/definitions/Project" objOrder: type: "integer" format: "int64" parentModuleId: type: "integer" format: "int64" parentModule: $ref: "#/definitions/ProjectModule" name: type: "string" description: type: "string" moduleType: type: "string" format: "byte" deleted: type: "boolean" shared: type: "boolean" damage: type: "integer" format: "int64" frequency: type: "integer" format: "int64" weight: type: "integer" format: "int64" tdsFlowId: type: "string" subModules: type: "array" items: $ref: "#/definitions/ProjectModule" objectType: type: "integer" format: "int64" statusId: type: "integer" format: "int64" parentArtifactId: type: "integer" format: "int64" parentObjectType: type: "integer" format: "int64" artifactType: type: "integer" format: "int32" longId: type: "integer" format: "int64" pidWithPrefix: type: "string" createDateTimeString: type: "string" ProjectQueryParams: type: "object" properties: uuid: type: "array" description: "UUID of the Project" items: type: "string" ProjectResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the Project" name: type: "string" example: "qConnect Sample Project" description: "Name of the Project" description: type: "string" example: "Description of qConnect Sample Project" description: "Description of the Project" status_id: type: "integer" format: "int64" example: 101 description: "Status of the Project" start_date: type: "string" format: "date-time" description: "Start date of the Project" end_date: type: "string" format: "date-time" description: "End date of the Project" admins: type: "array" description: "Arrays of admin user" items: type: "string" admin_ids: type: "array" items: type: "integer" format: "int64" sample: type: "boolean" example: true description: "Is sample or not" user_profile: $ref: "#/definitions/UserProfile" defect_tracking_systems: type: "array" description: "Arrays of External Defect Tracking Connection" items: $ref: "#/definitions/DefectTrackingSystem" x_explorer_access_level: type: "integer" format: "int32" example: 7 description: "Can access Explorer" date_format: type: "string" example: "yyyy/MM/dd" description: "Client date time format" automation: type: "boolean" example: false description: "Automation enabled or not" readOnly: true template_id: type: "integer" format: "int64" example: 1 description: "Template id of this project" uuid: type: "string" example: "uuid" description: "UUID of the Project" ProjectSettingPermission: type: "object" properties: manage: type: "boolean" example: true description: "Can manage project setting or not" ProjectUpdateResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" name: type: "string" example: "qConnect Sample Project" description: "Name of the Project" description: type: "string" example: "Description of qConnect Sample Project" description: "Description of the Project" start_date: type: "string" example: "2019-06-17T05:09:13.178Z" description: "Start date of the Project" end_date: type: "string" example: "2019-06-27T05:09:13.178Z" description: "End date of the Project" admin_ids: type: "array" description: "Array of Assigned Admin user id" items: type: "integer" format: "int64" uuid: type: "string" example: "uuid" description: "UUID of the Project" template_id: type: "integer" format: "int64" example: 1 description: "Template id of this project" ProjectUsersProfile: type: "object" properties: userProfileId: type: "integer" format: "int64" example: 2 description: "ID of user profile" userIds: type: "array" description: "Array User ID" items: type: "integer" format: "int64" example: 1 ProjectWithUserIdsObject: type: "object" properties: project_id: type: "integer" format: "int64" description: "ID of the Project" user_ids: type: "array" description: "Array User ID" uniqueItems: true items: type: "integer" format: "int64" PropertyResource: type: "object" required: - "field_id" properties: field_id: type: "integer" format: "int64" example: 1 description: "ID of Field" field_name: type: "string" example: "Field Name" description: "Name of Field" field_value: type: "string" example: "1" description: "Value of Field" field_value_name: type: "string" example: "1" description: "Name Value of Field" QueryCommentResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" example: 1 description: "Current page" page_size: type: "integer" format: "int32" example: 25 description: "Current page size" total: type: "integer" format: "int64" example: 100 description: "Total record found" items: type: "array" description: "Data of records" items: $ref: "#/definitions/CommentResource" QueueProcessingResponse: type: "object" properties: id: type: "integer" format: "int64" example: 1 description: "ID of task after batch submit automation test logs" state: type: "string" example: "IN_PROCESSING" description: "State of task after batch submit automation test logs" contentType: type: "string" example: "application/json" description: "Content type of task after batch submit automation test logs" content: type: "string" description: "Data of task after batch submit automation test logs" type: type: "string" example: "AUTOMATION_TEST_LOG" description: "Type of task after batch submit automation test logs" QueueProcessingResponseFetchDataVM: type: "object" properties: id: type: "integer" format: "int64" example: 1 type: type: "string" example: "FETCH_LINKED_DEFECTS" state: type: "string" example: "IN_PROCESSING" contentType: type: "string" example: "application/json" content: type: "string" QueueProcessingResponseTestRunDataVM: type: "object" properties: id: type: "integer" format: "int64" example: 1 type: type: "string" example: "CREATE_TEST_RUN_WITH_PARAMETER" state: type: "string" example: "IN_PROCESSING" contentType: type: "string" example: "application/json" content: type: "string" ReleasePermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Release" edit: type: "boolean" example: true description: "Can edit Release" delete: type: "boolean" example: true description: "Can delete Release" view: type: "boolean" example: true description: "Can view Release" ReleaseWithCustomFieldResource: type: "object" required: - "properties" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 149652 name: type: "string" example: "Release 2" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 2 pid: type: "string" example: "RL-2" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" properties: type: "array" items: $ref: "#/definitions/PropertyResource" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/39047/portal/project#tab=testplan&object=8&id=149652" readOnly: true description: type: "string" example: "This is the second release" note: type: "string" example: "Note of the Release" start_date: type: "string" format: "date-time" end_date: type: "string" format: "date-time" RepresentationModel: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" RequirementMapping: type: "object" properties: externalProjectId: type: "string" example: "10031" readOnly: true externalTypeId: type: "string" example: "10100" readOnly: true mapping_id: type: "integer" format: "int64" example: 1 readOnly: true external_filter: type: "string" example: "10048" external_field_1_id: type: "string" example: "id" external_field_2_id: type: "string" example: "project" active_external_fields: type: "string" example: "id,status,summary,description" RequirementPermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Requirement" edit: type: "boolean" example: true description: "Can edit Requirement" delete: type: "boolean" example: true description: "Can delete Requirement" view: type: "boolean" example: true description: "Can view Requirement" edit_assignment: type: "boolean" example: true description: "Can assign user to Requirement" export: type: "boolean" example: true description: "Can export Requirement" import: type: "boolean" example: true description: "Can import Requirement" RequirementResource: type: "object" required: - "properties" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 4171806 name: type: "string" example: "Video sections" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 1 pid: type: "string" example: "RQ-5" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" properties: type: "array" items: $ref: "#/definitions/PropertyResource" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/39047/portal/project#tab=requirements&object=5&id=4171806" readOnly: true parent_id: type: "integer" format: "int64" example: 2107628 external_properties: readOnly: true $ref: "#/definitions/ExternalPropertyResource" ResponseWrapper: type: "object" properties: result: type: "object" errors: type: "array" items: $ref: "#/definitions/ErrorMessage" SSOSamlConfigDetailResponse: type: "object" properties: id: type: "integer" format: "int64" is_activated: type: "boolean" auth_type: type: "string" example: "SSO_SAML2" description: "Type of authentication system" enum: - "INTERNAL" - "LDAP" - "SSO_SAML2" - "TUA_OPENID" name: type: "string" metadata_link: type: "string" description: "Metadata link of SSO system" auto_create_user: type: "boolean" description: "Auto create user or not" metadata_filename: type: "string" SchedulePermission: type: "object" properties: create: type: "boolean" example: true description: "Can create schedule" edit: type: "boolean" example: true description: "Can edit schedule" delete: type: "boolean" example: true description: "Can delete schedule" view: type: "boolean" example: true description: "Can views= schedule" SearchUserResource: type: "object" properties: links: type: "array" description: "Link to resource" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the User" username: type: "string" example: "example.user@qtest.com" description: "Login username of the User" email: type: "string" example: "example.user@qtest.com" description: "Contact email of the User" password: type: "string" first_name: type: "string" example: "Example" description: "First name of the User" last_name: type: "string" example: "Example" description: "Last name of the User" status: type: "integer" format: "int32" example: 0 description: "Status of the User" avatar: type: "string" example: "https://apitryout.qtestnet.com/api/v3/users/1/avatar" description: "Avatar URL of the User" ldap_username: type: "string" description: "LDAP username" user_group_ids: type: "array" items: type: "integer" format: "int64" external_auth_config_id: type: "integer" format: "int64" external_user_name: type: "string" assigned_projects: type: "array" description: "Arrays of Project that user assigned to" items: type: "integer" format: "int64" example: 1 SearchUserResourceExtensionResponse: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" example: 1 description: "Current page number" page_size: type: "integer" format: "int32" example: 25 description: "Current page size number" total: type: "integer" format: "int64" example: 100 description: "Total user found" items: type: "array" description: "Arrays of User" items: $ref: "#/definitions/UserResourceExtension" SearchUserResponse: type: "object" properties: links: type: "array" description: "Link to resource" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" example: 1 description: "Current page number" page_size: type: "integer" format: "int32" example: 25 description: "Current page size number" total: type: "integer" format: "int64" example: 100 description: "Total user found" items: type: "array" description: "Arrays of User" items: $ref: "#/definitions/SearchUserResource" total_project: type: "integer" format: "int64" example: 10 description: "Total Project found" SessionManagerPermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Session" edit: type: "boolean" example: true description: "Can edit Session" delete: type: "boolean" example: true description: "Can delete Session" view: type: "boolean" example: true description: "Can view Session" ShortTestLogResource: type: "object" properties: status: type: "string" id: type: "integer" format: "int64" exe_start_date: type: "string" format: "date-time" exe_end_date: type: "string" format: "date-time" SiteTemplateResponse: type: "object" properties: name: type: "string" template_id: type: "integer" format: "int64" SiteUsersProfile: type: "object" properties: userProfileId: type: "integer" format: "int64" example: 2 description: "ID of user profile" userIds: type: "array" description: "Array User ID" items: type: "integer" format: "int64" example: 1 StatusResource: type: "object" properties: links: type: "array" description: "Link to resource" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 601 description: "ID of Test Run's status" name: type: "string" example: "Passed" description: "Name of Test Run's status" is_default: type: "boolean" example: false description: "Is default or not" color: type: "string" example: "#0cdda8" description: "Color of Test Run's status" active: type: "boolean" example: true description: "Active or not" TUAConfigDetailResponse: type: "object" properties: url: type: "string" id: type: "integer" format: "int64" is_activated: type: "boolean" auth_type: type: "string" enum: - "INTERNAL" - "LDAP" - "SSO_SAML2" - "TUA_OPENID" name: type: "string" TestCaseNoCustomFieldResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" name: type: "string" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" pid: type: "string" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" web_url: type: "string" readOnly: true attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 parent_id: type: "integer" format: "int64" test_case_version_id: type: "integer" format: "int64" version: type: "string" description: type: "string" precondition: type: "string" approved: type: "boolean" creator_id: type: "integer" format: "int64" agent_ids: type: "array" items: type: "integer" format: "int64" test_steps: type: "array" items: $ref: "#/definitions/TestStepNoCustomFieldResource" TestCasePermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Test Case" edit: type: "boolean" example: true description: "Can edit Test Case" delete: type: "boolean" example: true description: "Can delete Test Case" view: type: "boolean" example: true description: "Can view Test Case" edit_assignment: type: "boolean" example: true description: "Can assign Test Case" export: type: "boolean" example: true description: "Can export Test Case" import: type: "boolean" example: true description: "Can import Test Case" approve: type: "boolean" example: true description: "Can approve Test Case" TestCaseResultDefect: type: "object" properties: id: type: "integer" format: "int64" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" resultId: type: "integer" format: "int64" defectId: type: "integer" format: "int64" externalIssueId: type: "string" externalIssueUniqueId: type: "string" externalIssueStatus: type: "string" externalIssueResolution: type: "string" externalIssueType: type: "string" externalIssueSummary: type: "string" externalIssueUrl: type: "string" integrationConnectionId: type: "integer" format: "int64" externalProjectId: type: "string" resultType: type: "integer" format: "int64" defect: $ref: "#/definitions/Defect" testCaseId: type: "integer" format: "int64" testCaseRunId: type: "integer" format: "int64" testCaseVersionId: type: "integer" format: "int64" deleted: type: "boolean" name: type: "string" objectType: type: "integer" format: "int64" statusId: type: "integer" format: "int64" objOrder: type: "integer" format: "int64" parentArtifactId: type: "integer" format: "int64" parentObjectType: type: "integer" format: "int64" pid: type: "integer" format: "int64" artifactType: type: "integer" format: "int32" longId: type: "integer" format: "int64" internalDefect: type: "boolean" pidWithPrefix: type: "string" TestCaseWithCustomFieldResource: type: "object" required: - "properties" properties: links: type: "array" description: "Link to resource" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the Test Case" name: type: "string" example: "Test Case 1" description: "Name of the Test Case" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 1 description: "Display order of the Test Case" pid: type: "string" example: "TC-1" description: "PID of the Test Case" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" properties: type: "array" description: "Fields value of the Test Case" items: $ref: "#/definitions/PropertyResource" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/1/portal/project#tab=testdesign&object=1&id=1" description: "Web URL of the Test Case" readOnly: true attachments: type: "array" description: "Arrays of Attachment of the Test Case" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 parent_id: type: "integer" format: "int64" example: 2107628 description: "Module ID of the Test Case" test_case_version_id: type: "integer" format: "int64" example: 11 description: "ID of Test Case Version" version: type: "string" description: "Test Case Version of the Test Case" description: type: "string" example: "Description of test case 1" description: "Description of the Test Case" precondition: type: "string" example: "Precondition of test case 1" description: "Precondition of the Test Case" creator_id: type: "integer" format: "int64" example: 1 description: "ID of the User who create the Test Case" agent_ids: type: "array" items: type: "integer" format: "int64" test_steps: type: "array" description: "Arrays of Test Step of the Test Case" items: $ref: "#/definitions/TestStepResource" tosca_guid: type: "string" description: "GUID of Tosca test case." tosca_node_path: type: "string" description: "Node Path of Tosca test case." tosca_url: type: "string" tosca_test_case_unique_id: type: "string" tosca_state: type: "string" tosca_workspace_url: type: "string" last_modified_date_utc: type: "string" TestCaseWithParameterResource: type: "object" required: - "id" properties: test_case_version_id: type: "integer" format: "int64" id: type: "integer" format: "int64" TestConfigurationPermission: type: "object" properties: create: type: "boolean" edit: type: "boolean" delete: type: "boolean" view: type: "boolean" link_unlink: type: "boolean" TestConfigurationVariablesPermission: type: "object" properties: create: type: "boolean" edit: type: "boolean" delete: type: "boolean" view: type: "boolean" TestCycle: type: "object" properties: creatorId: type: "integer" format: "int64" createdDate: type: "string" format: "date-time" lastModifiedUserId: type: "integer" format: "int64" lastModifiedDate: type: "string" format: "date-time" id: type: "integer" format: "int64" pid: type: "integer" format: "int64" parentTestCycleId: type: "integer" format: "int64" objOrder: type: "integer" format: "int64" name: type: "string" clientId: type: "integer" format: "int64" testCycleType: type: "integer" format: "int32" releaseId: type: "integer" format: "int64" buildId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" deleted: type: "boolean" description: type: "string" startDate: type: "string" format: "date-time" endDate: type: "string" format: "date-time" subCycles: type: "array" items: $ref: "#/definitions/TestCycle" toscaUniqueId: type: "string" toscaNodePath: type: "string" toscaObjectType: type: "string" toscaUrl: type: "string" toscaRootEventId: type: "string" deletedToscaObjectType: type: "string" objectType: type: "integer" format: "int64" statusId: type: "integer" format: "int64" parentArtifactId: type: "integer" format: "int64" parentObjectType: type: "integer" format: "int64" toscaKey: type: "string" artifactType: type: "integer" format: "int32" longId: type: "integer" format: "int64" pidWithPrefix: type: "string" createDateTimeString: type: "string" TestCyclePermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Test Cycle" edit: type: "boolean" example: true description: "Can edit Test Cycle" delete: type: "boolean" example: true description: "Can edit Test Cycle" view: type: "boolean" example: true description: "Can view Test Cycle" TestCycleResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 462378 name: type: "string" example: "Cycle 2.2" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 3 pid: type: "string" example: "CL-3" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/39047/portal/project#tab=testexecution&object=4&id=462378" readOnly: true description: type: "string" example: "The second Cycle under Release 2" target_release_id: type: "integer" format: "int64" example: 149652 target_build_id: type: "integer" format: "int64" test-cycles: type: "array" items: $ref: "#/definitions/TestCycleResource" test-suites: type: "array" readOnly: true items: $ref: "#/definitions/TestSuiteWithCustomFieldResource" TestLogListResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" page_size: type: "integer" format: "int32" total: type: "integer" format: "int64" items: type: "array" items: $ref: "#/definitions/TestLogResource" TestLogResource: type: "object" required: - "exe_end_date" - "exe_start_date" - "status" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1111 test_case_version_id: type: "integer" format: "int64" example: 123 exe_start_date: type: "string" format: "date-time" exe_end_date: type: "string" format: "date-time" note: type: "string" example: "Test Log note" attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 name: type: "string" example: "Name of the Test Run" planned_exe_time: type: "integer" format: "int64" minimum: 0 maximum: 9999999 actual_exe_time: type: "integer" format: "int64" build_number: type: "string" example: "11" build_url: type: "string" example: "http://localhost:8080/jenkins" properties: type: "array" items: $ref: "#/definitions/PropertyResource" status: $ref: "#/definitions/StatusResource" result_number: type: "integer" format: "int64" example: 1 test_step_logs: type: "array" items: $ref: "#/definitions/TestStepLogResource" test_run_id: type: "integer" format: "int64" test_case: $ref: "#/definitions/TestCaseWithCustomFieldResource" defects: type: "array" items: $ref: "#/definitions/LinkedDefectResource" TestParameter: type: "object" properties: id: type: "string" name: type: "string" active: type: "boolean" deleted: type: "boolean" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" TestRunListResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" page: type: "integer" format: "int32" page_size: type: "integer" format: "int32" total: type: "integer" format: "int64" items: type: "array" items: $ref: "#/definitions/TestRunWithCustomFieldResource" TestRunNoCustomFieldResource: type: "object" required: - "test_case" properties: parentId: type: "integer" format: "int64" parentType: type: "string" enum: - "root" - "release" - "test-cycle" - "test-suite" automation: type: "string" created: type: "string" format: "date-time" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" name: type: "string" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" pid: type: "string" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" executionType: type: "string" env: type: "string" status: type: "string" test_case: $ref: "#/definitions/TestCaseNoCustomFieldResource" latest_test_log: $ref: "#/definitions/LatestTestLogResource" test_case_version_id: type: "integer" format: "int64" test_case_version: type: "string" creator_id: type: "integer" format: "int64" TestRunPermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Test Run" edit: type: "boolean" example: true description: "Can edit Test Run" delete: type: "boolean" example: true description: "Can delete Test Run" view: type: "boolean" example: true description: "Can view Test Run" execute: type: "boolean" example: true description: "Can execute Test Run" export: type: "boolean" example: true description: "Can export Test Run" edit_assignment: type: "boolean" example: true description: "Can assign user to Test Run" modify_test_logs_by_self: type: "boolean" modify_test_logs_by_others: type: "boolean" TestRunWithCustomFieldResource: type: "object" required: - "properties" - "test_case" properties: parentId: type: "integer" format: "int64" example: 843974 parentType: type: "string" example: "test-suite" enum: - "root" - "release" - "test-cycle" - "test-suite" automation: type: "string" created: type: "string" format: "date-time" testCaseId: type: "integer" format: "int64" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 11595056 name: type: "string" example: "What's New section" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 2 pid: type: "string" example: "TR-2" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" properties: type: "array" items: $ref: "#/definitions/PropertyResource" test_case: $ref: "#/definitions/TestCaseWithCustomFieldResource" latest_test_log: $ref: "#/definitions/ShortTestLogResource" test_case_version_id: type: "integer" format: "int64" example: 13765789 test_case_version: type: "string" creator_id: type: "integer" format: "int64" example: 5202 assign_parameter_values: type: "array" items: $ref: "#/definitions/ParameterTestStepResource" tosca_guid: type: "string" tosca_node_path: type: "string" tosca_workspace_url: type: "string" tosca_testevent_guid: type: "string" configuration_id: type: "string" format: "uuid" TestRunWithParameterCreateByDatasetResource: type: "object" required: - "test_case" properties: name: type: "string" properties: type: "array" items: $ref: "#/definitions/PropertyResource" test_case: $ref: "#/definitions/TestCaseWithParameterResource" dataset_id: type: "string" from_row: type: "integer" format: "int64" number_of_rows: type: "integer" format: "int64" TestRunWithParameterCreateManualResource: type: "object" required: - "test_case" - "test_runs" properties: name: type: "string" properties: type: "array" items: $ref: "#/definitions/PropertyResource" test_case: $ref: "#/definitions/TestCaseWithParameterResource" test_runs: type: "array" items: type: "array" items: $ref: "#/definitions/TestStepWithParameterResource" TestRunWithParameterCreateRandomResource: type: "object" required: - "combined_type" - "test_case" properties: name: type: "string" properties: type: "array" items: $ref: "#/definitions/PropertyResource" test_case: $ref: "#/definitions/TestCaseWithParameterResource" combined_type: type: "integer" format: "int32" number_of_combinations: type: "integer" format: "int32" TestStepInformationVM: type: "object" properties: description: type: "string" descriptionInfo: $ref: "#/definitions/ParameterizationText" expectedResult: type: "string" actualResult: type: "string" expectedResultInfo: $ref: "#/definitions/ParameterizationText" customFieldInfo: type: "array" items: $ref: "#/definitions/CustomFieldInfo" TestStepLogResource: type: "object" properties: customFieldInfo: type: "array" items: $ref: "#/definitions/CustomFieldInfo" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" test_step_id: type: "integer" format: "int64" example: 11 test_step_log_id: type: "integer" format: "int64" user_id: type: "integer" format: "int64" example: 5202 status: $ref: "#/definitions/StatusResource" description: type: "string" expected_result: type: "string" actual_result: type: "string" example: "Actual result is failed" called_test_case_id: type: "integer" format: "int64" called_test_case_name: type: "string" order: type: "integer" format: "int32" example: 1 group: type: "integer" format: "int32" test_step: $ref: "#/definitions/TestStepResource" defects: type: "array" items: $ref: "#/definitions/LinkedDefectResource" called_test_case_log: $ref: "#/definitions/TestLogResource" parent_test_step_id: type: "integer" format: "int64" exe_date: type: "string" format: "date-time" description: "Execution date" attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" TestStepNoCustomFieldResource: type: "object" required: - "description" - "expected" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" description: type: "string" expected: type: "string" order: type: "integer" format: "int32" minimum: 1 attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 group: type: "integer" format: "int32" called_test_case_name: type: "string" root_called_test_case_id: type: "integer" format: "int64" called_test_case: $ref: "#/definitions/TestCaseNoCustomFieldResource" parent_test_step_id: type: "integer" format: "int64" information: $ref: "#/definitions/TestStepInformationVM" plain_value_text: type: "string" parameter_values: type: "array" items: type: "string" called_test_case_id: type: "integer" format: "int64" TestStepResource: type: "object" required: - "description" - "expected" properties: customFieldInfo: type: "array" items: $ref: "#/definitions/CustomFieldInfo" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 111 description: type: "string" example: "Test Step description" expected: type: "string" example: "Test step expected result" order: type: "integer" format: "int32" example: 1 minimum: 1 attachments: type: "array" items: $ref: "#/definitions/AttachmentResource" maxItems: 2147483647 minItems: 0 group: type: "integer" format: "int32" called_test_case_name: type: "string" root_called_test_case_id: type: "integer" format: "int64" called_test_case: $ref: "#/definitions/TestCaseWithCustomFieldResource" parent_test_step_id: type: "integer" format: "int64" information: $ref: "#/definitions/TestStepInformationVM" plain_value_text: type: "string" parameter_values: type: "array" items: type: "string" called_test_case_id: type: "integer" format: "int64" TestStepWithParameterResource: type: "object" required: - "step_id" properties: step_id: type: "integer" format: "int64" description_parameter_values: type: "array" items: type: "string" expected_parameter_values: type: "array" items: type: "string" TestSuite: type: "object" properties: creatorId: type: "integer" format: "int64" createdDate: type: "string" format: "date-time" lastModifiedUserId: type: "integer" format: "int64" lastModifiedDate: type: "string" format: "date-time" displayName: type: "string" displayDescription: type: "string" id: type: "integer" format: "int64" pid: type: "integer" format: "int64" clientId: type: "integer" format: "int64" projectId: type: "integer" format: "int64" objOrder: type: "integer" format: "int64" name: type: "string" testDataSetId: type: "integer" format: "int64" userId: type: "integer" format: "int64" testBedId: type: "integer" format: "int64" projectTestTypeId: type: "integer" format: "int64" plannedStartDate: type: "string" format: "date-time" plannedEndDate: type: "string" format: "date-time" description: type: "string" releaseId: type: "integer" format: "int64" buildId: type: "integer" format: "int64" testCycleId: type: "integer" format: "int64" testCycle: $ref: "#/definitions/TestCycle" deleted: type: "boolean" lastConfigOperation: type: "string" enum: - "LINK" - "UNLINK" lastModifiedDateConfigs: type: "string" format: "date-time" typeName: type: "string" objectType: type: "integer" format: "int64" statusId: type: "integer" format: "int64" fullId: type: "string" shortResultType: type: "string" parentArtifactId: type: "integer" format: "int64" parentObjectType: type: "integer" format: "int64" resultName: type: "string" resultType: type: "string" resultDescription: type: "string" artifactType: type: "integer" format: "int32" pidWithPrefix: type: "string" autoTestCase: type: "boolean" tosca: type: "boolean" approved: type: "boolean" longId: type: "integer" format: "int64" automation: type: "boolean" customFieldValue: type: "string" createDateTimeString: type: "string" TestSuitePermission: type: "object" properties: create: type: "boolean" example: true description: "Can create Test Suite" edit: type: "boolean" example: true description: "Can edit Test Suite" delete: type: "boolean" example: true description: "Can delete Test Suite" view: type: "boolean" example: true description: "Can view Test Suite" TestSuiteWithCustomFieldResource: type: "object" required: - "properties" properties: parentId: type: "integer" format: "int64" example: 462378 parentType: type: "string" example: "test-cycle" enum: - "root" - "release" - "test-cycle" links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 843971 name: type: "string" example: "Functional test suite 2" minLength: 1 maxLength: 500 order: type: "integer" format: "int32" example: 0 pid: type: "string" example: "TS-3" created_date: type: "string" format: "date-time" last_modified_date: type: "string" format: "date-time" properties: type: "array" items: $ref: "#/definitions/PropertyResource" web_url: type: "string" example: "https://apitryout.qtestnet.com/p/39047/portal/project#tab=testexecution&object=2&id=843971" readOnly: true target_release_id: type: "integer" format: "int64" example: 149652 target_build_id: type: "integer" format: "int64" TokenSecretVerifierHolder: type: "object" properties: jiraToken: type: "string" jiraSecret: type: "string" authorizeUrl: type: "string" ToscaExecutionEntryResource: type: "object" required: - "name" - "toscaNodePath" - "toscaUniqueId" properties: toscaUniqueId: type: "string" example: "cd0de9f4-acef-47a4-b91d-99791c4d8e1c" name: type: "string" example: "Execution Entry" minLength: 1 maxLength: 500 toscaNodePath: type: "string" example: "/Execution/ExecutionLists/ExecutionEntry Folder/Execution List/Execution\ \ Entry" toscaUrl: type: "string" parentId: type: "integer" format: "int64" parentType: type: "string" associatedToscaTestCase: $ref: "#/definitions/ToscaTestCaseResource" associatedToscaTestCaseId: type: "string" ToscaTestCaseResource: type: "object" required: - "toscaNodePath" - "toscaUniqueId" properties: toscaUniqueId: type: "string" example: "a606c5a8-d648-4b09-bc28-929d58773631" toscaNodePath: type: "string" example: "/TestCases/Execution Entry" toscaUrl: type: "string" parentId: type: "integer" format: "int64" parentType: type: "string" ToscaTestCycleResource: type: "object" required: - "name" - "toscaNodePath" - "toscaUniqueId" properties: toscaUniqueId: type: "string" example: "b0fd1f95-b925-43d3-9c47-d66ab584f9fc" name: type: "string" example: "Execution List" minLength: 1 maxLength: 500 description: type: "string" example: "Sample Execution List" toscaObjectType: type: "string" example: "ExecutionList" toscaNodePath: type: "string" example: "/Execution/ExecutionLists/ExecutionEntry Folder/Execution List" toscaUrl: type: "string" parentId: type: "integer" format: "int64" parentType: type: "string" testCycles: type: "array" items: type: "string" example: "ToscaTestCycleResource" testRuns: type: "array" items: $ref: "#/definitions/ToscaExecutionEntryResource" TraceabilityRequirement: type: "object" properties: root: type: "boolean" example: false description: "Is root Requirement Module or not" children: type: "array" description: "Arrays of TraceabilityRequirement" items: $ref: "#/definitions/TraceabilityRequirement" requirements: type: "array" description: "Arrays of Requirement data" items: type: "object" additionalProperties: type: "object" order: type: "integer" format: "int64" example: 1 description: "Order" UserGroupResource: type: "object" properties: id: type: "integer" format: "int64" name: type: "string" example: "Name of UserGroup" description: "Name of UserGroup" description: type: "string" example: "Description of UserGroup" description: "Description of UserGroup" total_user: type: "integer" format: "int64" description: "The total user of UserGroup" readOnly: true is_system: type: "boolean" is_default: type: "boolean" example: false description: "Set this UserGroup as default group for new user" authorities: type: "array" readOnly: true items: $ref: "#/definitions/AuthorityVM" users: type: "array" readOnly: true items: $ref: "#/definitions/UserInfoVM" user_ids: type: "array" description: "List of userId will be assign to this group after created" items: type: "integer" format: "int64" example: 1 authority_names: type: "array" description: "List of authorities for this UserGroup. Values can be: [ ROLE_ADMINCONFIGURATION,\ \ ROLE_ADMININFORMATION, ROLE_INSIGHTSEDITOR, ROLE_INSIGHTSEDITOR, ROLE_LAUNCHACCESS,\ \ ROLE_PROFILEADMIN, ROLE_PROFILEVIEWER, ROLE_PROJECTARCHIVER, ROLE_PROJECTCREATOR,\ \ ROLE_PROJECTUPDATER, ROLE_PROJECTVIEWER, ROLE_PULSEACCESS, ROLE_SITELEVELFIELD,\ \ ROLE_USERADMIN, ROLE_USERGROUPMANAGER, ROLE_ANALYTICSVIEWER ]" items: type: "string" example: "ROLE_ADMINCONFIGURATION" UserInfoVM: type: "object" properties: id: type: "integer" format: "int64" userName: type: "string" firstName: type: "string" lastName: type: "string" contactEmail: type: "string" fullName: type: "string" userDN: type: "string" UserProfile: type: "object" properties: user_id: type: "integer" format: "int64" example: 1 description: "ID of the User" project_id: type: "integer" format: "int64" example: 1 description: "ID of the Project" release: $ref: "#/definitions/ReleasePermission" build: $ref: "#/definitions/BuildPermission" test_configuration: $ref: "#/definitions/TestConfigurationPermission" test_configuration_variables: $ref: "#/definitions/TestConfigurationVariablesPermission" module: $ref: "#/definitions/ModulePermission" requirement: $ref: "#/definitions/RequirementPermission" test_case: $ref: "#/definitions/TestCasePermission" test_cycle: $ref: "#/definitions/TestCyclePermission" test_suite: $ref: "#/definitions/TestSuitePermission" test_run: $ref: "#/definitions/TestRunPermission" defect: $ref: "#/definitions/DefectPermission" project_setting: $ref: "#/definitions/ProjectSettingPermission" session: $ref: "#/definitions/SessionManagerPermission" project: $ref: "#/definitions/ProjectAdminPermission" schedule: $ref: "#/definitions/SchedulePermission" UserProfileResponse: type: "object" properties: user_profiles: type: "array" description: "Arrays of User Profile" items: $ref: "#/definitions/Profile" admin_profiles: type: "array" description: "Arrays of Admin Profile" items: $ref: "#/definitions/Profile" total_user_profiles: type: "integer" format: "int32" description: "Total User Profile" readOnly: true total_admin_profiles: type: "integer" format: "int32" description: "Total Admin Profile" readOnly: true UserResource: type: "object" properties: links: type: "array" description: "Link to resource" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the User" username: type: "string" example: "example.user@qtest.com" description: "Login username of the User" email: type: "string" example: "example.user@qtest.com" description: "Contact email of the User" password: type: "string" description: "Password of the User" first_name: type: "string" example: "Example" description: "First name of the User" last_name: type: "string" example: "User" description: "Last name of the User" status: type: "integer" format: "int32" example: 0 description: "Status of the User" avatar: type: "string" example: "https://apitryout.qtestnet.com/api/v3/users/1/avatar" ldap_username: type: "string" description: "LDAP username of the User" user_group_ids: type: "array" items: type: "integer" format: "int64" external_auth_config_id: type: "integer" format: "int64" description: "External authentication system id" external_user_name: type: "string" description: "External authentication username" UserResourceExtension: type: "object" properties: links: type: "array" description: "Link to resource" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 description: "ID of the User" username: type: "string" example: "example.user@qtest.com" description: "Login username of the User" email: type: "string" example: "example.user@qtest.com" description: "Contact email of the User" password: type: "string" description: "Password of the User" first_name: type: "string" example: "Example" description: "First name of the User" last_name: type: "string" example: "User" description: "Last name of the User" status: type: "integer" format: "int32" example: 0 description: "Status of the User" avatar: type: "string" example: "https://apitryout.qtestnet.com/api/v3/users/1/avatar" description: "Avatar URL of the User" external_username: type: "string" description: "External username, could be LDAP username or SSO username" authentication_system: type: "string" description: "Name of Login provider, could be LDAP or SSO" timezone_offset: type: "string" country_name: type: "string" UserUpdateResource: type: "object" properties: links: type: "array" readOnly: true items: $ref: "#/definitions/Link" id: type: "integer" format: "int64" example: 1 email: type: "string" example: "example.user@qtest.com" password: type: "string" first_name: type: "string" example: "Example" last_name: type: "string" example: "User" status: type: "integer" format: "int32" example: 1 user_group_ids: type: "array" items: type: "integer" format: "int64" external_auth_config_id: type: "integer" format: "int64" external_user_name: type: "string" WebhookRequest: type: "object" properties: name: type: "string" url: type: "string" events: type: "array" items: type: "string" secretKey: type: "string" responseType: type: "string" projectIds: type: "array" items: type: "integer" format: "int64" WebhookVM: type: "object" properties: id: type: "integer" format: "int64" name: type: "string" url: type: "string" events: type: "array" items: type: "string" createdDate: type: "string" format: "date-time" lastModifiedDate: type: "string" format: "date-time" secretKey: type: "string" responseType: type: "string" projectIds: type: "array" items: type: "integer" format: "int64"