Skip to content

TestAnalysisWorkflow

Add workflow

Attempt to add workflow to a test analysis

Request

post /test-analysis-workflow

Request body

Attribute Type Required Notes
teamId object yes object containing id (integer) that defines a team
fromStatus object yes object containing id (integer) that defines the last status
toStatus object yes object containing id (integer) that defines a new status
projectId object yes object containing id (integer) that defines the project

Request body example

{
    "teamId": {
        "id": 1
    },
    "fromStatus": {
        "id": 1
    },
    "toStatus": {
        "id": 1
    },
    "projectId": {
        "id": 13
    }
}
curl --location 'https://example.juno.one/test-analysis-workflow' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA' \
--header 'X-TenantID: example' \
--header 'Content-Type: application/json' \
--data '{
    "teamId": {
        "id": 1
    },
    "fromStatus": {
        "id": 1
    },
    "toStatus": {
        "id": 1
    },
    "projectId": {
        "id": 13
    }
}'
import requests
import json

url = "https://example.juno.one/test-analysis-workflow"

payload = json.dumps({
  "teamId": {
    "id": 1
  },
  "fromStatus": {
    "id": 1
  },
  "toStatus": {
    "id": 1
  },
  "projectId": {
    "id": 13
  }
})
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    \"teamId\": {\n        \"id\": 1\n    },\n    \"fromStatus\": {\n        \"id\": 1\n    },\n    \"toStatus\": {\n        \"id\": 1\n    },\n    \"projectId\": {\n        \"id\": 13\n    }\n}".toRequestBody(mediaType)
val request = Request.Builder()
  .url("https://example.juno.one/test-analysis-workflow")
  .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 add workflow to test analysis has the status 200 with following response body:

{
  "id": 1,
  "teamId": {
    "id": 1,
    "name": "demo team",
    "deleted": false,
    "deleted_at": null,
    "created_at": "2021-08-04T10:20:11.000Z",
    "updated_at": "2021-08-04T10:20:11.000Z",
    "roles": [
      {
        "id": 1,
        "name": "demo role",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-08-04T10:20:11.000Z",
        "updated_at": "2021-08-04T10:20:11.000Z",
        "perms": [
          {
            "id": 1,
            "module_id": 9,
            "module_name": "privilege.module.settings",
            "position": 1,
            "position_name": "privilege.module.settTeams",
            "column_id": 1,
            "disabled": false,
            "name": "view teams",
            "description": "privilege.viewTeams",
            "guard_name": "api",
            "created_at": "2023-01-16T14:37:21.000Z",
            "updated_at": "2023-01-16T14:37:21.000Z"
          }
        ]
      }
    ]
  },
  "fromStatus": {
    "id": 1,
    "name": "test",
    "projectId": {
      "id": 13,
      "name": "test",
      "test_case_robust": true
    },
    "state": 1,
    "color": "#29a745",
    "final": true,
    "position": 1,
    "deleted": false,
    "deleted_at": "2023-03-16T10:17:04.000Z",
    "created_at": "2023-03-16T10:17:04.000Z",
    "updated_at": "2023-03-16T10:17:04.000Z"
  },
  "toStatus": {
    "id": 1,
    "name": "test",
    "projectId": {
      "id": 13,
      "name": "test",
      "test_case_robust": true
    },
    "state": 1,
    "color": "#29a745",
    "final": true,
    "position": 1,
    "deleted": false,
    "deleted_at": "2023-03-16T10:17:04.000Z",
    "created_at": "2023-03-16T10:17:04.000Z",
    "updated_at": "2023-03-16T10:17:04.000Z"
  },
  "deleted": false,
  "deleted_at": "2023-03-16T10:17:04.000Z",
  "projectId": {
    "id": 13,
    "name": "test",
    "test_case_robust": true
  },
  "position": 1,
  "created_at": "2023-03-16T10:17:04.000Z",
  "updated_at": "2023-03-16T10:17:04.000Z"
}

