Projects

This chapter focuses on services for the projects.

Get all projects

A GET to /projects returns all the projects that the client is allowed to read.

HTTP request

GET /api/rest/latest/projects?page=0&size=3 HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 913

{
  "_embedded" : {
    "projects" : [ {
      "_type" : "project",
      "id" : 367,
      "name" : "sample project 1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/projects/367"
        }
      }
    }, {
      "_type" : "project",
      "id" : 456,
      "name" : "sample project 2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/projects/456"
        }
      }
    }, {
      "_type" : "project",
      "id" : 789,
      "name" : "sample project 3",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/projects/789"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects?page=0&size=3"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 3,
    "totalPages" : 1,
    "number" : 0
  }
}

Response fields

Path Type Description

_embedded.projects

Array

the list of elements for that page

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Create project

A POST to /projects creates a new project.

  • Create new project

HTTP request

POST /api/rest/latest/projects HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 134

{
  "_type" : "project",
  "name" : "sample project",
  "label" : "no price tag",
  "description" : "<p>do something meaningful</p>"
}

Request fields

Path Type Description

_type

String

the type of the entity (mandatory)

name

String

the name of the project

label

String

the label of the project

description

String

the description of the project

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 670

{
  "_type" : "project",
  "id" : 333,
  "description" : "<p>do something meaningful</p>",
  "label" : "no price tag",
  "name" : "sample project",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333"
    },
    "requirements" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/requirements-library/content"
    },
    "test-cases" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/test-cases-library/content"
    },
    "campaigns" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/campaigns-library/content"
    }
  }
}

Response fields

Path Type Description

id

Number

the id of the project

active

Boolean

whether the project is active or not

_links

Object

related links

Relation Description

self

link to this project

requirements

link to the content of the requirement library of this project

test-cases

link to the content of the test case library of this project

campaigns

link to the content of the campaign library of this project

  • Create new project using template

HTTP request

POST /api/rest/latest/projects HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 394

{
  "_type" : "project",
  "name" : "sample project",
  "label" : "no price tag",
  "description" : "<p>do something meaningful</p>",
  "template_id" : 23,
  "params" : {
    "copyPermissions" : true,
    "copyCUF" : true,
    "copyBugtrackerBinding" : true,
    "copyAutomatedProjects" : true,
    "copyInfolists" : true,
    "copyMilestone" : true,
    "copyAllowTcModifFromExec" : true
  }
}

Request fields

Path Type Description

_type

String

the type of the entity (mandatory)

name

String

the name of the project

label

String

the label of the project

description

String

the description of the project

template_id

Number

the id of project template

params

Object

the parameters to create a new project from template

params.copyPermissions

Boolean

whether the project’s permissions will be copied or not

params.copyCUF

Boolean

whether the project’s custom fields will be copied or not

params.copyBugtrackerBinding

Boolean

whether the project’s bugtracker will be copied or not

params.copyAutomatedProjects

Boolean

whether the project’s test automation management will be copied or not

params.copyInfolists

Boolean

whether the project’s information lists will be copied or not

params.copyMilestone

Boolean

whether the project’s milestones will be copied or not

params.copyAllowTcModifFromExec

Boolean

whether the project’s execution option will be copied or not

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 670

{
  "_type" : "project",
  "id" : 333,
  "description" : "<p>do something meaningful</p>",
  "label" : "no price tag",
  "name" : "sample project",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333"
    },
    "requirements" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/requirements-library/content"
    },
    "test-cases" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/test-cases-library/content"
    },
    "campaigns" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/campaigns-library/content"
    }
  }
}

Response fields

Path Type Description

id

Number

the id of the project

active

Boolean

whether the project is active or not

_links

Object

related links

Relation Description

self

link to this project

requirements

link to the content of the requirement library of this project

test-cases

link to the content of the test case library of this project

campaigns

link to the content of the campaign library of this project

Create project template

A POST to /projects creates a new project template.

  • Create new template

HTTP request

POST /api/rest/latest/projects HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 152

