IssueCRUD
Create Issue¶
Attempt to create an issue
Request¶
Request body¶
Attribute | Type | Required | Notes |
---|---|---|---|
name | string | yes | name of issue |
description | string | no | description of issue |
projectId | integer | yes | id of the project the issue is assigned to |
issueTypeId | integer | yes | defines type of issue |
priorityId | integer | yes | defines priority of issue |
statusId | integer | yes | defines status |
scheduleId | integer | no | defines schedule id |
assignedId | integer | no | |
parentType | integer | no | defines type of parent issue |
parentId | integer | no | defines id of parent issue |
private | boolean | no | defines if issue is private |
dueDate | string | no | due date of issue |
estimated | integer | no | estimate time to resolve issue |
spent | integer | no | time spent on issue |
gitlabIssueId | integer | no | defines gitlab issue id |
gitlabIssueIid | integer | no | defines gitlab issue iid |
labels | array | no | array of integers that define labels |
collaborators | array | no | array of integers that define collaborators |
Request body example¶
{
"name": "test",
"description": "test",
"projectId": {
"id": 1
},
"issueTypeId": {
"id": 1
},
"priorityId": {
"id": 1
},
"statusId": {
"id": 1
},
"scheduleId": {
"id": 1
},
"assignedId": {
"id": 1
},
"parentType": {
"id": 1
},
"parentId": 1,
"private": false,
"dueDate": "2023-03-16T10:17:04.000Z",
"estimated": 0,
"spent": 0,
"gitlabIssueId": 2,
"gitlabIssueIid": 2,
"labels": 1,
"collaborators": [0]
}
curl --location 'https://example.juno.one/issues' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MjMzOTQwNn0.XWAuQmaKsv5fh60umfYO2gMwtXUjWLWsy6HbDt_fQXV6HPhgQhMkqmmzhWaCXsUP9h-dvKrQowLdqBqHHTYQAA' \
--header 'X-TenantID: example' \
--header 'Content-Type: application/json' \
--data '{
"name": "asd",
"description": null,
"projectId":{
"id": 13
},
"issueTypeId":{
"id": 1
},
"priorityId":{
"id": 0
},
"statusId":{
"id": 0
},
"scheduleId": null,
"assignedId": null,
"parentType": null,
"parentId": null,
"private": false,
"dueDate": null,
"estimated": 0,
"spent": 0,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"labels": [],
"collaborators": []
}'
import requests
import json
url = "https://example.juno.one/issues"
payload = json.dumps({
"name": "asd",
"description": None,
"projectId": {
"id": 13
},
"issueTypeId": {
"id": 1
},
"priorityId": {
"id": 0
},
"statusId": {
"id": 0
},
"scheduleId": None,
"assignedId": None,
"parentType": None,
"parentId": None,
"private": False,
"dueDate": None,
"estimated": 0,
"spent": 0,
"gitlabIssueId": None,
"gitlabIssueIid": None,
"labels": [],
"collaborators": []
})
headers = {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
'X-TenantID': 'example',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
val client = OkHttpClient()
val mediaType = "application/json".toMediaType()
val body = "{\n \"name\": \"asd\",\n \"description\": null,\n \"projectId\":{\n \"id\": 13\n },\n \"issueTypeId\":{\n \"id\": 1\n },\n \"priorityId\":{\n \"id\": 0\n },\n \"statusId\":{\n \"id\": 0\n },\n \"scheduleId\": null,\n \"assignedId\": null,\n \"parentType\": null,\n \"parentId\": null,\n \"private\": false,\n \"dueDate\": null,\n \"estimated\": 0,\n \"spent\": 0,\n \"gitlabIssueId\": null,\n \"gitlabIssueIid\": null,\n \"labels\": [],\n \"collaborators\": []\n\n}".toRequestBody(mediaType)
val request = Request.Builder()
.url("https://example.juno.one/issues")
.post(body)
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
.addHeader("X-TenantID", "example")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()
Response¶
Successful response of issue create has the status 200
with following response body:
{
"id": 2897,
"name": "asd",
"description": null,
"projectId": {
"id": 13,
"name": "G: Turborohlik mobilní aplikace",
"test_case_robust": true
},
"issueTypeId": {
"id": 1,
"name": "bug"
},
"parentId": null,
"priorityId": {
"id": 49,
"name": "Low",
"priorityId": 1,
"projectId": {
"id": 13,
"name": "G: Turborohlik mobilní aplikace",
"test_case_robust": true
},
"color": "#29a745",
"position": 0
},
"creatorId": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"statusId": {
"id": 85,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"assignedId": null,
"lastUpdator": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"private": false,
"dueDate": null,
"closed": false,
"closed_at": null,
"deleted": false,
"deleted_at": null,
"created_at": "2023-05-09T10:23:26Z",
"updated_at": "2023-05-09T10:23:26Z",
"estimated": 0,
"estimated_from_children": 0,
"spent": 0,
"spent_from_children": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null,
"labels": [],
"collaborators": [],
"comments": [],
"testExecutions": []
}
400
Bad Request
404
Not found
406
Insufficient permision
Find Issue¶
Attempt to find an issue specified by issue id
Request¶
Parameters¶
Parameter | Type | Required | Notes |
---|---|---|---|
id | Path | yes | defines id of the issue |
Request body¶
This endpoint does not have a request body
curl --location 'https://example.juno.one/issues/13' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MjMzOTQwNn0.XWAuQmaKsv5fh60umfYO2gMwtXUjWLWsy6HbDt_fQXV6HPhgQhMkqmmzhWaCXsUP9h-dvKrQowLdqBqHHTYQAA' \
--header 'X-tenantId: example' \
--data ''
import requests
url = "https://example.juno.one/issues/13"
payload = ""
headers = {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
'X-tenantId': 'example'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
val client = OkHttpClient()
val request = Request.Builder()
.url("https://example.juno.one/issues/13")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
.addHeader("X-tenantId", "example")
.build()
val response = client.newCall(request).execute()
Response¶
Successful response of issue find has the status 200
with following response body:
{
"id": 13,
"name": "asd",
"description": null,
"projectId": {
"id": 42,
"name": "ORP - Oxpointy",
"test_case_robust": true
},
"issueTypeId": {
"id": 1,
"name": "bug"
},
"parentId": null,
"priorityId": {
"id": 49,
"name": "Low",
"priorityId": 1,
"projectId": {
"id": 13,
"name": "G: Turborohlik mobilní aplikace",
"test_case_robust": true
},
"color": "#29a745",
"position": 0
},
"creatorId": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"statusId": {
"id": 85,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"assignedId": null,
"lastUpdator": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"private": false,
"dueDate": null,
"closed": false,
"closed_at": null,
"deleted": true,
"deleted_at": "2021-11-08T10:19:04Z",
"created_at": "2021-11-08T10:18:42Z",
"updated_at": "2023-04-18T12:03:05Z",
"estimated": 0,
"estimated_from_children": 0,
"spent": 0,
"spent_from_children": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null,
"labels": [],
"collaborators": [],
"comments": [],
"testExecutions": []
}
404
Not found
406
Insufficient permision
Update Issue¶
Attempt to update an issue specified by issue id
Request¶
Parameters¶
Parameter | Type | Required | Notes |
---|---|---|---|
id | Path | yes | defines id of an issue |
Request body¶
Attribute | Type | Required | Notes |
---|---|---|---|
name | string | no | |
projectId | integer | no | |
issueTypeId | integer | no | |
statusId | integer | no | |
priorityId | integer | no | |
description | string | no | |
parentId | integer | no | |
parentType | integer | no | |
assignedId | integer | no | |
creatorId | integer | no | |
private | boolean | no | |
dueDate | string | no | |
estimated | integer | no | |
spent | integer | no | |
gitlabIssueId | integer | no | |
gitlabIssueIid | integer | no | |
scheduleId | integer | no |
Request body example¶
{
"name": "asd",
"description": null,
"projectId": {
"id": 42
},
"issueTypeId": {
"id": 1
},
"parentId": null,
"priorityId": {
"id": 49
},
"creatorId": {
"id": 13
},
"statusId": {
"id": 85
},
"assignedId": null,
"private": false,
"dueDate": null,
"estimated": 0,
"spent": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null
}
curl --location --request PUT 'https://example.juno.one/issues/13' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MjMzOTQwNn0.XWAuQmaKsv5fh60umfYO2gMwtXUjWLWsy6HbDt_fQXV6HPhgQhMkqmmzhWaCXsUP9h-dvKrQowLdqBqHHTYQAA' \
--header 'X-tenantId: example' \
--header 'Content-Type: application/json' \
--data '{
"name": "asd",
"description": null,
"projectId": {
"id": 42
},
"issueTypeId": {
"id": 1
},
"parentId": null,
"priorityId": {
"id": 49
},
"creatorId": {
"id": 13
},
"statusId": {
"id": 85
},
"assignedId": null,
"private": false,
"dueDate": null,
"estimated": 0,
"spent": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null
}'
import requests
import json
url = "https://example.juno.one/issues/13"
payload = json.dumps({
"name": "asd",
"description": None,
"projectId": {
"id": 42
},
"issueTypeId": {
"id": 1
},
"parentId": None,
"priorityId": {
"id": 49
},
"creatorId": {
"id": 13
},
"statusId": {
"id": 85
},
"assignedId": None,
"private": False,
"dueDate": None,
"estimated": 0,
"spent": 0,
"parentType": None,
"gitlabIssueId": None,
"gitlabIssueIid": None,
"scheduleId": None
})
headers = {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
'X-tenantId': 'example',
'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
val client = OkHttpClient()
val mediaType = "application/json".toMediaType()
val body = "{\n\n \"name\": \"asd\",\n \"description\": null,\n \"projectId\": {\n \"id\": 42\n \n },\n \"issueTypeId\": {\n \"id\": 1\n \n },\n \"parentId\": null,\n \"priorityId\": {\n \"id\": 49\n },\n \"creatorId\": {\n \"id\": 13\n },\n \"statusId\": {\n \"id\": 85\n\n },\n \"assignedId\": null,\n\n \"private\": false,\n \"dueDate\": null,\n\n\n \"estimated\": 0,\n\n \"spent\": 0,\n\n \"parentType\": null,\n \"gitlabIssueId\": null,\n \"gitlabIssueIid\": null,\n \"scheduleId\": null\n\n}".toRequestBody(mediaType)
val request = Request.Builder()
.url("https://example.juno.one/issues/13")
.put(body)
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
.addHeader("X-tenantId", "example")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()
Response¶
Successful response of issue update has the status 200
with following response body:
{
"id": 13,
"name": "asd",
"description": null,
"projectId": {
"id": 42,
"name": "ORP - Oxpointy",
"test_case_robust": true
},
"issueTypeId": {
"id": 1,
"name": "bug"
},
"parentId": null,
"priorityId": {
"id": 49,
"name": "Low",
"priorityId": 1,
"projectId": {
"id": 13,
"name": "G: Turborohlik mobilní aplikace",
"test_case_robust": true
},
"color": "#29a745",
"position": 0
},
"creatorId": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"statusId": {
"id": 85,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"assignedId": null,
"lastUpdator": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"private": false,
"dueDate": null,
"closed": false,
"closed_at": null,
"deleted": true,
"deleted_at": "2021-11-08T10:19:04Z",
"created_at": "2021-11-08T10:18:42Z",
"updated_at": "2023-05-09T10:25:58Z",
"estimated": 0,
"estimated_from_children": 0,
"spent": 0,
"spent_from_children": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null,
"labels": [],
"collaborators": [],
"comments": [],
"testExecutions": []
}
400
Bad Request
404
Not found
406
Insufficient permision
Delete issue¶
Attempt to delete an issue specified by issue id
Request¶
Parameters¶
Parameter | Type | Required | Notes |
---|---|---|---|
id | Path | yes | defines id of an issue |
Request body¶
This endpoint does not have a request body
curl --location --request DELETE 'https://example.juno.one/issues/delete/1' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MjMzOTQwNn0.XWAuQmaKsv5fh60umfYO2gMwtXUjWLWsy6HbDt_fQXV6HPhgQhMkqmmzhWaCXsUP9h-dvKrQowLdqBqHHTYQAA' \
--header 'X-TenantID: example'
import requests
url = "https://example.juno.one/issues/delete/1"
payload = {}
headers = {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
'X-TenantID': 'example'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = "".toRequestBody(mediaType)
val request = Request.Builder()
.url("https://example.juno.one/issues/delete/1")
.method("DELETE", body)
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
.addHeader("X-TenantID", "example")
.build()
val response = client.newCall(request).execute()
Response¶
Successful response of issue delete has the status 200
with following response body:
{
"id": 1,
"name": "xxssxs",
"description": "grgrrr",
"projectId": {
"id": 3,
"name": "I: Nejlepší řeznictví",
"test_case_robust": true
},
"issueTypeId": {
"id": 1,
"name": "bug"
},
"parentId": null,
"priorityId": {
"id": 12,
"name": "Critical",
"priorityId": 4,
"projectId": {
"id": 3,
"name": "I: Nejlepší řeznictví",
"test_case_robust": true
},
"color": "#DC3545",
"position": 0
},
"creatorId": {
"id": 9,
"firstname": "Kája",
"lastname": "Nováčková",
"email": "daslfuihasdf@asdfkolhju.cz",
"avatar": "6",
"deleted": true,
"language": "cs"
},
"statusId": {
"id": 15,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"assignedId": {
"id": 4,
"firstname": "Markét",
"lastname": "Vopatová",
"email": "marketa@pokus.cz",
"avatar": "1",
"deleted": false,
"language": "cs"
},
"lastUpdator": {
"id": 9,
"firstname": "Kája",
"lastname": "Nováčková",
"email": "daslfuihasdf@asdfkolhju.cz",
"avatar": "6",
"deleted": true,
"language": "cs"
},
"private": false,
"dueDate": null,
"closed": false,
"closed_at": null,
"deleted": true,
"deleted_at": "2023-05-09T10:29:16Z",
"created_at": "2021-06-27T17:23:03Z",
"updated_at": "2023-05-09T10:29:16Z",
"estimated": 0,
"estimated_from_children": 0,
"spent": 0,
"spent_from_children": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null,
"labels": [],
"collaborators": [],
"comments": [
{
"id": 432,
"userId": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"description": "asedae\n\nasedxasedx\nsedx\nase\ndas\ned\nxas\nexd\nase\ndxas\nedx\nas\nxedased\nxas\ned\nxas\ned\nxas\nedxasxed\nas\ned\nase\nxdasexd",
"created_at": "2022-09-07T09:25:04Z",
"updated_at": "2023-05-09T10:29:16Z",
"deleted": false,
"deleted_at": null
}
],
"testExecutions": [
{
"id": 1,
"testPlanId": {
"id": 1,
"name": "Kontinuální testování WEBu"
},
"testStepId": 499,
"creatorId": {
"id": 1,
"firstname": "Admin",
"lastname": "Test",
"email": "asdfsdfg@sdfgiluh.vzxcv",
"avatar": null,
"deleted": false,
"language": "cs"
},
"statusId": {
"id": 1,
"name": "No Run",
"projectId": {
"id": 1,
"name": "Rohlik.cz - výchozí projektt",
"test_case_robust": true
},
"state": 0,
"color": "#798295"
},
"actual_result": "",
"duration": 0,
"position": 1,
"batchId": 1,
"jiraIssueId": null,
"jiraIssueUrl": null,
"created_at": "2022-03-22T11:33:03Z",
"updated_at": "2022-03-22T11:33:03Z",
"related_issues": [
{
"id": 1,
"issueTypeId": {
"id": 1,
"name": "bug"
},
"statusId": {
"id": 15,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"closed": false,
"deleted": true
}
],
"related_jira_issues": [
{
"id": 246,
"jiraIssueId": 14,
"jiraKeyId": "DNTPPJI-1",
"jiraLink": "https://domain.atlassian.net/browse/DNTPPJI-189",
"closed": false,
"closed_at": null,
"deleted": false,
"deleted_at": null,
"created_at": "2023-05-02T10:56:50.000+00:00",
"updated_at": "2023-05-02T10:56:50.000+00:00"
}
]
}
]
}
404
Not found
406
Insufficient permision
Undelete issue¶
Attempt to undelete an issue specified by an issue id
Request¶
Parameters¶
Parameter | Type | Required | Notes |
---|---|---|---|
id | Path | yes | defines the id of an issue |
Request body¶
This endpoint does not have a request body
curl --location --request DELETE 'https://example.juno.one/issues/undelete/1' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MjMzOTQwNn0.XWAuQmaKsv5fh60umfYO2gMwtXUjWLWsy6HbDt_fQXV6HPhgQhMkqmmzhWaCXsUP9h-dvKrQowLdqBqHHTYQAA' \
--header 'X-TenantID: example'
import requests
url = "https://example.juno.one/issues/undelete/1"
payload = {}
headers = {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
'X-TenantID': 'example'
}
response = requests.request("DELETE", url, headers=headers, data=payload)
print(response.text)
val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = "".toRequestBody(mediaType)
val request = Request.Builder()
.url("https://example.juno.one/issues/undelete/1")
.method("DELETE", body)
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
.addHeader("X-TenantID", "example")
.build()
val response = client.newCall(request).execute()
Response¶
Successful response of issue delete has the status 200
with following response body:
{
"id": 1,
"name": "xxssxs",
"description": "grgrrr",
"projectId": {
"id": 3,
"name": "I: Nejlepší řeznictví",
"test_case_robust": true
},
"issueTypeId": {
"id": 1,
"name": "bug"
},
"parentId": null,
"priorityId": {
"id": 12,
"name": "Critical",
"priorityId": 4,
"projectId": {
"id": 3,
"name": "I: Nejlepší řeznictví",
"test_case_robust": true
},
"color": "#DC3545",
"position": 0
},
"creatorId": {
"id": 9,
"firstname": "Kája",
"lastname": "Nováčková",
"email": "daslfuihasdf@asdfkolhju.cz",
"avatar": "6",
"deleted": true,
"language": "cs"
},
"statusId": {
"id": 15,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"assignedId": {
"id": 4,
"firstname": "Markét",
"lastname": "Vopatová",
"email": "marketa@pokus.cz",
"avatar": "1",
"deleted": false,
"language": "cs"
},
"lastUpdator": {
"id": 9,
"firstname": "Kája",
"lastname": "Nováčková",
"email": "daslfuihasdf@asdfkolhju.cz",
"avatar": "6",
"deleted": true,
"language": "cs"
},
"private": false,
"dueDate": null,
"closed": false,
"closed_at": null,
"deleted": false,
"deleted_at": null,
"created_at": "2021-06-27T17:23:03Z",
"updated_at": "2023-05-09T10:34:39Z",
"estimated": 0,
"estimated_from_children": 0,
"spent": 0,
"spent_from_children": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null,
"labels": [],
"collaborators": [],
"comments": [
{
"id": 432,
"userId": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"description": "asedae\n\nasedxasedx\nsedx\nase\ndas\ned\nxas\nexd\nase\ndxas\nedx\nas\nxedased\nxas\ned\nxas\ned\nxas\nedxasxed\nas\ned\nase\nxdasexd",
"created_at": "2022-09-07T09:25:04Z",
"updated_at": "2023-05-09T10:29:16Z",
"deleted": false,
"deleted_at": null
}
],
"testExecutions": [
{
"id": 1,
"testPlanId": {
"id": 1,
"name": "Kontinuální testování WEBu"
},
"testStepId": 499,
"creatorId": {
"id": 1,
"firstname": "Admin",
"lastname": "Test",
"email": "asdfsdfg@sdfgiluh.vzxcv",
"avatar": null,
"deleted": false,
"language": "cs"
},
"statusId": {
"id": 1,
"name": "No Run",
"projectId": {
"id": 1,
"name": "Rohlik.cz - výchozí projektt",
"test_case_robust": true
},
"state": 0,
"color": "#798295"
},
"actual_result": "",
"duration": 0,
"position": 1,
"batchId": 1,
"jiraIssueId": null,
"jiraIssueUrl": null,
"created_at": "2022-03-22T11:33:03Z",
"updated_at": "2022-03-22T11:33:03Z",
"related_issues": [
{
"id": 1,
"issueTypeId": {
"id": 1,
"name": "bug"
},
"statusId": {
"id": 15,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"closed": false,
"deleted": false
}
],
"related_jira_issues": [
{
"id": 246,
"jiraIssueId": 14,
"jiraKeyId": "DNTPPJI-1",
"jiraLink": "https://domain.atlassian.net/browse/DNTPPJI-189",
"closed": false,
"closed_at": null,
"deleted": false,
"deleted_at": null,
"created_at": "2023-05-02T10:56:50.000+00:00",
"updated_at": "2023-05-02T10:56:50.000+00:00"
}
]
}
]
}
404
Not found
406
Insufficient permision
Bulk edit issues¶
Attempt to bulk edit issues.
Request¶
Request body¶
Attribute | Type | Required | Notes |
---|---|---|---|
issuesIds | integer | yes | defines issues ids |
creatorId | integer | no | defines issue creator id |
assigneeId | integer | no | defines id of the person the issue is assigned to |
issueTypeId | integer | no | defines issue type id |
priorityId | integer | no | defines priority id |
reviewStatusId | integer | no | defines review status id |
nestedLabelIds | integer | no | defines nested label id |
collaboratorsIds | integer | no | defines ids of collaborators |
roadmapId | integer | no | defines roadmap id |
Request body example¶
{
"issuesIds": [
1
],
"creatorId": {
"creatorId": {
"id": 0
},
"toEdit": false
},
"assigneeId": {
"assigneeId": {
"id": 0
},
"toEdit": false
},
"issueTypeId": {
"issueTypeId": {
"id": 0
},
"toEdit": false
},
"priorityId": {
"priorityId": {
"id": 1
},
"toEdit": false
},
"reviewStatusId": {
"reviewStatusId": {
"id": 1
},
"toEdit": false
},
"nestedLabelIds": {
"nestedLabelIds": [
1
],
"toEdit": false
},
"collaboratorsIds": {
"collaboratorIds": [
1
],
"toEdit": false
},
"roadmapId": {
"roadmapId": {
"id": {
"id": 1
}
},
"toEdit": false
}
}
curl --location --request PUT 'https://example.juno.one/issues/bulk-edit' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MjMzOTQwNn0.XWAuQmaKsv5fh60umfYO2gMwtXUjWLWsy6HbDt_fQXV6HPhgQhMkqmmzhWaCXsUP9h-dvKrQowLdqBqHHTYQAA' \
--header 'x-tenantID: example' \
--header 'Content-Type: application/json' \
--data '{
"issueIds": [1],
"creatorId": {
"creatorId": {
"id": 0
},
"toEdit": false
},
"assigneeId":{
"assigneeId": {
"id": 0
},
"toEdit": false
},
"issueTypeId":{
"issueTypeId": {
"id": 0
},
"toEdit": false
},
"priorityId":{
"priorityId": {
"id": 0
}
,
"toEdit": false
},
"reviewStatusId":{
"reviewStatusId": {
"id": 0
},
"toEdit": false
},
"nestedLabelIds":{
"nestedLabelIds": [],
"toEdit": false
},
"collaboratorIds":{
"collaboratorIds": [],
"toEdit": false
},
"roadmapId":{
"roadmapId": {
"id": 0
},
"toEdit": false
}
}'
import requests
import json
url = "https://example.juno.one/issues/bulk-edit"
payload = json.dumps({
"issueIds": [
1
],
"creatorId": {
"creatorId": {
"id": 0
},
"toEdit": False
},
"assigneeId": {
"assigneeId": {
"id": 0
},
"toEdit": False
},
"issueTypeId": {
"issueTypeId": {
"id": 0
},
"toEdit": False
},
"priorityId": {
"priorityId": {
"id": 0
},
"toEdit": False
},
"reviewStatusId": {
"reviewStatusId": {
"id": 0
},
"toEdit": False
},
"nestedLabelIds": {
"nestedLabelIds": [],
"toEdit": False
},
"collaboratorIds": {
"collaboratorIds": [],
"toEdit": False
},
"roadmapId": {
"roadmapId": {
"id": 0
},
"toEdit": False
}
})
headers = {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
'x-tenantID': 'example',
'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
val client = OkHttpClient()
val mediaType = "application/json".toMediaType()
val body = "{\n\"issueIds\": [1],\n\"creatorId\": {\n \"creatorId\": {\n \"id\": 0\n },\n \"toEdit\": false\n},\n\"assigneeId\":{\n \"assigneeId\": {\n \"id\": 0\n },\n \"toEdit\": false\n},\n\"issueTypeId\":{\n \"issueTypeId\": {\n \"id\": 0\n },\n \"toEdit\": false\n},\n\"priorityId\":{\n \"priorityId\": {\n \"id\": 0\n }\n ,\n \"toEdit\": false\n},\n\"reviewStatusId\":{\n \"reviewStatusId\": {\n \"id\": 0\n },\n \"toEdit\": false\n},\n\"nestedLabelIds\":{\n \"nestedLabelIds\": [],\n \"toEdit\": false\n},\n\"collaboratorIds\":{\n \"collaboratorIds\": [],\n \"toEdit\": false\n},\n\"roadmapId\":{\n \"roadmapId\": {\n \"id\": 0\n },\n \"toEdit\": false\n}\n\n}".toRequestBody(mediaType)
val request = Request.Builder()
.url("https://example.juno.one/issues/bulk-edit")
.put(body)
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
.addHeader("x-tenantID", "example")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()
Response¶
Successful response of issue bulk edit has the status 200
with following response body:
[
{
"id": 1,
"name": "xxssxs",
"description": "grgrrr",
"projectId": {
"id": 3,
"name": "I: Nejlepší řeznictví",
"test_case_robust": true
},
"issueTypeId": {
"id": 1,
"name": "bug"
},
"parentId": null,
"priorityId": {
"id": 12,
"name": "Critical",
"priorityId": 4,
"projectId": {
"id": 3,
"name": "I: Nejlepší řeznictví",
"test_case_robust": true
},
"color": "#DC3545",
"position": 0
},
"creatorId": {
"id": 9,
"firstname": "Kája",
"lastname": "Nováčková",
"email": "daslfuihasdf@asdfkolhju.cz",
"avatar": "6",
"deleted": true,
"language": "cs"
},
"statusId": {
"id": 15,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"assignedId": {
"id": 4,
"firstname": "Markét",
"lastname": "Vopatová",
"email": "marketa@pokus.cz",
"avatar": "1",
"deleted": false,
"language": "cs"
},
"lastUpdator": {
"id": 9,
"firstname": "Kája",
"lastname": "Nováčková",
"email": "daslfuihasdf@asdfkolhju.cz",
"avatar": "6",
"deleted": true,
"language": "cs"
},
"private": false,
"dueDate": null,
"closed": false,
"closed_at": null,
"deleted": false,
"deleted_at": null,
"created_at": "2021-06-27T17:23:03Z",
"updated_at": "2023-05-09T10:37:15Z",
"estimated": 0,
"estimated_from_children": 0,
"spent": 0,
"spent_from_children": 0,
"parentType": null,
"gitlabIssueId": null,
"gitlabIssueIid": null,
"scheduleId": null,
"labels": [],
"collaborators": [],
"comments": [
{
"id": 432,
"userId": {
"id": 13,
"firstname": "Super+1",
"lastname": "Admin ",
"email": "test@juno.one",
"avatar": "2",
"deleted": false,
"language": "en"
},
"description": "asedae\n\nasedxasedx\nsedx\nase\ndas\ned\nxas\nexd\nase\ndxas\nedx\nas\nxedased\nxas\ned\nxas\ned\nxas\nedxasxed\nas\ned\nase\nxdasexd",
"created_at": "2022-09-07T09:25:04Z",
"updated_at": "2023-05-09T10:29:16Z",
"deleted": false,
"deleted_at": null
}
],
"testExecutions": [
{
"id": 1,
"testPlanId": {
"id": 1,
"name": "Kontinuální testování WEBu"
},
"testStepId": 499,
"creatorId": {
"id": 1,
"firstname": "Admin",
"lastname": "Test",
"email": "asdfsdfg@sdfgiluh.vzxcv",
"avatar": null,
"deleted": false,
"language": "cs"
},
"statusId": {
"id": 1,
"name": "No Run",
"projectId": {
"id": 1,
"name": "Rohlik.cz - výchozí projektt",
"test_case_robust": true
},
"state": 0,
"color": "#798295"
},
"actual_result": "",
"duration": 0,
"position": 1,
"batchId": 1,
"jiraIssueId": null,
"jiraIssueUrl": null,
"created_at": "2022-03-22T11:33:03Z",
"updated_at": "2022-03-22T11:33:03Z",
"related_issues": [
{
"id": 1,
"issueTypeId": {
"id": 1,
"name": "bug"
},
"statusId": {
"id": 15,
"name": "Backlog",
"color": "#23be62",
"deleted": false,
"final": false
},
"closed": false,
"deleted": false
}
],
"related_jira_issues": [
{
"id": 246,
"jiraIssueId": 14,
"jiraKeyId": "DNTPPJI-1",
"jiraLink": "https://domain.atlassian.net/browse/DNTPPJI-189",
"closed": false,
"closed_at": null,
"deleted": false,
"deleted_at": null,
"created_at": "2023-05-02T10:56:50.000+00:00",
"updated_at": "2023-05-02T10:56:50.000+00:00"
}
]
}
]
}
]
400
Bad Request
404
Not found
406
Insufficient permision