Get or update project by project ID

Description

Returns or updates a project by the specified project ID.

You can also add an additional parameter ("include=user-role") to the request to return user role data. This parameter is available in OpenText Enterprise Performance Engineering 2023 and later. The user role response is supported as JSON only; XML is not currently supported.

URL

Copy code
Get/update project by ID
/Admin/rest/v1/projects/{projectID}
Copy code
Get/update project by ID and include user roles
/Admin/rest/v1/projects/{projectID}?include=user-roles

Remarks

The project data can be passed as XML containing the equivalent data.

This API should be authorized for the Application, Tenant, and Site Admin permission levels.

HTTP method

  • GET: Returns the project information.

  • PATCH: Updates the project.

Request

Headers:

One of the following:

  • Content-Type: application/xml

  • Content-Type: application/json

Cookies:

VersionCookie
2023, 24.1, and later

ADM_LWSSO={ADM_LWSSO_COOKIE_VALUE};

2022 - 2022 R2

ADM_LWSSO={ADM_LWSSO_COOKIE_VALUE};

ASP.NET_SessionId_Adm={ASP.NET_SessionId_Adm_COOKIE_VALUE};

LWSSO_COOKIE_KEY={LWSSO_COOKIE_KEY_COOKIE_VALUE};

2021 - 2021 R2

ADM_LWSSO={ADM_LWSSO_COOKIE_VALUE};

ASP.NET_SessionId_Adm={ASP.NET_SessionId_Adm_COOKIE_VALUE};

2020 - 2020 SP3

ADM_LWSSO={ADM_LWSSO_COOKIE_VALUE};

Earlier than 2020

LWSSO_COOKIE_KEY={LWSSO_COOKIE_KEY_COOKIE_VALUE};

QCSession={QC_SESSION_COOKIE_VALUE};

Request body:

  • GET: No request body.

  • PATCH: An XML or JSON describing the data to be updated in the project.

Request examples:

Copy code
XML example: Get project by ID
GET http://<LRE_Server>/Admin/rest/v1/projects/1001
Content-Type: application/xml
Accept: application/xml
Cookie: ADM_LWSSO={AdmLwssoCookie};
Copy code
XML example: Get project by ID and include its user role data
GET http://<LRE_Server>/Admin/rest/v1/projects/1001?include=user-roles
Content-Type: application/xml
Accept: application/xml
Cookie: ADM_LWSSO={AdmLwssoCookie};
Copy code
XML example - PATCH:
PATCH http://<LRE_Server>/Admin/rest/v1/projects/1001
Content-Type: application/xml
Accept: application/xml
Cookie: ADM_LWSSO={AdmLwssoCookie};

<Project> 
  <PoolID>1003</PoolID>  
</Project> 
Copy code
JSON example - PATCH:
{
        "VusersLimit": "20",
        "ConcurrentRunsLimit": "1"
}

Response

Headers:

One of:

  • Accept: application/xml

  • Accept: application/json

Cookies:

None

HTML return code:

One of the HTTP return codes.

Upon successful deletion, returns HTTP status 200 (OK).

HTML body:

  • PATCH: No body returned.

  • GET: Returns the data on the entity in the response. The response contains the following fields.

    ElementDescription
    VusersLimit The maximum number of Vusers available to the project.
    PoolIDID of the project's host pool.
    ConcurrentRunsLimitThe maximum number of concurrent test runs allowed within a project.

    ID

    The project's ID.

    MachineLimit The total number of hosts (Controller + load generators) reserved for a timeslot may not exceed this limit.
    VUDSLimit

    The maximum number of Vusers that a project can run at once within a 24 hour period (the Virtual User Flex Day). The total number used by all of the project's concurrent performance tests must not exceed this limit.

    NameThe name of the project.
    DomainThe domain in which the project was created.
    ProjectStateThe state of the project (Active, Inactive, InactiveLab, Deleted).

    AdditionalData

    (Optional - if ?include=user-roles added to the request)

    UsersRoles

    • UserName. The user's name.

    • UserID. The user's ID.

    • Role. The name of the role assigned to the user. For the list of roles available in the project, see the Users page in OpenText Enterprise Performance Engineering Admin.