400 Bad Request

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 400,
    "error": "Bad Request",
    "message": "The request is projectId parameter",
    "path": "/test-analysis-workflow"
}

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Project with id 13 was not found.",
    "path": "/test-analysis-workflow"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow"
}

412 Precondition failed

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 412,
    "error": "Precondition failed",
    "message": "You do not have permission for this action",
    "path": "/test-analysis-workflow"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow"
}

Find workflow

Attempt to find a test analysis workflow specified by an id

Request

get /test-analysis-workflow/{id}

Parameters

Parameter Path/Query Type Required Notes
id path integer yes defines the id of a workflow

Request body

This endpoint does not have a request body


Request body example

curl --location --request GET 'https://example.juno.one/test-analysis-workflow/2' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA' \
--header 'X-TenantID: example' \
--header 'Content-Type: application/json' \
--data '{
    "teamId": {
        "id": 1
    },
    "fromStatus": {
        "id": 1
    },
    "toStatus": {
        "id": 1
    },
    "projectId": {
        "id": 13
    }
}'
import requests
import json

url = "https://example.juno.one/test-analysis-workflow/2"

payload = json.dumps({
  "teamId": {
    "id": 1
  },
  "fromStatus": {
    "id": 1
  },
  "toStatus": {
    "id": 1
  },
  "projectId": {
    "id": 13
  }
})
headers = {
  'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA',
  'X-TenantID': 'example',
  'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
val client = OkHttpClient()
val request = Request.Builder()
  .url("https://example.juno.one/test-analysis-workflow/2")
  .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 find test analysis workflow has the status 200 with following response body:

{
    "id": 2,
    "teamId": {
        "id": 1,
        "name": "Juno Admin",
        "created_at": "2022-09-05T18:59:37Z",
        "updated_at": "2023-04-14T08:27:30Z",
        "deleted": false,
        "deleted_at": null,
        "roles": [
            {
                "id": 1,
                "name": "admin",
                "deleted": false,
                "deleted_at": null,
                "created_at": "2021-06-27T15:22:35Z",
                "updated_at": "2023-03-28T11:27:18Z"
            }
        ]
    },
    "fromStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "toStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "deleted": false,
    "deleted_at": null,
    "projectId": {
        "id": 126,
        "name": "Development",
        "test_case_robust": false
    },
    "position": 1,
    "created_at": "2022-04-21T09:06:08Z",
    "updated_at": "2023-05-02T07:54:56Z"
}

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Workflow with id 2 was not found.",
    "path": "/test-analysis-workflow/2"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/2"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow/2"
}

Update workflow

Attempt to update a test analysis workflow specified by an id

Request

put /test-analysis-workflow/{id}

Parameters

Parameter Path/Query Type Required Notes
id path integer yes defines the id of a workflow

Request body

Attribute Type Required Notes
teamId object yes object containing id (integer) that defines the team
fromStatus object yes object containing id (integer) that defines the last status
toStatus object yes object containing id (integer) that defines a new status

Request body example

{
    "teamId": {
        "id": 1
    },
    "fromStatus": {
        "id": 1
    },
    "toStatus": {
        "id": 1
    }
}
curl --location --request PUT 'https://example.juno.one/test-analysis-workflow/2' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA' \
--header 'X-TenantID: example' \
--header 'Content-Type: application/json' \
--data '{
    "teamId": {
        "id": 1
    },
    "fromStatus": {
        "id": 1
    },
    "toStatus": {
        "id": 1
    }
}'
import requests
import json

url = "https://example.juno.one/test-analysis-workflow/2"

payload = json.dumps({
  "teamId": {
    "id": 1
  },
  "fromStatus": {
    "id": 1
  },
  "toStatus": {
    "id": 1
  }
})
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    \"teamId\": {\n        \"id\": 1\n    },\n    \"fromStatus\": {\n        \"id\": 1\n    },\n    \"toStatus\": {\n        \"id\": 1\n    }\n}".toRequestBody(mediaType)
val request = Request.Builder()
  .url("https://example.juno.one/test-analysis-workflow/2")
  .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 update test analysis workflow has the status 200 with following response body:

