The Xsquash4Jira Configuration Rest API is built on top of the Squash TM Administration Rest API. It provides you with additional services that allows a remote user to perform configuration tasks for Xsquash4Jira plugin on the platform.
Synchronisations
This chapter focuses on synchronisations.
Get All Synchronisations by Project
A GET
to /projects/{id}/synchronisations
returns all the synchronisations that the client is allowed to read.
HTTP request
GET /api/rest/latest/projects/14/synchronisations?page=1&size=2 HTTP/1.1
Accept: application/json
Host: localhost:8080
Request parameters
Parameter | Description |
---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which attributes of the returned entities should be sorted on (optional) |
|
which fields of the elements should be returned (optional) |
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1924
{
"_embedded" : {
"synchronisations" : [ {
"_type" : "synchronisation",
"id" : 1,
"name" : "tata",
"server_name" : "BugtrackerDemo",
"server_id" : 3,
"select_type" : "BOARD",
"select_value" : "Tableau XS",
"additional_JQL" : "",
"synchronisation_path" : "/Test Project-1/demo2",
"restrain_to_active_sprint" : false,
"last_sync_date" : "2020/03/27 10:20",
"last_successful_sync_date" : "2020/03/27 10:20",
"last_status" : "Passed",
"status" : "Passed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/synchronisations/1"
}
}
}, {
"_type" : "synchronisation",
"id" : 2,
"name" : "toto",
"server_name" : "BugtrackerDemo2",
"server_id" : 3,
"select_type" : "BOARD",
"select_value" : "Tableau XS",
"additional_JQL" : "",
"synchronisation_path" : "/Test Project-1/demo2",
"restrain_to_active_sprint" : false,
"last_sync_date" : "2020/03/27 10:20",
"last_successful_sync_date" : "2020/03/27 10:20",
"last_status" : "Passed",
"status" : "Passed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/synchronisations/2"
}
}
} ]
},
"_links" : {
"first" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/synchronisations?page=0&size=2"
},
"prev" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/synchronisations?page=0&size=2"
},
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/synchronisations?page=1&size=2"
},
"last" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/synchronisations?page=1&size=2"
}
},
"page" : {
"size" : 2,
"totalElements" : 4,
"totalPages" : 2,
"number" : 1
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the list of elements for that page |
|
|
the page size for that query |
|
|
total number of elements the client is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |
Get synchronisation
A GET
to /synchronisations/{id}
returns the synchronisation with the given id.
Path parameters
Parameter | Description |
---|---|
|
the id of the synchronisation |
HTTP request
GET /api/rest/latest/synchronisations/3 HTTP/1.1
Accept: application/json
Host: localhost:8080
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 557
{
"_type" : "synchronisation",
"id" : 3,
"name" : "tata",
"server_name" : "BugtrackerDemo3",
"server_id" : 123,
"select_type" : "BOARD",
"select_value" : "Tableau XS",
"additional_JQL" : "",
"synchronisation_path" : "/Test Project-1/demo2",
"restrain_to_active_sprint" : false,
"last_sync_date" : "2020/03/27 10:20",
"last_successful_sync_date" : "2020/03/27 10:20",
"last_status" : "Passed",
"status" : "Passed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/synchronisations/3"
}
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the id of the entity |
|
|
the type of the entity |
|
|
name of the bug-tracker use for the current synchronisation |
|
|
id of the bug-tracker use for the current synchronisation |
|
|
name of the synchronisation |
|
|
select type |
|
|
select value |
|
|
JQL script |
|
|
directory where the requirement synchronize is save in Squash TM |
|
|
restrain to active sprint |
|
|
last synchronisation date |
|
|
last successful synchronisation date |
|
|
last status |
|
|
status |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to this synchronisation |
Create synchronisation
A POST
to /projects/{id}/synchronisations
creates a new synchronisation.
HTTP request
POST /api/rest/latest/projects/14/synchronisations HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 160
{
"name" : "demoSynchro",
"synchronisation_path" : "/Test Project-1/demo2",
"select_type" : "BOARD",
"select_value" : "Tableau XS",
"server_id" : 14
}
Request fields
Path | Type | Description |
---|---|---|
|
|
name of the synchronisation (mandatory) |
|
|
directory where the synchronized requirements are saved in Squash TM (mandatory) |
|
|
select type (mandatory) |
|
|
select value (mandatory) |
|
|
id of the bug tracker use for the current synchronisation (mandatory) |
Request parameters
Parameter | Description |
---|---|
|
which fields of the elements should be returned (optional) |
Example response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 563
{
"_type" : "synchronisation",
"id" : 4,
"name" : "demoSynchro",
"server_name" : "BugtrackerDemo3",
"server_id" : 14,
"select_type" : "BOARD",
"select_value" : "Tableau XS",
"additional_JQL" : "",
"synchronisation_path" : "/Test Project-1/demo2",
"restrain_to_active_sprint" : false,
"last_sync_date" : "2020/03/27 10:20",
"last_successful_sync_date" : "2020/03/27 10:20",
"last_status" : "Passed",
"status" : "Passed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/synchronisations/4"
}
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the id of the entity |
|
|
the type of the entity |
|
|
name of the bug tracker used for the current synchronisation |
|
|
id of the bug tracker used for the current synchronisation |
|
|
name of the synchronisation |
|
|
select type |
|
|
select value |
|
|
JQL script |
|
|
directory where the synchronized requirements are saved in Squash TM |
|
|
restrain to active sprint |
|
|
last synchronisation date |
|
|
last successful synchronisation date |
|
|
last status |
|
|
status |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to this synchronisation |
Modify synchronisation
A PATCH
to /synchronisations/{id}
modifies synchronisation with the given id. Only name, select value and additional JQL which can be modified
HTTP request
PATCH /api/rest/latest/synchronisations/4 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 92
{
"name" : "UpdateDemoSynchro",
"select_value" : "tab Update",
"additional_JQL" : ""
}
Path parameters
Parameter | Description |
---|---|
|
the id of the synchronisation |
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 569
{
"_type" : "synchronisation",
"id" : 4,
"name" : "UpdateDemoSynchro",
"server_name" : "BugtrackerDemo3",
"server_id" : 14,
"select_type" : "BOARD",
"select_value" : "tab Update",
"additional_JQL" : "",
"synchronisation_path" : "/Test Project-1/demo2",
"restrain_to_active_sprint" : false,
"last_sync_date" : "2020/03/27 10:20",
"last_successful_sync_date" : "2020/03/27 10:20",
"last_status" : "Passed",
"status" : "Passed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/synchronisations/4"
}
}
}
Launch Synchronisation
A GET
to /synchronisations/{id}/synchronize
launch synchronisation project
HTTP request
GET /api/rest/latest/synchronisations/4/synchronize HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Path parameters
Parameter | Description |
---|---|
|
the id of the synchronisation |
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 563
{
"_type" : "synchronisation",
"id" : 4,
"name" : "demoSynchro",
"server_name" : "BugtrackerDemo3",
"server_id" : 14,
"select_type" : "BOARD",
"select_value" : "Tableau XS",
"additional_JQL" : "",
"synchronisation_path" : "/Test Project-1/demo2",
"restrain_to_active_sprint" : false,
"last_sync_date" : "2020/03/27 10:20",
"last_successful_sync_date" : "2020/03/27 10:20",
"last_status" : "Passed",
"status" : "Passed",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/synchronisations/4"
}
}
}
Delete synchronisation
A DELETE
to /synchronisations/{id}
deletes the synchronisation with the given id.
HTTP request
DELETE /api/rest/latest/synchronisations/12 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Path parameters
Parameter | Description |
---|---|
|
the id of the synchronisation |
Example response
HTTP/1.1 204 No Content
Field mappings
This chapter focuses on field mappings.
Get all field mappings
A GET
to /projects/{id}/field-mappings
returns all the field mappings of a project.
HTTP request
GET /api/rest/latest/projects/14/field-mappings HTTP/1.1
Accept: application/json
Host: localhost:8080
Request parameters
Parameter | Description |
---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which attributes of the returned entities should be sorted on (optional) |
|
which fields of the elements should be returned (optional) |
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 852
{
"_embedded" : {
"field-mappings" : [ {
"_type" : "field-mapping",
"locked" : false,
"squash_field" : "CREATED_BY",
"jira_field" : "createdBy",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/field-mappings/CREATED_BY"
}
}
}, {
"_type" : "field-mapping",
"locked" : false,
"squash_field" : "CREATED_ON",
"jira_field" : "createdOn",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/field-mappings/CREATED_ON"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/field-mappings"
}
},
"page" : {
"size" : 2,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the list of elements for that page |
|
|
the page size for that query |
|
|
total number of elements the client is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |
Get field mapping
A GET
to /projects/{projectId}/field-mappings/{id}
returns the field mapping with the given id.
Path parameters
Parameter | Description |
---|---|
|
the id of the project |
|
the id of the field mapping |
HTTP request
GET /api/rest/latest/projects/14/field-mappings/CREATED_BY HTTP/1.1
Accept: application/json
Host: localhost:8080
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 245
{
"_type" : "field-mapping",
"locked" : false,
"squash_field" : "CREATED_BY",
"jira_field" : "create",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/field-mappings/CREATED_BY"
}
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the type of the entity |
|
|
squash Field |
|
|
jira Field |
|
|
locked |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to this field-mapping |
Create field mappings
A POST
to /projects/{id}/field-mappings
creates a new field mapping.
HTTP request
POST /api/rest/latest/projects/14/field-mappings HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 91
{
"_type" : "field-mapping",
"squash_field" : "CREATED_BY",
"jira_field" : "create"
}
Path parameters
Parameter | Description |
---|---|
|
the id of the project |
Example response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 245
{
"_type" : "field-mapping",
"locked" : false,
"squash_field" : "CREATED_BY",
"jira_field" : "create",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/field-mappings/CREATED_BY"
}
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the type of the entity |
|
|
field of the mapping on squash side |
|
|
field of the mapping on jira side |
|
|
whether the field is locked |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to this entity |
Modify field mapping
A PATCH
to /projects/{projectId}/field-mappings/{id}
modifies the field mapping with the given id.
HTTP request
PATCH /api/rest/latest/projects/14/field-mappings/CREATED_BY HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 95
{
"_type" : "field-mapping",
"squash_field" : "Created by",
"jira_field" : "created by"
}
Path parameters
Parameter | Description |
---|---|
|
the id of the project |
|
the id of the field mapping, the id of a field mapping is its squash field name |
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 255
{
"_type" : "field-mapping",
"locked" : false,
"squash_field" : "Created by",
"jira_field" : "created by",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/14/field-mappings/Created%252520by"
}
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the type of the entity |
|
|
field of the mapping on squash side |
|
|
field of the mapping on jira side |
|
|
whether the field is locked |
|
|
related links |
Links
Relation | Description |
---|---|
|
link to this field-mapping |
Delete field mappings
A DELETE
to /info-lists/{id}
deletes the field mapping with the given id.
HTTP request
DELETE /api/rest/latest/projects/14/field-mappings/CREATED_BY HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Path parameters
Parameter | Description |
---|---|
|
the id of the project |
|
a list of id of field mapping |
Example response
HTTP/1.1 204 No Content
Value Mapping
This chapter focuses on the value mapping .
Get value mapping
A GET
to /projects/{id}/value-mappings-script
returns the value mapping of the given project.
HTTP request
GET /api/rest/latest/projects/14/value-mappings-script HTTP/1.1
Accept: application/json
Host: localhost:8080
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 73
{
"_type" : "value-mapping",
"script" : "valeurjira4:valeursquash4"
}
Response fields
Path | Type | Description |
---|---|---|
|
|
the type of the entity |
|
|
the mapping script.The mapping is suitable for the YAML syntax. It currently works for the criticality, category and status fields |
Edit value mapping
A POST
to /projects/{id}/value-mappings-script
set or edit the value mapping for the given project.
HTTP request
POST /api/rest/latest/projects/14/value-mappings-script HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Content-Length: 73
{
"_type" : "value-mapping",
"script" : "valeurjira1:valeursquash1"
}
Path parameters
Parameter | Description |
---|---|
|
the id of the project |
Example response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 73
{
"_type" : "value-mapping",
"script" : "valeurjira1:valeursquash1"
}