{
  "_type" : "project-template",
  "name" : "sample project template",
  "label" : "no price tag",
  "description" : "<p>do something meaningful</p>"
}

Request fields

Path Type Description

_type

String

the type of the entity (mandatory)

name

String

the name of the project template

label

String

the label of the project template

description

String

the description of the project template

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 688

{
  "_type" : "project-template",
  "id" : 333,
  "description" : "<p>do something meaningful</p>",
  "label" : "no price tag",
  "name" : "sample project template",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333"
    },
    "requirements" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/requirements-library/content"
    },
    "test-cases" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/test-cases-library/content"
    },
    "campaigns" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/campaigns-library/content"
    }
  }
}

Response fields

Path Type Description

id

Number

the id of the project template

active

Boolean

whether the project template is active or not

_links

Object

related links

Relation Description

self

link to this project

requirements

link to the content of the requirement library of this project template

test-cases

link to the content of the test case library of this project template

campaigns

link to the content of the campaign library of this project template

  • Create new template from existing project

HTTP request

POST /api/rest/latest/projects HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 411

{
  "_type" : "project-template",
  "name" : "sample project template",
  "label" : "no price tag",
  "description" : "<p>do something meaningful</p>",
  "project_id" : 55,
  "params" : {
    "copyPermissions" : true,
    "copyCUF" : true,
    "copyBugtrackerBinding" : true,
    "copyAutomatedProjects" : true,
    "copyInfolists" : true,
    "copyMilestone" : true,
    "copyAllowTcModifFromExec" : true
  }
}

Request fields

Path Type Description

_type

String

the type of the entity (mandatory)

name

String

the name of the project

label

String

the label of the project

description

String

the description of the project

project_id

Number

the id of project template

params

Object

the parameters to create a new project from template

params.copyPermissions

Boolean

whether the project’s permissions will be copied or not

params.copyCUF

Boolean

whether the project’s custom fields will be copied or not

params.copyBugtrackerBinding

Boolean

whether the project’s bugtracker will be copied or not

params.copyAutomatedProjects

Boolean

whether the project’s test automation management will be copied or not

params.copyInfolists

Boolean

whether the project’s information lists will be copied or not

params.copyMilestone

Boolean

whether the project’s milestones will be copied or not

params.copyAllowTcModifFromExec

Boolean

whether the project’s execution option will be copied or not

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 688

{
  "_type" : "project-template",
  "id" : 333,
  "description" : "<p>do something meaningful</p>",
  "label" : "no price tag",
  "name" : "sample project template",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333"
    },
    "requirements" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/requirements-library/content"
    },
    "test-cases" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/test-cases-library/content"
    },
    "campaigns" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/333/campaigns-library/content"
    }
  }
}

Response fields

Path Type Description

id

Number

the id of the project template

active

Boolean

whether the project template is active or not

_links

Object

related links

Relation Description

self

link to this project

requirements

link to the content of the requirement library of this project template

test-cases

link to the content of the test case library of this project template

campaigns

link to the content of the campaign library of this project template

Get project

A GET to /projects/{id} returns the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/367 HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 911

{
  "_type" : "project",
  "id" : 367,
  "description" : "<p>This project is the main sample project</p>",
  "label" : "Main Sample Project",
  "name" : "sample project",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367"
    },
    "requirements" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/requirements-library/content"
    },
    "test-cases" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/test-cases-library/content"
    },
    "campaigns" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/campaigns-library/content"
    },
    "permissions" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/permissions"
    },
    "attachments" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/attachments"
    }
  }
}

Response fields

Path Type Description

id

Number

the id of the project

_type

String

the type of the entity

name

String

the name of the project

label

String

the label of the project

description

String

the description of the project

active

Boolean

whether the project is active or not

attachments

Array

the attachments of the project

_links

Object

related links

Relation Description

self

link to this project

requirements

link to the content of the requirement library of this project

test-cases

link to the content of the test case library of this project

campaigns

link to the content of the campaign library of this project

permissions

link to the permission list of this project