{
    "id": 2,
    "teamId": {
        "id": 1,
        "name": "Juno Admin",
        "created_at": "2022-09-05T18:59:37Z",
        "updated_at": "2023-04-14T08:27:30Z",
        "deleted": false,
        "deleted_at": null,
        "roles": [
            {
                "id": 1,
                "name": "admin",
                "deleted": false,
                "deleted_at": null,
                "created_at": "2021-06-27T15:22:35Z",
                "updated_at": "2023-03-28T11:27:18Z"
            }
        ]
    },
    "fromStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "toStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "deleted": false,
    "deleted_at": null,
    "projectId": {
        "id": 126,
        "name": "Development",
        "test_case_robust": false
    },
    "position": 1,
    "created_at": "2022-04-21T09:06:08Z",
    "updated_at": "2023-05-02T07:54:56Z"
}

400 Bad Request

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 400,
    "error": "Bad Request",
    "message": "The request is missing id parameter",
    "path": "/test-analysis-workflow/2"
}

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Workflow with id 2 was not found.",
    "path": "/test-analysis-workflow/2"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/2"
}

412 Precondition failed

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 412,
    "error": "Precondition failed",
    "message": "You do not have permission for this action",
    "path" : "/test-analysis-workflow/2"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path" : "test-analysis-workflow/2"
}

Delete workflow

Attempt to delete a test analysis workflow specified by an id

Request

delete /test-analysis-workflow/2

Parameters

Parameter Path/Query Type Required Notes
id path integer yes defines the id of a workflow

Request body

This endpoint does not have a request body


Request body example

curl --location --request DELETE 'https://example.juno.one/test-analysis-workflow/2' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MzQ0MzkyOX0.mZFizteFbwuKTN35IYGQmIPLc2nZAe3d1ngRODZcKRDSYHUiiCSAKMDbpdPvfHKWwFRg1Z0JTt6rjpg4kE-RIA' \
--header 'X-TenantID: example'
import requests

url = "https://example.juno.one/test-analysis-workflow/2"

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/test-analysis-workflow/2")
  .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 test analysis workflow delete has the status 200 with following response body:

{
    "id": 2,
    "teamId": {
        "id": 1,
        "name": "Juno Admin",
        "created_at": "2022-09-05T18:59:37Z",
        "updated_at": "2023-04-14T08:27:30Z",
        "deleted": false,
        "deleted_at": null,
        "roles": [
            {
                "id": 1,
                "name": "admin",
                "deleted": false,
                "deleted_at": null,
                "created_at": "2021-06-27T15:22:35Z",
                "updated_at": "2023-03-28T11:27:18Z"
            }
        ]
    },
    "fromStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "toStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "deleted": true,
    "deleted_at": "2023-05-11T09:46:17Z",
    "projectId": {
        "id": 126,
        "name": "Development",
        "test_case_robust": false
    },
    "position": 1,
    "created_at": "2022-04-21T09:06:08Z",
    "updated_at": "2023-05-11T09:46:17Z"
}

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Workflow with id 2 was not found.",
    "path": "/test-analysis-workflow/2"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/2"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow/2"
}

Undelete workflow

Attempt to undelete a test analysis workflow specified by an id

Request

delete /test-analysis-workflow/undelete/2

Parameters

Parameter Path/Query Type Required Notes
id path integer yes defines the id of a workflow

Request body

This endpoint does not have a request body


Request body example

curl --location --request DELETE 'https://example.juno.one/test-analysis-workflow/undelete/2' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4MzQ0MzkyOX0.mZFizteFbwuKTN35IYGQmIPLc2nZAe3d1ngRODZcKRDSYHUiiCSAKMDbpdPvfHKWwFRg1Z0JTt6rjpg4kE-RIA' \
--header 'X-TenantID: example'
import requests

url = "https://example.juno.one/test-analysis-workflow/undelete/2"

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/test-analysis-workflow/undelete/2")
  .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 test analysis workflow undelete has the status 200 with following response body:

{
    "id": 2,
    "teamId": {
        "id": 1,
        "name": "Juno Admin",
        "created_at": "2022-09-05T18:59:37Z",
        "updated_at": "2023-04-14T08:27:30Z",
        "deleted": false,
        "deleted_at": null,
        "roles": [
            {
                "id": 1,
                "name": "admin",
                "deleted": false,
                "deleted_at": null,
                "created_at": "2021-06-27T15:22:35Z",
                "updated_at": "2023-03-28T11:27:18Z"
            }
        ]
    },
    "fromStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "toStatus": {
        "id": 1,
        "name": "New",
        "projectId": {
            "id": 1,
            "name": "Rohlik.cz - výchozí projektt",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-09-20T16:08:48+02:00",
        "final": false,
        "position": 1
    },
    "deleted": false,
    "deleted_at": null,
    "projectId": {
        "id": 126,
        "name": "Development",
        "test_case_robust": false
    },
    "position": 1,
    "created_at": "2022-04-21T09:06:08Z",
    "updated_at": "2023-05-11T09:47:51Z"
}

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Workflow with id 2 was not found.",
    "path": "/test-analysis-workflow/undelete/2"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/undelete/2"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow/undelete/2"
}

Filter workflow

Attempt to filter a test analysis workflow

Request

post /test-analysis-workflow/junofilter

Request body

Attribute Type Required Notes
teamIds object no array of objects containing operator and value. operator defines if filter works with "=" or "!=" and value is an integer that defines what is being filtered
projectId integer yes defines the project Id
deleted boolean no defines if deleted workflows are being filtered

Request body example

{
  "teamIds": [
    {
      "operator": "=",
      "value": 1
    }
  ],
  "projectId": 1,
  "deleted": false
}
curl --location 'https://example.juno.one/test-analysis-workflow/junofilter' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA' \
--header 'X-TenantID: example' \
--header 'Content-Type: application/json' \
--data '{
  "teamIds": [
    {
      "operator": "=",
      "value": 1
    }
  ],
  "projectId": 1,
  "deleted": false
}'
import requests
import json

url = "https://example.juno.one/test-analysis-workflow/junofilter"

payload = json.dumps({
  "teamIds": [
    {
      "operator": "=",
      "value": 1
    }
  ],
  "projectId": 1,
  "deleted": False
})
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  \"teamIds\": [\n    {\n      \"operator\": \"=\",\n      \"value\": 1\n    }\n  ],\n  \"projectId\": 1,\n  \"deleted\": false\n}".toRequestBody(mediaType)
val request = Request.Builder()
  .url("https://example.juno.one/test-analysis-workflow/junofilter")
  .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 test analysis workflow junofilter has the status 200 with following response body:

[
  {
    "id": 1,
    "teamId": {
      "id": 1,
      "name": "demo team",
      "deleted": false,
      "deleted_at": null,
      "created_at": "2021-08-04T10:20:11.000Z",
      "updated_at": "2021-08-04T10:20:11.000Z",
      "roles": [
        {
          "id": 1,
          "name": "demo role",
          "deleted": false,
          "deleted_at": null,
          "created_at": "2021-08-04T10:20:11.000Z",
          "updated_at": "2021-08-04T10:20:11.000Z",
          "perms": [
            {
              "id": 1,
              "module_id": 9,
              "module_name": "privilege.module.settings",
              "position": 1,
              "position_name": "privilege.module.settTeams",
              "column_id": 1,
              "disabled": false,
              "name": "view teams",
              "description": "privilege.viewTeams",
              "guard_name": "api",
              "created_at": "2023-01-16T14:37:21.000Z",
              "updated_at": "2023-01-16T14:37:21.000Z"
            }
          ]
        }
      ]
    },
    "fromStatus": {
      "id": 1,
      "name": "test",
      "projectId": {
        "id": 13,
        "name": "test",
        "test_case_robust": true
      },
      "state": 1,
      "color": "#29a745",
      "final": true,
      "position": 1,
      "deleted": false,
      "deleted_at": "2023-03-16T10:17:04.000Z",
      "created_at": "2023-03-16T10:17:04.000Z",
      "updated_at": "2023-03-16T10:17:04.000Z"
    },
    "toStatus": {
      "id": 1,
      "name": "test",
      "projectId": {
        "id": 13,
        "name": "test",
        "test_case_robust": true
      },
      "state": 1,
      "color": "#29a745",
      "final": true,
      "position": 1,
      "deleted": false,
      "deleted_at": "2023-03-16T10:17:04.000Z",
      "created_at": "2023-03-16T10:17:04.000Z",
      "updated_at": "2023-03-16T10:17:04.000Z"
    },
    "deleted": false,
    "deleted_at": "2023-03-16T10:17:04.000Z",
    "projectId": {
      "id": 13,
      "name": "test",
      "test_case_robust": true
    },
    "position": 1,
    "created_at": "2023-03-16T10:17:04.000Z",
    "updated_at": "2023-03-16T10:17:04.000Z"
  }
]

400 Bad Request

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 400,
    "error": "Bad Request",
    "message": "The request is missing projectId parameter",
    "path": "/test-analysis-workflow/junofilter"
}

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Project with id 30 was not found.",
    "path": "/test-analysis-workflow/junofilter"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/junofilter"
}

412 Precondition failed

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 412,
    "error": "Precondition failed",
    "message": "You do not have permission for this action",
    "path": "/test-analysis-workflow/junofilter"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow/junofilter"
}

Find status by test analysis id

Attempt to find statuses in a test analysis workflow specified by a test analysis id

Request

get /test-analysis-workflow/find-statuses-for-test-analysis/{test_analysis_id}

Parameters

Parameter Path/Query Type Required Notes
test_analysis_id path integer yes defines the id of a test analysis

Request body

This endpoint does not have a request body


Request body example

curl --location 'https://example.juno.one/test-analysis-workflow/find-statuses-for-test-analysis/3' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA' \
--header 'X-TenantID: example' \
--data ''
import requests

url = "https://example.juno.one/test-analysis-workflow/find-statuses-for-test-analysis/3"

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/test-analysis-workflow/find-statuses-for-test-analysis/3")
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
  .addHeader("X-TenantID", "example")
  .build()
val response = client.newCall(request).execute()

Response

Successful response of find test analysis workflow status has the status 200 with following response body:

[
    {
        "id": 261,
        "name": "New",
        "projectId": {
            "id": 53,
            "name": "Storage project",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:04+02:00",
        "updated_at": "2021-12-16T15:55:15+01:00",
        "final": false,
        "position": 1
    },
    {
        "id": 262,
        "name": "In Progress",
        "projectId": {
            "id": 53,
            "name": "Storage project",
            "test_case_robust": true
        },
        "state": 3,
        "color": "#23be62",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:04+02:00",
        "updated_at": "2021-12-16T15:55:15+01:00",
        "final": false,
        "position": 2
    },
    {
        "id": 263,
        "name": "For Review",
        "projectId": {
            "id": 53,
            "name": "Storage project",
            "test_case_robust": true
        },
        "state": 2,
        "color": "#45A725",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:04+02:00",
        "updated_at": "2021-12-16T15:55:15+01:00",
        "final": false,
        "position": 3
    },
    {
        "id": 264,
        "name": "For Reworking",
        "projectId": {
            "id": 53,
            "name": "Storage project",
            "test_case_robust": true
        },
        "state": 1,
        "color": "#45A725",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:04+02:00",
        "updated_at": "2021-12-16T15:55:15+01:00",
        "final": false,
        "position": 4
    },
    {
        "id": 265,
        "name": "Approved",
        "projectId": {
            "id": 53,
            "name": "Storage project",
            "test_case_robust": true
        },
        "state": 0,
        "color": "#798295",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:04+02:00",
        "updated_at": "2021-12-16T15:55:15+01:00",
        "final": false,
        "position": 5
    }
]

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Test analysis with id 2 was not found.",
    "path": "/test-analysis-workflow/find-statuses-for-test-analysis/2"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/find-statuses-for-test-analysis/2"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow/find-statuses-for-test-analysis/2"
}

Find initial status

Attempt to find the initial test analysis workflow status specified by a project id

Request

get /test-analysis-workflow/find-statuses-for-project-issue/{ProjectId}

Parameters

Parameter Path/Query Type Required Notes
ProjectId path integer yes defines the id of a project

Request body

This endpoint does not have a request body


Request body example

curl --location 'https://example.juno.one//test-analysis-workflow/find-statuses-for-project-issue/13' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4Mzg3OTMzM30.z_wWV76qntfkGsCDU2uf1gE0_tgr8Xfkoyp8yCSJm8peukTEKGN27Pb1BDwcFdOUdnJSyu2XOQ97-vNjl75_1Q' \
--header 'X-TenantID: example'
import requests

url = "https://example.juno.one/test-analysis-workflow/find-statuses-for-project-issue/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/test-analysis-workflow/find-statuses-for-project-issue/13")
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZXN0QGp1bm8ub25lIiwidGVuYW50SUQiOiJkZXZlbG9wbWVudCIsImV4cCI6MTY4NDQ4MzYyNn0.cYdUo4oiHnkdAywSAb7EFus9PFg-2FYHZPj4gdMML-mKgUVZw9fewOo4QK6U3PqCzGWjFVksz8HULzyKMnV8AA")
  .addHeader("X-TenantID", "example")
  .build()
val response = client.newCall(request).execute()

Response

Successful response of find initial test analysis workflow status has the status 200 with following response body:

[
    {
        "id": 62,
        "name": "In Progress",
        "projectId": {
            "id": 13,
            "name": "G: Turborohlik mobilní aplikace",
            "test_case_robust": true
        },
        "state": 3,
        "color": "#23be62",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-06-27T19:23:00+02:00",
        "final": false,
        "position": 0
    },
    {
        "id": 63,
        "name": "For Review",
        "projectId": {
            "id": 13,
            "name": "G: Turborohlik mobilní aplikace",
            "test_case_robust": true
        },
        "state": 2,
        "color": "#45A725",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-06-27T19:23:00+02:00",
        "final": false,
        "position": 0
    },
    {
        "id": 64,
        "name": "For Reworking",
        "projectId": {
            "id": 13,
            "name": "G: Turborohlik mobilní aplikace",
            "test_case_robust": true
        },
        "state": 1,
        "color": "#45A725",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-06-27T19:23:00+02:00",
        "final": false,
        "position": 0
    },
    {
        "id": 65,
        "name": "Approved",
        "projectId": {
            "id": 13,
            "name": "G: Turborohlik mobilní aplikace",
            "test_case_robust": true
        },
        "state": 0,
        "color": "#798295",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-06-27T19:23:00+02:00",
        "final": false,
        "position": 0
    },
    {
        "id": 61,
        "name": "New",
        "projectId": {
            "id": 13,
            "name": "G: Turborohlik mobilní aplikace",
            "test_case_robust": true
        },
        "state": 4,
        "color": "#e8425c",
        "deleted": false,
        "deleted_at": null,
        "created_at": "2021-06-27T19:23:00+02:00",
        "updated_at": "2021-06-27T19:23:00+02:00",
        "final": false,
        "position": 0
    }
]

404 Not found

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "Project with id 13 was not found.",
    "path": "/test-analysis-workflow/find-statuses-for-project-issue/13"
}

406 Insufficient permision

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 406,
    "error": "Missing permission for action",
    "message": "You do not have a permission for this action",
    "path": "/test-analysis-workflow/find-statuses-for-project-issue/13"
}

500 Unknown error

{
    "timestamp": "2022-02-16T17:11:34.422+00:00",
    "status": 500,
    "error": "Unknown",
    "message": "There was a problem with your request. Please contact your administrator.",
    "path": "/test-analysis-workflow/find-statuses-for-project-issue/13"
}