Response examples:

Copy code
XML example: Project response
<Projects>
    <Project> 
        <VusersLimit>10</VusersLimit>
        <PoolID>1000</PoolID>  
        <ConcurrentRunsLimit>1</ConcurrentRunsLimit>
        <MachineLimit>1000</MachineLimit>
        <VUDSLimit>0</VUDSLimit>
        <ID>1001</ID>
        <Name>INST_PATCH</Name>
        <Domain>DEFAULT</Domain>
        <ProjectState>Active</ProjectState>
    </Project> 
</Projects> 
Copy code
JSON example: Project response
[
    {
        "ID": 2,
        "ProjectID": 2,
        "Name": "Auto_fe4fkrhlqym_0",
        "Domain": "AUTO",
        "ProjectState": "Active",
        "RecurrentReservation": "0",
        "VusersLimit": 50,
        "PoolID": 1000,
        "ConcurrentRunsLimit": 1,
        "MachineLimit": 10,
        "VUDSLimit": 0
    },
    {
        "ID": 3,
        "ProjectID": 3,
        "Name": "Auto_rtyqrboues5_1",
        "Domain": "AUTO",
        "ProjectState": "Active",
        "RecurrentReservation": "0",
        "VusersLimit": 50,
        "PoolID": 1000,
        "ConcurrentRunsLimit": 1,
        "MachineLimit": 10,
        "VUDSLimit": 0
    }
]
Copy code
XML example: Project response including user role data
<Projects>
    <Project>
       <ConcurrentRunsLimit>2</ConcurrentRunsLimit>
       <Domain>DEFAULT</Domain>
       <AdditionalData>
          <UserRoles>
             <element>
                <Role>Viewer</Role>
                <UserID>251</UserID>
                <UserName>sa</UserName>
             </element>
             <element>
                <Role>Viewer</Role>
                <UserID>254</UserID>
                <UserName>Alan</UserName>
             </element>
             <element>
                <Role>Viewer</Role>
                <UserID>255</UserID>
                <UserName>qatest</UserName>
             </element>
             <element>
                <Role>Viewer</Role>
                <UserID>257</UserID>
                <UserName>Julie</UserName>
             </element>
          </UserRoles>
       </AdditionalData>
       <ID>2</ID>
       <MachineLimit>1000</MachineLimit>
       <Name>AUTOMATION_PROJECT</Name>
       <PoolID>1000</PoolID>
       <ProjectID>2</ProjectID>
       <ProjectState>Active</ProjectState>
       <RecurrentReservation null="true" />
       <VUDSLimit>0</VUDSLimit>
       <VusersLimit>1052</VusersLimit>
    </Project>
</Projects>
Copy code
JSON example: Project response including user role data
[
   {
        "ID": 27,
        "ProjectID": 27,
        "Name": "project_chaos_LqLtL",
        "Domain": "DEFAULT",
        "ProjectState": "Active",
        "RecurrentReservation": "0",
        "VusersLimit": 0,
        "PoolID": 1000,
        "ConcurrentRunsLimit": 1,
        "MachineLimit": 10,
        "VUDSLimit": 0,
        "AdditionalData": {
            "UserRoles": [
                {
                    "UserName": "sa",
                    "UserID": "3",
                    "Role": "Performance Tester"
                }
            ]
        }
    },
    {
        "ID": 28,
        "ProjectID": 28,
        "Name": "project_chaos_DJGKm",
        "Domain": "DEFAULT",
        "ProjectState": "Active",
        "RecurrentReservation": "0",
        "VusersLimit": 0,
        "PoolID": 1000,
        "ConcurrentRunsLimit": 1,
        "MachineLimit": 10,
        "VUDSLimit": 0,
        "AdditionalData": {
            "UserRoles": [
                {
                    "UserName": "sa",
                    "UserID": "3",
                    "Role": "Performance Tester"
                }
            ]
        }
        }
]

See also: