Projects

This chapter focuses on project administration.

Get all projects

A GET to /projects returns all the projects (standard and template) that the user is allowed to read. A parameter can be specified to retrieve only standard projects or template ones.

  • Get all projects (included project template)

HTTP request

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

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1171

{
  "_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"
        }
      }
    } ],
    "project-templates" : [ {
      "_type" : "project-template",
      "id" : 971,
      "name" : "project template 4",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/projects/971"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects?page=0&size=4"
    }
  },
  "page" : {
    "size" : 4,
    "totalElements" : 4,
    "totalPages" : 1,
    "number" : 0
  }
}

Response fields

Path Type Description

_embedded.projects

Array

all the standard projects

_embedded.project-templates

Array

all the project templates

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements

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 only standard projects (without project template)

HTTP request

GET /api/rest/latest/projects?type=STANDARD HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

type

type of project

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 935

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

Response fields

Path Type Description

_embedded.projects

Array

all the standard projects

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements

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 only project templates

HTTP request

GET /api/rest/latest/projects?type=TEMPLATE HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

type

type of project

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 965

{
  "_embedded" : {
    "project-templates" : [ {
      "_type" : "project-template",
      "id" : 367,
      "name" : "sample project 1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/projects/367"
        }
      }
    }, {
      "_type" : "project-template",
      "id" : 456,
      "name" : "sample project 2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/projects/456"
        }
      }
    }, {
      "_type" : "project-template",
      "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?type=TEMPLATE&page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 3,
    "totalPages" : 1,
    "number" : 0
  }
}

Response fields

Path Type Description

_embedded.project-templates

Array

all the project templates

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements

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 project

A GET to /projects/{id} returns the project with the given id. This retrieves a project administration data and is only authorized to administrators.

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
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 by name

A GET to /projects with a request parameter projectName returns the project with the given name. This retrieves a project administration data and is only authorized to administrators. Be careful, both the name of the parameter projectName and the value of the project name are case-sensitive.

HTTP request

GET /api/rest/latest/projects?projectName=sample+project HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

projectName

the name of the project

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 907

{
  "_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/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

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
Content-Length: 134
Host: localhost:8080

{
  "_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
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
Content-Length: 394
Host: localhost:8080

{
  "_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
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
Content-Length: 152
Host: localhost:8080

{
  "_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
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
Content-Length: 411
Host: localhost:8080

{
  "_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
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 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
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?ids=486,521 HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

ids

the ids of the users/teams

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
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
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

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
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

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
Content-Length: 2347

{
  "_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"
        }
      }
    }, {
      "_type" : "scripted-test-case",
      "id" : 222,
      "name" : "scripted test case 1",
      "reference" : "STC-1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/222"
        }
      }
    }, {
      "_type" : "scripted-test-case",
      "id" : 247,
      "name" : "scripted test case 2",
      "reference" : "STC-2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/247"
        }
      }
    }, {
      "_type" : "keyword-test-case",
      "id" : 322,
      "name" : "keyword test case 1",
      "reference" : "KTC-1",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/322"
        }
      }
    }, {
      "_type" : "keyword-test-case",
      "id" : 347,
      "name" : "keyword test case 2",
      "reference" : "KTC-2",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/347"
        }
      }
    } ]
  },
  "_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

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}/campaigns-library/content
Parameter Description

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/campaigns-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
Content-Length: 1826

{
  "_embedded" : {
    "campaign-library-content" : [ {
      "_type" : "campaign",
      "id" : 122,
      "name" : "root-level campaign",
      "reference" : "C-R",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/campaigns/122"
        }
      }
    }, {
      "_type" : "campaign-folder",
      "id" : 255,
      "name" : "root-level folder",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/campaign-folders/255"
        }
      }
    }, {
      "_type" : "campaign",
      "id" : 147,
      "name" : "content of root-level folder",
      "reference" : "C-N",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/campaigns/147"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns-library/content?fields=name,reference&include=nested&page=0&size=3&sort=name,desc"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns-library/content?fields=name,reference&include=nested&page=1&size=3&sort=name,desc"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns-library/content?fields=name,reference&include=nested&page=2&size=3&sort=name,desc"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns-library/content?fields=name,reference&include=nested&page=3&size=3&sort=name,desc"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/campaigns-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.campaign-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

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
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

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
Content-Length: 2119

{
  "_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" : "scripted-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"
        }
      }
    }, {
      "_type" : "keyword-test-case",
      "id" : 148,
      "name" : "content of root-level folder",
      "reference" : "TC-N",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/148"
        }
      }
    } ]
  },
  "_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

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)

Delete permission(s) in project

A DELETE to /projects/{projectId}/users/{partyIds} deletes one or several user(s) with the given id(s) (separated with comma).

Path parameters

Table 1. /api/rest/latest/projects/{projectId}/users/{partyIds}
Parameter Description

projectId

the id of the project

partyIds

the list of user/team ids to be deleted

HTTP request

DELETE /api/rest/latest/projects/44/users/77,99 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

Bind custom field to project

A POST to /projects/{id}/custom-fields/{entity-type} bind custom field with the given id to given entity for given project.

HTTP request

POST /api/rest/latest/projects/14/custom-fields/REQUIREMENT_FOLDER HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

cufId=80

Path parameters

Table 1. /api/rest/latest/projects/{id}/custom-fields/{entity-type}
Parameter Description

id

the id of the project

entity-type

entity to bind (PROJECT,REQUIREMENT_FOLDER,CAMPAIGN_FOLDER,TESTCASE_FOLDER,CUSTOM_REPORT_FOLDER,CUSTOM_REPORT_PROJECT,TEST_CASE,TEST_STEP,CAMPAIGN,ITERATION,TEST_SUITE,REQUIREMENT_VERSION,EXECUTION,EXECUTION_STEP)

Request parameters

Parameter Description

cufId

the id of the custom-fields

HTTP response

HTTP/1.1 200 OK

Unbind custom field to project

A DELETE to /projects/{id}/custom-fields/{entity-type} unbind custom field with the given id to given entity for given project.

HTTP request

DELETE /api/rest/latest/projects/14/custom-fields/REQUIREMENT_FOLDER?cufId=80 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

Path parameters

Table 1. /api/rest/latest/projects/{id}/custom-fields/{entity-type}
Parameter Description

id

the id of the project

entity-type

entity to bind (PROJECT,REQUIREMENT_FOLDER,CAMPAIGN_FOLDER,TESTCASE_FOLDER,CUSTOM_REPORT_FOLDER,CUSTOM_REPORT_PROJECT,TEST_CASE,TEST_STEP,CAMPAIGN,ITERATION,TEST_SUITE,REQUIREMENT_VERSION,EXECUTION,EXECUTION_STEP)

Request parameters

Parameter Description

cufId

the id of the custom-fields

HTTP response

HTTP/1.1 204 No Content

Bind info list to project

A POST to projects/{id}/info-lists/{list-type} bind the info list with the given id to the given project.

HTTP request

POST /api/rest/latest/projects/14/info-lists/requirement-category HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

infolist-id=1

Path parameters

Table 1. /api/rest/latest/projects/{id}/info-lists/{list-type}
Parameter Description

id

the id of the project

list-type

type of list to bind. list-type have 3 values : requirement-category, test-case-nature ou test-case-type

Request parameters

Parameter Description

infolist-id

the id of the info list

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 58

"infolist '1' bind to project 14 for requirement-category"

Bind milestones to a project

A POST to /projects/{id}/milestones associate a project with one or more milestones with the list of element IDs given in the request parameters. To consult the milestones just follow the link "milestones".

HTTP request

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

milestoneIds=1

Path parameters

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

id

the id of the project

Request parameters

Parameter Description

milestoneIds

the ids of the milestones

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 426

{
  "_type" : "project",
  "id" : 14,
  "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/14"
    },
    "milestones" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/milestones"
    }
  }
}

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

milestones

link to milestones associated with the project

Get all milestones bound to a project

A GET to /projects/{id}/milestones to find all the milestones that are linked to a project

Path parameters

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

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/milestones HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1394

{
  "_embedded" : {
    "milestones" : [ {
      "_type" : "milestone",
      "id" : 11,
      "label" : "Milestone 1",
      "status" : "PLANNED",
      "end_date" : "2020-03-19T00:23:45.000+00:00",
      "range" : null,
      "description" : "example of milestone creation",
      "created_by" : "admin",
      "created_on" : "2020-04-06T10:00:00.000+00:00",
      "last_modified_by" : "admin",
      "last_modified_on" : "2020-04-06T10:00:00.000+00:00",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/milestones/11"
        }
      }
    }, {
      "_type" : "milestone",
      "id" : 12,
      "label" : "Milestone 2",
      "status" : "PLANNED",
      "end_date" : "2020-03-19T00:23:45.000+00:00",
      "range" : null,
      "description" : "example of milestone creation number 2 ",
      "created_by" : "admin",
      "created_on" : "2020-04-06T10:00:00.000+00:00",
      "last_modified_by" : "admin",
      "last_modified_on" : "2020-04-06T10:00:00.000+00:00",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/milestones/12"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14/milestones?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 2,
    "totalPages" : 1,
    "number" : 0
  }
}

Bind a bug tracker to a project

A POST to /projects/{id}/bug-trackers associate a project with the bug-tracker with the given id.

HTTP request

POST /api/rest/latest/projects/14/bug-trackers HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

bugtrackerId=1

Path parameters

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

id

the id of the project

Request parameters

Parameter Description

bugtrackerId

the id of the bug-tracker

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 419

{
  "_type" : "project",
  "id" : 14,
  "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/14"
    },
    "bug-tracker" : {
      "href" : "http://localhost:8080/api/rest/latest/bug-trackers/1"
    }
  }
}

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

bug-tracker

link to the bug tracker of this project

Unbind a bug tracker from a project

A DELETE to /projects/{id}/bug-tracker dissociate the project with given id from its bug tracker.

HTTP request

DELETE /api/rest/latest/projects/14/bug-tracker HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 320

{
  "_type" : "project",
  "id" : 14,
  "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/14"
    }
  }
}
Relation Description

self

link to this project

Get the bug tracker bound to a project

A GET to projects/{id}/bug-trackers to find the bug-tracker linked to a project.

Path parameters

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

id

the id of the project

HTTP request

GET /api/rest/latest/projects/1/bug-trackers HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 325

{
  "_type" : "bug-tracker",
  "id" : 3,
  "name" : "bugtracker3",
  "url" : "url3",
  "kind" : "kind3",
  "iframe_friendly" : false,
  "authentication_policy" : "USER",
  "authentication_protocol" : "BASIC_AUTH",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/bug-trackers/3"
    }
  }
}

Get all the bug-tracker project name bind to a Squash project

A GET to projects/{id}/bug-trackers-projects to find all the bug-tracker project name linked to a project.

Path parameters

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

id

the id of the project

HTTP request

GET /api/rest/latest/projects/14/bug-trackers-projects HTTP/1.1
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 370

{
  "_type" : "bug-tracker-project",
  "bugtracker" : {
    "_type" : "bug-tracker",
    "id" : 1,
    "name" : "bugtracker1",
    "url" : "https://henix.atlassian.net/",
    "kind" : "jira.xsquash",
    "iframe_friendly" : false,
    "authentication_policy" : "USER",
    "authentication_protocol" : "BASIC_AUTH"
  },
  "bugtracker_project_names" : [ "gfa1", "gfa2" ]
}

Response fields

Path Type Description

_type

String

the type of the entity

bugtracker

Object

the current bugtracker

bugtracker_project_names

Array

list of bugtracker project name

Bind bug-tracker project names to a Squash project

A POST to projects/{id}/bug-trackers-projects to bind bug-tracker project names to a Squash-TM project.

Path parameters

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

id

the id of the project

HTTP request

POST /api/rest/latest/projects/14/bug-trackers-projects HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 80
Host: localhost:8080

{
  "_type" : "bug-tracker-project",
  "bugtracker_project_names" : [ "gfa3" ]
}

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 378

{
  "_type" : "bug-tracker-project",
  "bugtracker" : {
    "_type" : "bug-tracker",
    "id" : 1,
    "name" : "bugtracker1",
    "url" : "https://henix.atlassian.net/",
    "kind" : "jira.xsquash",
    "iframe_friendly" : false,
    "authentication_policy" : "USER",
    "authentication_protocol" : "BASIC_AUTH"
  },
  "bugtracker_project_names" : [ "gfa1", "gfa2", "gfa3" ]
}

Response fields

Path Type Description

_type

String

the type of the entity

bugtracker

Object

the current bugtracker

bugtracker_project_names

Array

list of bugtracker project name

Delete bug-tracker project names to a Squash project

A DELETE to projects/{id}/bug-trackers-projects to delete bug-tracker project names to a Squash-TM project.

Path parameters

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

id

the id of the project

HTTP request

POST /api/rest/latest/projects/14/bug-trackers-projects HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 80
Host: localhost:8080

{
  "_type" : "bug-tracker-project",
  "bugtracker_project_names" : [ "gfa3" ]
}

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 378

{
  "_type" : "bug-tracker-project",
  "bugtracker" : {
    "_type" : "bug-tracker",
    "id" : 1,
    "name" : "bugtracker1",
    "url" : "https://henix.atlassian.net/",
    "kind" : "jira.xsquash",
    "iframe_friendly" : false,
    "authentication_policy" : "USER",
    "authentication_protocol" : "BASIC_AUTH"
  },
  "bugtracker_project_names" : [ "gfa1", "gfa2", "gfa3" ]
}

Response fields

Path Type Description

_type

String

the type of the entity

bugtracker

Object

the current bugtracker

bugtracker_project_names

Array

list of bugtracker project name

Bind a scm repository to a project

A POST to /projects/{id}/scm-repository associate the project with given id to the scm repository given as parameter.

HTTP request

POST /api/rest/latest/projects/14/scm-repository HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

scmRepositoryId=11

Path parameters

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

id

the id of the project

Request parameters

Parameter Description

scmRepositoryId

the id of the scm repository

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 427

{
  "_type" : "project",
  "id" : 14,
  "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/14"
    },
    "scm-repository" : {
      "href" : "http://localhost:8080/api/rest/latest/scm-repositories/11"
    }
  }
}
Relation Description

self

link to this project

scm-repository

link to the scm repository of this project

Unbind a scm repository from a project

A DELETE to /projects/{id}/scm-repository dissociate the project with given id from its scm repository.

HTTP request

DELETE /api/rest/latest/projects/14/scm-repository HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

Path parameters

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

id

the id of the project

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 320

{
  "_type" : "project",
  "id" : 14,
  "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/14"
    }
  }
}
Relation Description

self

link to this project

Get project automation configuration

A GET to projects/{id}/automation-conf to find a project automation configuration.

Path parameters

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

id

the id of the project

HTTP request

GET /api/rest/latest/projects/1/automation-conf HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 354

{
  "_type" : "project-automation-configuration",
  "bdd_implementation_technology" : "ROBOT",
  "bdd_implementation_language" : "ENGLISH",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/1/automation-conf"
    },
    "project" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/1"
    }
  }
}

Response fields

Path Type Description

_type

String

the type of the entity

bdd_implementation_technology

String

the technology used to implement bdd tests

bdd_implementation_language

String

the language used to implement bdd tests

_links

Object

related links

Relation Description

self

link to this configuration

project

link to the project

Modify project automation configuration

A PATCH to projects/{id}/automation-conf modifies the automation configuration of the projet with the given id.

Path parameters

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

id

the id of the project

HTTP request

PATCH /api/rest/latest/projects/1/automation-conf HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 144
Host: localhost:8080

{
  "_type" : "project-automation-configuration",
  "bdd_implementation_technology" : "CUCUMBER_4",
  "bdd_implementation_language" : "GERMAN"
}

Request fields

Path Type Description

_type

String

the type of the entity

bdd_implementation_technology

String

the technology used to implement bdd tests

bdd_implementation_language

String

the language used to implement bdd tests

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 358

{
  "_type" : "project-automation-configuration",
  "bdd_implementation_technology" : "CUCUMBER_4",
  "bdd_implementation_language" : "GERMAN",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/1/automation-conf"
    },
    "project" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/1"
    }
  }
}

Response fields

Path Type Description

_type

String

the type of the entity

bdd_implementation_technology

String

the technology used to implement bdd tests

bdd_implementation_language

String

the language used to implement bdd tests

_links

Object

related links

Relation Description

self

link to this configuration

project

link to the project

Bind a test automation server to a project

A POST to /projects/{id}/test-automation-server associates the project with given id to the test automation server given as parameter.

HTTP request

POST /api/rest/latest/projects/13/test-automation-server HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

testAutomationServerId=3

Path parameters

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

id

the id of the project

Request parameters

Parameter Description

testAutomationServerId

the id of the automation server

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 444

{
  "_type" : "project",
  "id" : 13,
  "description" : "<p>Project for automated executions.</p>",
  "label" : "Automated executions project",
  "name" : "sample project",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/13"
    },
    "test-automation-server" : {
      "href" : "http://localhost:8080/api/rest/latest/test-automation-servers/3"
    }
  }
}

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

test-automation-server

link to the automation server of this project

Unbind a test automation server from a project

A DELETE to /projects/{id}/test-automation-server dissociates the project with the given id from its test automation server.

HTTP request

DELETE /api/rest/latest/projects/13/test-automation-server HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

Path parameters

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

id

the id of the project

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 323

{
  "_type" : "project",
  "id" : 13,
  "description" : "<p>Project for automated executions.</p>",
  "label" : "Automated executions project",
  "name" : "sample project",
  "active" : true,
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/13"
    }
  }
}

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

Enable or disable plugin of project

A POST to projects/{id}/plugin/{pluginId}/activate activates or deactivates the plugin with the given id.

HTTP request

POST /api/rest/latest/projects/14/plugins/squash.tm.plugin.jirasync/activate?enabled=false&saveConfig=false HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080

Path parameters

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

id

the id of the project

pluginId

the string corresponding to the id of the plugin to activate or deactivate

Request parameters

Parameter Description

enabled

true to activate the plugin, false to deactivate it

saveConfig

only relevant when deactivating a plugin, set it to true if you want to keep your configuration

HTTP response

HTTP/1.1 204 No Content