attachments

link to the attachments of this project

Get project permissions

A GET to /projects/{id}/permissions returns the permission groups of the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/permissions
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/367/permissions HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1026

{
  "content" : {
    "validator" : [ {
      "_type" : "team",
      "id" : 852,
      "name" : "Team B",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/teams/852"
        }
      }
    } ],
    "project_viewer" : [ {
      "_type" : "user",
      "id" : 486,
      "login" : "User-1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/users/486"
        }
      }
    }, {
      "_type" : "user",
      "id" : 521,
      "login" : "User-2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/users/521"
        }
      }
    } ],
    "advanced_tester" : [ {
      "_type" : "team",
      "id" : 567,
      "name" : "Team A",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/teams/567"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/permissions"
    }
  }
}
Relation Description

self

the link to this project permissions

Add permissions to project

A POST to /projects/{id}/permissions/{permissionGroup} adds certain users or teams to the permission group of the project with the given id.

The possible {permissionGroup} are test_editor, project_viewer, project_manager, test_runner, test_designer, advanced_tester and validator.

Path parameters

Table 1. /api/rest/latest/projects/{projectId}/permissions/{permissionGroup}
Parameter Description

projectId

the id of the project

permissionGroup

the permission group of which the users/teams will be add in

HTTP request

POST /api/rest/latest/projects/367/permissions/advanced_tester HTTP/1.1
Accept: application/json
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded

ids=486%2C521

Request parameters

Parameter Description

ids

the ids of the users/teams

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 575

{
  "content" : {
    "advanced_tester" : [ {
      "_type" : "user",
      "id" : 486,
      "login" : "User-1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/users/486"
        }
      }
    }, {
      "_type" : "user",
      "id" : 521,
      "login" : "User-2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/users/521"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/367/permissions"
    }
  }
}
Relation Description

self

the link to this project permissions

Get campaigns of project

A GET to /projects/{id}/campaigns returns the campaigns in the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/campaigns
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/campaigns?page=2&size=3&sort=name,desc HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1525

{
  "_embedded" : {
    "campaigns" : [ {
      "_type" : "campaign",
      "id" : 255,
      "name" : "campaign 1",
      "reference" : "C-1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/campaigns/255"
        }
      }
    }, {
      "_type" : "campaign",
      "id" : 122,
      "name" : "campaign 2",
      "reference" : "C-2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/campaigns/122"
        }
      }
    }, {
      "_type" : "campaign",
      "id" : 147,
      "name" : "campaign 3",
      "reference" : "C-3",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/campaigns/147"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns?page=0&size=3&sort=name,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns?page=1&size=3&sort=name,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns?page=2&size=3&sort=name,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns?page=3&size=3&sort=name,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns?page=3&size=3&sort=name,desc"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 2
  }
}

Response fields

Path Type Description

_embedded.campaigns

Array

the test cases of this project

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Get requirements of project

A GET to /projects/{id}/requirements returns the requirements in the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/requirements
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/requirements?page=2&size=3&sort=id,desc HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1479

{
  "_embedded" : {
    "requirements" : [ {
      "_type" : "requirement",
      "id" : 122,
      "name" : "requirement 1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/122"
        }
      }
    }, {
      "_type" : "requirement",
      "id" : 147,
      "name" : "requirement 2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/147"
        }
      }
    }, {
      "_type" : "requirement",
      "id" : 255,
      "name" : "requirement 3",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/255"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements?page=0&size=3&sort=id,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements?page=1&size=3&sort=id,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements?page=2&size=3&sort=id,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements?page=3&size=3&sort=id,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements?page=3&size=3&sort=id,desc"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 2
  }
}

Response fields

Path Type Description

_embedded.requirements

Array

the requirements of this project

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Get test cases of project

A GET to /projects/{id}/test-cases returns the test cases in the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/test-cases
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/test-cases?page=2&size=3&sort=name,desc HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1299

{
  "_embedded" : {
    "test-cases" : [ {
      "_type" : "test-case",
      "id" : 122,
      "name" : "test case 1",
      "reference" : "TC-1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/122"
        }
      }
    }, {
      "_type" : "test-case",
      "id" : 147,
      "name" : "test case 2",
      "reference" : "TC-2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/147"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases?page=0&size=3&sort=name,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases?page=1&size=3&sort=name,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases?page=2&size=3&sort=name,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases?page=3&size=3&sort=name,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases?page=3&size=3&sort=name,desc"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 2
  }
}

Response fields

Path Type Description

_embedded.test-cases

Array

the test cases of this project

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Get campaign library contents

A GET to /projects/{id}/campaigns-library/content returns the contents of the campaign library in the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/requirements-library/content
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/requirements-library/content?page=2&size=3&include=nested&sort=id,desc HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

include

level of depth of the content that should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1691

{
  "_embedded" : {
    "requirement-library-content" : [ {
      "_type" : "requirement-folder",
      "id" : 255,
      "name" : "root-level folder",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirement-folders/255"
        }
      }
    }, {
      "_type" : "requirement",
      "id" : 147,
      "name" : "content of root-level folder",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/147"
        }
      }
    }, {
      "_type" : "requirement",
      "id" : 122,
      "name" : "root-level requirement",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/122"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=0&size=3&sort=id,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=1&size=3&sort=id,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=2&size=3&sort=id,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=3&size=3&sort=id,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=3&size=3&sort=id,desc"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 2
  }
}

Response fields

Path Type Description

_embedded.requirement-library-content

Array

the list of elements for that page

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Get requirement library contents

A GET to /projects/{id}/requirements-library/content returns the contents of the requirement library in the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/requirements-library/content
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/requirements-library/content?page=2&size=3&include=nested&sort=id,desc HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

include

level of depth of the content that should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1691

{
  "_embedded" : {
    "requirement-library-content" : [ {
      "_type" : "requirement-folder",
      "id" : 255,
      "name" : "root-level folder",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirement-folders/255"
        }
      }
    }, {
      "_type" : "requirement",
      "id" : 147,
      "name" : "content of root-level folder",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/147"
        }
      }
    }, {
      "_type" : "requirement",
      "id" : 122,
      "name" : "root-level requirement",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/requirements/122"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=0&size=3&sort=id,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=1&size=3&sort=id,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=2&size=3&sort=id,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=3&size=3&sort=id,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/requirements-library/content?include=nested&page=3&size=3&sort=id,desc"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 2
  }
}

Response fields

Path Type Description

_embedded.requirement-library-content

Array

the list of elements for that page

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Get test case library contents

A GET to /projects/{id}/test-cases-library/content returns the contents of the test case library in the project with the given id.

Path parameters

Table 1. /api/rest/latest/projects/{id}/test-cases-library/content
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/test-cases-library/content?page=2&size=3&sort=name,desc&fields=name,reference&include=nested HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

include

level of depth of the content that should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1841

{
  "_embedded" : {
    "test-case-library-content" : [ {
      "_type" : "test-case",
      "id" : 122,
      "name" : "root-level test case",
      "reference" : "TC-R",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/122"
        }
      }
    }, {
      "_type" : "test-case-folder",
      "id" : 255,
      "name" : "root-level folder",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-case-folders/255"
        }
      }
    }, {
      "_type" : "test-case",
      "id" : 147,
      "name" : "content of root-level folder",
      "reference" : "TC-N",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/147"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases-library/content?fields=name,reference&include=nested&page=0&size=3&sort=name,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases-library/content?fields=name,reference&include=nested&page=1&size=3&sort=name,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases-library/content?fields=name,reference&include=nested&page=2&size=3&sort=name,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases-library/content?fields=name,reference&include=nested&page=3&size=3&sort=name,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/test-cases-library/content?fields=name,reference&include=nested&page=3&size=3&sort=name,desc"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 2
  }
}

Response fields

Path Type Description

_embedded.test-case-library-content

Array

the list of elements for that page

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)