Q-Rapids
-Quality-aware rapid software development
-This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 732253.
-From ef58abd5e20bd7dd6a3056ea6e8746b7d5526165 Mon Sep 17 00:00:00 2001 From: alejandravv <48628943+alejandravv@users.noreply.github.com> Date: Tue, 16 Jun 2020 12:04:17 +0200 Subject: [PATCH 1/4] Jaspersoft reports (#148) * Working on reports integration in QRapids Dashboard * Report Integration without reports with historical data * Add data picker to reporting view * Improve Reporting view * Correct Strategic Indicators report api endpoint --- docs/asciidoc/index.adoc | 19 +- docs/asciidoc/index.html | 541 +++++++++++++----- .../dto/DTOSICurrentHistoricEvaluation.java | 171 ++++++ .../rest/services/StrategicIndicators.java | 36 ++ .../app/presentation/rest/services/Util.java | 16 + .../web/mapping/ReportingController.java | 10 + src/main/resources/static/css/products.css | 10 +- .../resources/static/css/stylesDashboard.css | 7 + src/main/resources/static/js/navScript.js | 5 + .../static/js/predictionLineChart.js | 53 +- src/main/resources/static/js/product.js | 2 +- src/main/resources/static/js/reporting.js | 197 +++++++ .../resources/static/js/scriptDatePicker.js | 26 +- .../Fragments/TemplateDashboard.html | 1 + .../templates/Reporting/Reporting.html | 75 +++ .../Simulation/SimulationFactors.html | 1 - .../Simulation/SimulationMetrics.html | 1 - .../templates/Simulation/SimulationQR.html | 1 - .../StrategicIndicators/PredictionChart.html | 2 + .../services/StrategicIndicatorsTest.java | 145 ++++- .../app/testHelpers/DomainObjectsBuilder.java | 55 ++ 21 files changed, 1193 insertions(+), 181 deletions(-) create mode 100644 src/main/java/com/upc/gessi/qrapids/app/presentation/rest/dto/DTOSICurrentHistoricEvaluation.java create mode 100644 src/main/java/com/upc/gessi/qrapids/app/presentation/web/mapping/ReportingController.java create mode 100644 src/main/resources/static/js/reporting.js create mode 100644 src/main/resources/templates/Reporting/Reporting.html diff --git a/docs/asciidoc/index.adoc b/docs/asciidoc/index.adoc index 3638117e..46575244 100644 --- a/docs/asciidoc/index.adoc +++ b/docs/asciidoc/index.adoc @@ -57,6 +57,21 @@ include::{snippets}/si/historical-conflict/http-response.adoc[] include::{snippets}/si/historical-read-error/http-response.adoc[] :numbered: +=== Get current and historical evaluation + +operation::si/current_and_historical[snippets='request-parameters,curl-request,response-fields,http-response'] + +:numbered!: +==== HTTP response wrong project +include::{snippets}/alerts/get-all-wrong-project/http-response.adoc[] + +==== HTTP response categories error +include::{snippets}/si/historical-conflict/http-response.adoc[] + +==== HTTP response error on ElasticSearch connection +include::{snippets}/si/historical-read-error/http-response.adoc[] +:numbered: + === Get prediction evaluation @@ -279,7 +294,7 @@ include::{snippets}/alerts/add-qr-from-alert-backlog-error/http-response.adoc[] === Get historical evaluation -operation::qf/current[snippets='request-parameters,curl-request,response-fields,http-response'] +operation::qf/historical[snippets='request-parameters,curl-request,response-fields,http-response'] :numbered!: @@ -294,7 +309,7 @@ include::{snippets}/alerts/add-qr-from-alert-backlog-error/http-response.adoc[] === Get historical evaluation for strategic indicator -operation::qf/current-si[snippets='path-parameters,request-parameters,curl-request,response-fields,http-response'] +operation::qf/historical-si[snippets='path-parameters,request-parameters,curl-request,response-fields,http-response'] :numbered!: diff --git a/docs/asciidoc/index.html b/docs/asciidoc/index.html index a77c8c76..41af780c 100644 --- a/docs/asciidoc/index.html +++ b/docs/asciidoc/index.html @@ -5,7 +5,7 @@ - +
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 732253.
-Q-Rapids dashboard RESTful services
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Length: 1065
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "dbId" : 1,
+ "name" : "Process Performance",
+ "description" : "Performance of the processes involved in the development",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : [ 2019, 7, 7 ],
+ "datasource" : "Q-Rapdis Dashboard",
+ "categories_description" : "[Good (0,67), Neutral (0,33), Bad (0,00)]",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 409 Conflict
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic Indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Length: 1061
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : "processperformance",
+ "dbId" : 1,
+ "name" : "Process Performance",
+ "description" : "Performance of the processes involved in the development",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : [ 2019, 7, 7 ],
+ "datasource" : "Q-Rapdis Dashboard",
+ "categories_description" : "[Good (0,67), Neutral (0,33), Bad (0,00)]",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+}
+HTTP/1.1 400 Bad Request
+HTTP/1.1 409 Conflict
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/strategicIndicators/historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Length: 1065
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "dbId" : 1,
+ "name" : "Process Performance",
+ "description" : "Performance of the processes involved in the development",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : [ 2019, 7, 7 ],
+ "datasource" : "Q-Rapdis Dashboard",
+ "categories_description" : "[Good (0,67), Neutral (0,33), Bad (0,00)]",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 409 Conflict
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/strategicIndicators/current_and_historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator project name |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical current value |
+
|
+
|
+Strategic indicator current value category |
+
|
+
|
+Readable strategic indicator current value and category |
+
|
+
|
+Strategic indicator current evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator current assessment date |
+
|
+
|
+List with all strategic indicator historical evaluations |
+
|
+
|
+Strategic indicator numerical historical value |
+
|
+
|
+Strategic indicator historical value category |
+
|
+
|
+Readable strategic indicator historical value and category |
+
|
+
|
+Strategic indicator historical evaluation rationale |
+
|
+
|
+Strategic indicator historical assessment date |
+
HTTP/1.1 200 OK
+Content-Length: 1079
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "dbId" : 1,
+ "prjName" : "Test",
+ "name" : "Process Performance",
+ "description" : "Performance of the processes involved in the development",
+ "currentValue" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "currentValueDescription" : "Good (0.80)",
+ "currentRationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "currentDate" : [ 2019, 7, 7 ],
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "historicalDataList" : [ {
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "valueDescription" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "date" : [ 2019, 7, 7 ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 409 Conflict
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/strategicIndicators/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval higher values |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval lower values |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval higher values |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval lower values |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Length: 1115
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "dbId" : 1,
+ "name" : "Process Performance",
+ "description" : "Performance of the processes involved in the development",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "Forecast",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : 0.8,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : 0.2,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : 0.0,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : [ 2019, 7, 7 ],
+ "datasource" : "Forecast",
+ "categories_description" : "[Good (0,67), Neutral (0,33), Bad (0,00)]",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : {
+ "first" : 0.97473043,
+ "second" : 0.9745246
+ },
+ "confidence95" : {
+ "first" : 0.9747849,
+ "second" : 0.97447014
+ },
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+} ]
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/qualityFactors/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
|
+
|
+Quality factors that compose the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 693
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "name" : "Process Performance",
+ "date" : [ 2019, 7, 7 ],
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "mismatchDays" : 0,
+ "missingFactors" : null,
+ "factors" : [ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/qualityFactors/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
|
+
|
+Quality factors that compose the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 693
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "name" : "Process Performance",
+ "date" : [ 2019, 7, 7 ],
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "mismatchDays" : 0,
+ "missingFactors" : null,
+ "factors" : [ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/strategicIndicators/qualityFactors/historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
|
+
|
+Quality factors that compose the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 693
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "name" : "Process Performance",
+ "date" : [ 2019, 7, 7 ],
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "mismatchDays" : 0,
+ "missingFactors" : null,
+ "factors" : [ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/qualityFactors/historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
|
+
|
+Quality factors that compose the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 693
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "name" : "Process Performance",
+ "date" : [ 2019, 7, 7 ],
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "mismatchDays" : 0,
+ "missingFactors" : null,
+ "factors" : [ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/strategicIndicators/qualityFactors/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
|
+
|
+Quality factors that compose the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 676
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "name" : "Process Performance",
+ "date" : [ 2019, 7, 7 ],
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "mismatchDays" : 0,
+ "missingFactors" : null,
+ "factors" : [ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : "Forecast",
+ "rationale" : "Forecast",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/qualityFactors/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
|
+
|
+Quality factors that compose the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 676
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "processperformance",
+ "name" : "Process Performance",
+ "date" : [ 2019, 7, 7 ],
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "mismatchDays" : 0,
+ "missingFactors" : null,
+ "factors" : [ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : "Forecast",
+ "rationale" : "Forecast",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator external identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator bayesian network |
+
|
+
|
+List of the quality factors composing the strategic indicator |
+
|
+
|
+Quality factor name |
+
|
+
|
+Strategic indicator is weighted or not |
+
|
+
|
+List of the quality factors composing the strategic indicator with their corresponding weights |
+
HTTP/1.1 200 OK
+Content-Length: 371
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 1,
+ "externalId" : "productquality",
+ "name" : "Product Quality",
+ "description" : "Quality of the product built",
+ "network" : null,
+ "qualityFactors" : [ "codequality", "softwarestability", "testingstatus" ],
+ "weighted" : false,
+ "qualityFactorsWeights" : [ "codequality", "-1.0", "softwarestability", "-1.0", "testingstatus", "-1.0" ]
+} ]
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/1' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator external identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator bayesian network |
+
|
+
|
+Strategic indicator quality factors identifiers list |
+
|
+
|
+Strategic indicator’s boolean field which identify if it is weighted or not |
+
|
+
|
+Strategic indicator quality factors identifiers and weights list (-1.0 represent non weighted Strategic indicator) |
+
HTTP/1.1 200 OK
+Content-Length: 9317
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : 1,
+ "externalId" : "productquality",
+ "name" : "Product Quality",
+ "description" : "Quality of the product built",
+ "network" : "Ly8gfi0+W0RORVQtMV0tPn4NCg0KLy8gRmlsZSBjcmVhdGVkIGJ5IGFuIHVubGljZW5zZWQgdXNlciB1c2luZyBOZXRpY2EgNi4wNCBvbiBNYXIgMjAsIDIwMTggYXQgMTA6NDU6MTEgVVRDLg0KDQpibmV0IHByb2R1Y3RxdWFsaXR5IHsNCkF1dG9Db21waWxlID0gVFJVRTsNCmF1dG91cGRhdGUgPSBUUlVFOw0Kd2hlbmNoYW5nZWQgPSAxNTIxNTQxMTc5Ow0KDQp2aXN1YWwgVjEgew0KCWRlZmRpc3Bmb3JtID0gQkVMSUVGQkFSUzsNCglub2RlbGFiZWxpbmcgPSBUSVRMRTsNCglOb2RlTWF4TnVtRW50cmllcyA9IDUwOw0KCW5vZGVmb250ID0gZm9udCB7c2hhcGU9ICJBcmlhbCI7IHNpemU9IDk7fTsNCglsaW5rZm9udCA9IGZvbnQge3NoYXBlPSAiQXJpYWwiOyBzaXplPSA5O307DQoJU2hvd0xpbmtTdHJlbmd0aHMgPSAxOw0KCXdpbmRvd3Bvc24gPSAoMiwgNSwgOTMyLCA2MzcpOw0KCXJlc29sdXRpb24gPSA3MjsNCglkcmF3aW5nYm91bmRzID0gKDEwODAsIDcyMCk7DQoJc2hvd3BhZ2VicmVha3MgPSBGQUxTRTsNCgl1c2VncmlkID0gVFJVRTsNCglncmlkc3BhY2UgPSAoNiwgNik7DQoJTm9kZVNldCBOb2RlIHtCdWlsdEluID0gMTsgQ29sb3IgPSAweDAwZTFlMWUxO307DQoJTm9kZVNldCBOYXR1cmUge0J1aWx0SW4gPSAxOyBDb2xvciA9IDB4MDBmOGVlZDI7fTsNCglOb2RlU2V0IERldGVybWluaXN0aWMge0J1aWx0SW4gPSAxOyBDb2xvciA9IDB4MDBkM2NhYTY7fTsNCglOb2RlU2V0IEZpbmRpbmcge0J1aWx0SW4gPSAxOyBDb2xvciA9IDB4MDBjOGM4Yzg7fTsNCglOb2RlU2V0IENvbnN0YW50IHtCdWlsdEluID0gMTsgQ29sb3IgPSAweDAwZmZmZmZmO307DQoJTm9kZVNldCBDb25zdGFudFZhbHVlIHtCdWlsdEluID0gMTsgQ29sb3IgPSAweDAwZmZmZmI0O307DQoJTm9kZVNldCBVdGlsaXR5IHtCdWlsdEluID0gMTsgQ29sb3IgPSAweDAwZmZiZGJkO307DQoJTm9kZVNldCBEZWNpc2lvbiB7QnVpbHRJbiA9IDE7IENvbG9yID0gMHgwMGRlZThmZjt9Ow0KCU5vZGVTZXQgRG9jdW1lbnRhdGlvbiB7QnVpbHRJbiA9IDE7IENvbG9yID0gMHgwMGYwZmFmYTt9Ow0KCU5vZGVTZXQgVGl0bGUge0J1aWx0SW4gPSAxOyBDb2xvciA9IDB4MDBmZmZmZmY7fTsNCglQcmludGVyU2V0dGluZyBBIHsNCgkJbWFyZ2lucyA9ICgxMjcwLCAxMjcwLCAxMjcwLCAxMjcwKTsNCgkJfTsNCgl9Ow0KDQpub2RlIGNvZGVxdWFsaXR5IHsNCglkaXNjcmV0ZSA9IFRSVUU7DQoJc3RhdGVzID0gKExvdywgTWVkaXVtLCBIaWdoKTsNCglraW5kID0gTkFUVVJFOw0KCWNoYW5jZSA9IENIQU5DRTsNCglwYXJlbnRzID0gKCk7DQoJcHJvYnMgPSANCgkJLy8gTG93ICAgICAgICAgIE1lZGl1bSAgICAgICBIaWdoICAgICAgICAgDQoJCSAgKDAuMjUsICAgICAgICAwLjQsICAgICAgICAgMC4zNSk7DQoJd2hlbmNoYW5nZWQgPSAxNTIxNTQxMTUxOw0KCWJlbGllZiA9ICgwLjI1LCAwLjQsIDAuMzUpOw0KCXZpc3VhbCBWMSB7DQoJCWNlbnRlciA9ICg5NiwgNDIpOw0KCQloZWlnaHQgPSAxOw0KCQl9Ow0KCX07DQoNCm5vZGUgc29mdHdhcmVzdGFiaWxpdHkgew0KCWRpc2NyZXRlID0gVFJVRTsNCglzdGF0ZXMgPSAoTG93LCBNZWRpdW0sIEhpZ2gpOw0KCWtpbmQgPSBOQVRVUkU7DQoJY2hhbmNlID0gQ0hBTkNFOw0KCXBhcmVudHMgPSAoKTsNCglwcm9icyA9IA0KCQkvLyBMb3cgICAgICAgICAgTWVkaXVtICAgICAgIEhpZ2ggICAgICAgICANCgkJICAoMC4xLCAgICAgICAgIDAuMywgICAgICAgICAwLjYpOw0KCXdoZW5jaGFuZ2VkID0gMTUyMTU0MTE2NjsNCgliZWxpZWYgPSAoMC4xLCAwLjMsIDAuNik7DQoJdmlzdWFsIFYxIHsNCgkJY2VudGVyID0gKDM2NiwgNDIpOw0KCQloZWlnaHQgPSA0Ow0KCQl9Ow0KCX07DQoNCm5vZGUgdGVzdGluZ3N0YXR1cyB7DQoJZGlzY3JldGUgPSBUUlVFOw0KCXN0YXRlcyA9IChMb3csIE1lZGl1bSwgSGlnaCk7DQoJa2luZCA9IE5BVFVSRTsNCgljaGFuY2UgPSBDSEFOQ0U7DQoJcGFyZW50cyA9ICgpOw0KCXByb2JzID0gDQoJCS8vIExvdyAgICAgICAgICBNZWRpdW0gICAgICAgSGlnaCAgICAgICAgIA0KCQkgICgwLjIsICAgICAgICAgMC42LCAgICAgICAgIDAuMik7DQoJd2hlbmNoYW5nZWQgPSAxNTIxNTQxMTc5Ow0KCWJlbGllZiA9ICgwLjIsIDAuNiwgMC4yKTsNCgl2aXN1YWwgVjEgew0KCQljZW50ZXIgPSAoNjE4LCA0Mik7DQoJCWhlaWdodCA9IDI7DQoJCX07DQoJfTsNCg0Kbm9kZSBwcm9kdWN0cXVhbGl0eSB7DQoJZGlzY3JldGUgPSBUUlVFOw0KCXN0YXRlcyA9IChMb3csIE1lZGl1bSwgSGlnaCk7DQoJa2luZCA9IE5BVFVSRTsNCgljaGFuY2UgPSBDSEFOQ0U7DQoJcGFyZW50cyA9IChjb2RlcXVhbGl0eSwgc29mdHdhcmVzdGFiaWxpdHksIHRlc3RpbmdzdGF0dXMpOw0KCXByb2JzID0gDQoJCS8vIExvdyAgICAgICAgICBNZWRpdW0gICAgICAgSGlnaCAgICAgICAgICAvLyBDb2RlUXVhbGl0eSBTdGFiaWxpdHkgVGVzdGluZ1N0YXR1cyANCgkJICAoMSwgICAgICAgICAgIDAsICAgICAgICAgICAwLCAgICAgICAgICAgIC8vIExvdyAgICAgICAgIExvdyAgICAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjk1LCAgICAgICAgMC4wNSwgICAgICAgIDAsICAgICAgICAgICAgLy8gTG93ICAgICAgICAgTG93ICAgICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuNzEsICAgICAgICAwLjA5LCAgICAgICAgMC4yLCAgICAgICAgICAvLyBMb3cgICAgICAgICBMb3cgICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMC44LCAgICAgICAgIDAuMiwgICAgICAgICAwLCAgICAgICAgICAgIC8vIExvdyAgICAgICAgIE1lZGl1bSAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjU3Mzc1LCAgICAgMC4zMzM3NSwgICAgIDAuMDkyNSwgICAgICAgLy8gTG93ICAgICAgICAgTWVkaXVtICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuNDU1LCAgICAgICAwLjI3NzUsICAgICAgMC4yNjc1LCAgICAgICAvLyBMb3cgICAgICAgICBNZWRpdW0gICAgSGlnaCAgICAgICAgICANCgkJICAgMC4zOTYyNSwgICAgIDAuNDE1LCAgICAgICAwLjE4ODc1LCAgICAgIC8vIExvdyAgICAgICAgIEhpZ2ggICAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjM5OTM3NSwgICAgMC40MTgxMjUsICAgIDAuMTgyNSwgICAgICAgLy8gTG93ICAgICAgICAgSGlnaCAgICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuMjgwNjI1LCAgICAwLjM2MTg3NSwgICAgMC4zNTc1LCAgICAgICAvLyBMb3cgICAgICAgICBIaWdoICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMC42NTA2MjUsICAgIDAuMjI4MTI1LCAgICAwLjEyMTI1LCAgICAgIC8vIE1lZGl1bSAgICAgIExvdyAgICAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjk1LCAgICAgICAgMC4wNSwgICAgICAgIDAsICAgICAgICAgICAgLy8gTWVkaXVtICAgICAgTG93ICAgICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuNTM1LCAgICAgICAwLjE3NSwgICAgICAgMC4yOSwgICAgICAgICAvLyBNZWRpdW0gICAgICBMb3cgICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMC4zOTU2MjUsICAgIDAuNDE1NjI1LCAgICAwLjE4ODc1LCAgICAgIC8vIE1lZGl1bSAgICAgIE1lZGl1bSAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjM5ODc1LCAgICAgMC40MTg3NSwgICAgIDAuMTgyNSwgICAgICAgLy8gTWVkaXVtICAgICAgTWVkaXVtICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuMjgsICAgICAgICAwLjM2MjUsICAgICAgMC4zNTc1LCAgICAgICAvLyBNZWRpdW0gICAgICBNZWRpdW0gICAgSGlnaCAgICAgICAgICANCgkJICAgMC4wNSwgICAgICAgIDAuODUsICAgICAgICAwLjEsICAgICAgICAgIC8vIE1lZGl1bSAgICAgIEhpZ2ggICAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjIyNDM3NSwgICAgMC41MDMxMjUsICAgIDAuMjcyNSwgICAgICAgLy8gTWVkaXVtICAgICAgSGlnaCAgICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAsICAgICAgICAgICAwLjIsICAgICAgICAgMC44LCAgICAgICAgICAvLyBNZWRpdW0gICAgICBIaWdoICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMC41NTA2MjUsICAgIDAuMzM4MTI1LCAgICAwLjExMTI1LCAgICAgIC8vIEhpZ2ggICAgICAgIExvdyAgICAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLjU1Mzc1LCAgICAgMC4zNDEyNSwgICAgIDAuMTA1LCAgICAgICAgLy8gSGlnaCAgICAgICAgTG93ICAgICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuNDM1LCAgICAgICAwLjI4NSwgICAgICAgMC4yOCwgICAgICAgICAvLyBIaWdoICAgICAgICBMb3cgICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMC4yOTU2MjUsICAgIDAuNTI1NjI1LCAgICAwLjE3ODc1LCAgICAgIC8vIEhpZ2ggICAgICAgIE1lZGl1bSAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLCAgICAgICAgICAgMC43LCAgICAgICAgIDAuMywgICAgICAgICAgLy8gSGlnaCAgICAgICAgTWVkaXVtICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuMTgsICAgICAgICAwLjQ3MjUsICAgICAgMC4zNDc1LCAgICAgICAvLyBIaWdoICAgICAgICBNZWRpdW0gICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgIDAuNiwgICAgICAgICAwLjQsICAgICAgICAgIC8vIEhpZ2ggICAgICAgIEhpZ2ggICAgICBMb3cgICAgICAgICAgIA0KCQkgICAwLCAgICAgICAgICAgMC45LCAgICAgICAgIDAuMSwgICAgICAgICAgLy8gSGlnaCAgICAgICAgSGlnaCAgICAgIE1lZGl1bSAgICAgICAgDQoJCSAgIDAuMDA1NjI1LCAgICAwLjU1Njg3NTEsICAgMC40Mzc1KTsgICAgICAvLyBIaWdoICAgICAgICBIaWdoICAgICAgSGlnaCAgICAgICAgICA7DQoJbnVtY2FzZXMgPSANCgkJICAgICAgICAgICAgICAgICAvLyBDb2RlUXVhbGl0eSBTdGFiaWxpdHkgVGVzdGluZ1N0YXR1cyANCgkJICAoMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBMb3cgICAgICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBMb3cgICAgICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBMb3cgICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBNZWRpdW0gICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBNZWRpdW0gICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBNZWRpdW0gICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBIaWdoICAgICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBIaWdoICAgICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBMb3cgICAgICAgICBIaWdoICAgICAgSGlnaCAgICAgICAgICANCgkJICAgLTEsICAgICAgICAgICAvLyBNZWRpdW0gICAgICBMb3cgICAgICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBMb3cgICAgICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBMb3cgICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBNZWRpdW0gICAgTG93ICAgICAgICAgICANCgkJICAgLTEsICAgICAgICAgICAvLyBNZWRpdW0gICAgICBNZWRpdW0gICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBNZWRpdW0gICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBIaWdoICAgICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBIaWdoICAgICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBNZWRpdW0gICAgICBIaWdoICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBMb3cgICAgICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBMb3cgICAgICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBMb3cgICAgICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBNZWRpdW0gICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBNZWRpdW0gICAgTWVkaXVtICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBNZWRpdW0gICAgSGlnaCAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBIaWdoICAgICAgTG93ICAgICAgICAgICANCgkJICAgMCwgICAgICAgICAgICAvLyBIaWdoICAgICAgICBIaWdoICAgICAgTWVkaXVtICAgICAgICANCgkJICAgMSk7ICAgICAgICAgICAvLyBIaWdoICAgICAgICBIaWdoICAgICAgSGlnaCAgICAgICAgICA7DQoJd2hlbmNoYW5nZWQgPSAwOw0KCWJlbGllZiA9ICgwLjI2NDM2NjIsIDAuNDk4OTk2MywgMC4yMzY2Mzc1KTsNCgl2aXN1YWwgVjEgew0KCQljZW50ZXIgPSAoMzcyLCAyNTgpOw0KCQloZWlnaHQgPSAzOw0KCQl9Ow0KCX07DQpFbGltT3JkZXIgPSAoY29kZXF1YWxpdHksIHNvZnR3YXJlc3RhYmlsaXR5LCB0ZXN0aW5nc3RhdHVzLCBwcm9kdWN0cXVhbGl0eSk7DQp9Ow0K",
+ "qualityFactors" : [ "codequality", "softwarestability", "testingstatus" ],
+ "weighted" : false,
+ "qualityFactorsWeights" : [ "codequality", "-1.0", "softwarestability", "-1.0", "testingstatus", "-1.0" ]
+}
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Product name |
+
|
+Product description |
+
|
+Comma separated values of the quality factors identifiers which belong to the strategic indicator |
+
Part | +Description | +
---|---|
|
+Bayesian network file |
+
$ curl 'http://localhost:8080/api/strategicIndicators' -i -X POST \
+ -H 'Content-Type: multipart/form-data' \
+ -F 'network=@network.dne;type=text/plain' \
+ -F 'prj=test' \
+ -F 'name=Product Quality' \
+ -F 'description=Quality of the product built' \
+ -F 'quality_factors=codequality,softwarestability,testingstatus'
+HTTP/1.1 201 Created
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Product name |
+
|
+Product description |
+
|
+Comma separated values of the quality factors identifiers which belong to the strategic indicator and their corresponding weights (-1 if no weighted) |
+
Part | +Description | +
---|---|
|
+Bayesian network file |
+
$ curl 'http://localhost:8080/api/strategicIndicators/1' -i -X PUT \
+ -H 'Content-Type: multipart/form-data' \
+ -F 'network=@network.dne;type=text/plain' \
+ -F 'name=Product Quality' \
+ -F 'description=Quality of the product built' \
+ -F 'quality_factors=codequality,-1.0,softwarestability,-1.0,testingstatus,-1.0'
+HTTP/1.1 200 OK
+HTTP/1.1 400 Bad Request
+HTTP/1.1 409 Conflict
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/1' -i -X DELETE
+HTTP/1.1 200 OK
+$ curl 'http://localhost:8080/api/strategicIndicators/fetch' -i -X GET
+HTTP/1.1 200 OK
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Indicates if the forecasting models should be trained: NONE for no training, ONE for one method training and ALL for all methods training |
+
|
+Date of the day (yyyy-mm-dd) from which execute several assessments, one for each day since today (optional) |
+
$ curl 'http://localhost:8080/api/strategicIndicators/assess?prj=test&train=NONE' -i -X GET
+HTTP/1.1 200 OK
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+
+ Note
+ |
++This operation is deprecated. Please, use Assess strategic indicators + | +
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Indicates if the forecasting models should be trained: NONE for no training, ONE for one method training and ALL for all methods training |
+
|
+Date of the day (yyyy-mm-dd) from which execute several assessments, one for each day since today (optional) |
+
$ curl 'http://localhost:8080/api/assessStrategicIndicators?prj=test&train=NONE' -i -X GET
+HTTP/1.1 200 OK
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+List of the names and new values of the quality factors |
+
$ curl 'http://localhost:8080/api/strategicIndicators/simulate' -i -X POST \
+ -d 'prj=test&factors=%5B%7B%22id%22%3A%22processperformance%22%2C%22value%22%3A%220.9%22%7D%5D'
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 1006
+
+[ {
+ "id" : "processperformance",
+ "dbId" : 1,
+ "name" : "Process Performance",
+ "description" : "Performance of the processes involved in the development",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : null,
+ "datasource" : "Simulation",
+ "categories_description" : "",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+} ]
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Date (yyyy-mm-dd) of the quality model evaluation |
+
$ curl 'http://localhost:8080/api/strategicIndicators/qualityModel?prj=test&date=2019-07-07' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator assessment value |
+
|
+
|
+Strategic indicator assessment value and category |
+
|
+
|
+Strategic indicator category color |
+
|
+
|
+List with all the quality factors composing the strategic indicator |
+
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor weighted value |
+
|
+
|
+Quality factor weight in the strategic indicator assessment |
+
|
+
|
+Quality factor assessment value |
+
|
+
|
+List with all the metrics composing the quality factor |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric weighted value |
+
|
+
|
+Metric weight in the computation of the quality factor |
+
|
+
|
+Metric assessment value |
+
HTTP/1.1 200 OK
+Content-Length: 459
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "blocking",
+ "name" : null,
+ "value" : "0.8",
+ "valueDescription" : "Good (0.8)",
+ "color" : "#00ff00",
+ "factors" : [ {
+ "id" : "blockingcode",
+ "name" : null,
+ "weightedValue" : "0.8",
+ "weight" : "1",
+ "assessmentValue" : null,
+ "metrics" : [ {
+ "id" : "nonblockingfiles",
+ "name" : null,
+ "weightedValue" : "0.8",
+ "weight" : "1",
+ "assessmentValue" : null
+ } ]
+ } ]
+} ]
+$ curl 'http://localhost:8080/api/strategicIndicators/categories' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Category identifier |
+
|
+
|
+Category name |
+
|
+
|
+Category hexadecimal color |
+
HTTP/1.1 200 OK
+Content-Length: 193
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 10,
+ "name" : "Good",
+ "color" : "#00ff00"
+}, {
+ "id" : 11,
+ "name" : "Neutral",
+ "color" : "#ff8000"
+}, {
+ "id" : 12,
+ "name" : "Bad",
+ "color" : "#ff0000"
+} ]
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator category name |
+
|
+
|
+Strategic indicator category color |
+
$ curl 'http://localhost:8080/api/strategicIndicators/categories' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '[ {
+ "color" : "#00ff00",
+ "name" : "Good"
+}, {
+ "color" : "#ff8000",
+ "name" : "Neutral"
+}, {
+ "color" : "#ff0000",
+ "name" : "Bad"
+} ]'
+HTTP/1.1 201 Created
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/qualityFactors/metrics/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+List with all the quality factor metrics |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 488
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "metrics" : [ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/qualityFactors/metrics/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+List with all the quality factor metrics |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 488
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "metrics" : [ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/qualityFactors/metrics/historical?prj=test&from=2020-06-09&to=2020-06-16' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+List with all the quality factor metrics |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 488
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "metrics" : [ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/qualityFactors/metrics/historical?prj=test&from=2020-06-09&to=2020-06-16' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+List with all the quality factor metrics |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 488
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "metrics" : [ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/qualityFactors/metrics/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+List with all the quality factor metrics |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 80% confidence interval higher values |
+
|
+
|
+Metric forecasting 80% confidence interval lower values |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval higher values |
+
|
+
|
+Metric forecasting 95% confidence interval lower values |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 593
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "metrics" : [ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : "Forecast",
+ "rationale" : "Forecast",
+ "confidence80" : {
+ "first" : 0.97473043,
+ "second" : 0.9745246
+ },
+ "confidence95" : {
+ "first" : 0.9747849,
+ "second" : 0.97447014
+ },
+ "forecastingError" : null
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/strategicIndicators/processperformance/qualityFactors/metrics/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+List with all the quality factor metrics |
+
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 80% confidence interval higher values |
+
|
+
|
+Metric forecasting 80% confidence interval lower values |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval higher values |
+
|
+
|
+Metric forecasting 95% confidence interval lower values |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 593
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "metrics" : [ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : "Forecast",
+ "rationale" : "Forecast",
+ "confidence80" : {
+ "first" : 0.97473043,
+ "second" : 0.9745246
+ },
+ "confidence95" : {
+ "first" : 0.9747849,
+ "second" : 0.97447014
+ },
+ "forecastingError" : null
+ } ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/qualityFactors?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 395
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Quality factor identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/qualityFactors/testingperformance?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 391
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+}
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Date of the quality factors evaluation simulation model base |
+
Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric value |
+
$ curl 'http://localhost:8080/api/qualityFactors/simulate?prj=test&date=2019-07-07' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '[ {
+ "id" : "fasttests",
+ "value" : "0.7"
+} ]'
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factor identifier |
+
|
+
|
+Quality factor name |
+
|
+
|
+Quality factor description |
+
|
+
|
+Quality factor value |
+
|
+
|
+Readable quality factor value |
+
|
+
|
+Quality factor evaluation date |
+
|
+
|
+Quality factor source of data |
+
|
+
|
+Quality factor evaluation rationale |
+
|
+
|
+Description of forecasting errors |
+
|
+
|
+List of the strategic indicators that use this quality factor |
+
|
+
|
+Readable quality factor evaluation date |
+
HTTP/1.1 200 OK
+Content-Length: 395
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "testingperformance",
+ "name" : "Testing Performance",
+ "description" : "Performance of the tests",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "forecastingError" : null,
+ "formattedDate" : "2020-06-16",
+ "strategicIndicators" : [ "processperformance" ]
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+$ curl 'http://localhost:8080/api/qualityFactors/categories' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Category identifier |
+
|
+
|
+Category name |
+
|
+
|
+Category hexadecimal color |
+
|
+
|
+Category upper threshold |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 276
+
+[ {
+ "id" : 10,
+ "name" : "Good",
+ "color" : "#00ff00",
+ "upperThreshold" : 1.0
+}, {
+ "id" : 11,
+ "name" : "Neutral",
+ "color" : "#ff8000",
+ "upperThreshold" : 0.67
+}, {
+ "id" : 12,
+ "name" : "Bad",
+ "color" : "#ff0000",
+ "upperThreshold" : 0.33
+} ]
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality factors category name |
+
|
+
|
+Quality factors category color |
+
|
+
|
+Quality factors category upper threshold |
+
$ curl 'http://localhost:8080/api/qualityFactors/categories' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '[ {
+ "upperThreshold" : "1.0",
+ "color" : "#00ff00",
+ "name" : "Good"
+}, {
+ "upperThreshold" : "0.67",
+ "color" : "#ff8000",
+ "name" : "Neutral"
+}, {
+ "upperThreshold" : "0.33",
+ "color" : "#ff0000",
+ "name" : "Bad"
+} ]'
+HTTP/1.1 201 Created
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/metrics/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 373
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Metric identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/metrics/fasttests/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 369
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+}
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Quality factor identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/qualityFactors/testingperformance/metrics/current?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 373
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/metrics/historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 373
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Metric identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/metrics/fasttests/historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 373
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Quality factor identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/qualityFactors/testingperformance/metrics/historical?prj=test&from=2019-07-07&to=2019-07-15' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Length: 373
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : null,
+ "rationale" : "parameters: {...}, formula: ...",
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/metrics/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 80% confidence interval higher values |
+
|
+
|
+Metric forecasting 80% confidence interval lower values |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval higher values |
+
|
+
|
+Metric forecasting 95% confidence interval lower values |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 466
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : "Forecast",
+ "rationale" : "Forecast",
+ "confidence80" : {
+ "first" : 0.97473043,
+ "second" : 0.9745246
+ },
+ "confidence95" : {
+ "first" : 0.9747849,
+ "second" : 0.97447014
+ },
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Quality factor identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Forecasting technique |
+
|
+Amount of days that the prediction will cover |
+
$ curl 'http://localhost:8080/api/qualityFactors/testingperformance/metrics/prediction?prj=test&technique=PROPHET&horizon=7' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
|
+
|
+Metric name |
+
|
+
|
+Metric description |
+
|
+
|
+Metric value |
+
|
+
|
+Metric readable value |
+
|
+
|
+Metric evaluation date |
+
|
+
|
+Metric source of data |
+
|
+
|
+Metric evaluation rationale |
+
|
+
|
+Metric forecasting 80% confidence interval |
+
|
+
|
+Metric forecasting 80% confidence interval higher values |
+
|
+
|
+Metric forecasting 80% confidence interval lower values |
+
|
+
|
+Metric forecasting 95% confidence interval |
+
|
+
|
+Metric forecasting 95% confidence interval higher values |
+
|
+
|
+Metric forecasting 95% confidence interval lower values |
+
|
+
|
+Description of forecasting errors |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 466
+
+[ {
+ "id" : "fasttests",
+ "name" : "Fast Tests",
+ "description" : "Percentage of tests under the testing duration threshold",
+ "value" : 0.8,
+ "value_description" : "0,80",
+ "date" : [ 2020, 6, 16 ],
+ "datasource" : "Forecast",
+ "rationale" : "Forecast",
+ "confidence80" : {
+ "first" : 0.97473043,
+ "second" : 0.9745246
+ },
+ "confidence95" : {
+ "first" : 0.9747849,
+ "second" : 0.97447014
+ },
+ "forecastingError" : null
+} ]
+HTTP/1.1 400 Bad Request
+HTTP/1.1 500 Internal Server Error
+$ curl 'http://localhost:8080/api/metrics/categories' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Category identifier |
+
|
+
|
+Category name |
+
|
+
|
+Category hexadecimal color |
+
|
+
|
+Category upper threshold |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 276
+
+[ {
+ "id" : 10,
+ "name" : "Good",
+ "color" : "#00ff00",
+ "upperThreshold" : 1.0
+}, {
+ "id" : 11,
+ "name" : "Neutral",
+ "color" : "#ff8000",
+ "upperThreshold" : 0.67
+}, {
+ "id" : 12,
+ "name" : "Bad",
+ "color" : "#ff0000",
+ "upperThreshold" : 0.33
+} ]
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metrics category name |
+
|
+
|
+Metrics category color |
+
|
+
|
+Metrics category upper threshold |
+
$ curl 'http://localhost:8080/api/metrics/categories' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '[ {
+ "upperThreshold" : "1.0",
+ "color" : "#00ff00",
+ "name" : "Good"
+}, {
+ "upperThreshold" : "0.67",
+ "color" : "#ff8000",
+ "name" : "Neutral"
+}, {
+ "upperThreshold" : "0.33",
+ "color" : "#ff0000",
+ "name" : "Bad"
+} ]'
+HTTP/1.1 201 Created
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/alerts?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Alert identifier |
+
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Name of the element causing the alert |
+
|
+
|
+Type of element causing the alert (METRIC or FACTOR) |
+
|
+
|
+Current value of the element causing the alert |
+
|
+
|
+Minimum acceptable value for the element |
+
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Generation date of the alert |
+
|
+
|
+Status of the alert (NEW, VIEWED or RESOLVED) |
+
|
+
|
+The alert has or hasn’t an associated quality requirement |
+
|
+
|
+Alert artefacts |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 257
+
+[ {
+ "id" : 2,
+ "id_element" : "id",
+ "name" : "Duplication",
+ "type" : "METRIC",
+ "value" : 0.4,
+ "threshold" : 0.5,
+ "category" : "category",
+ "date" : 1592304288018,
+ "status" : "NEW",
+ "reqAssociat" : true,
+ "artefacts" : null
+} ]
+HTTP/1.1 400 Bad Request
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Name of the element causing the alert |
+
|
+
|
+Type of the element causing the alert (METRIC or FACTOR) |
+
|
+
|
+Current value of the element causing the alert |
+
|
+
|
+Minimum acceptable value for the element |
+
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Identifier of the element causing the alert |
+
$ curl 'http://localhost:8080/api/alerts' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "element" : {
+ "project_id" : "test",
+ "name" : "Duplication",
+ "threshold" : "0.5",
+ "id" : "duplication",
+ "type" : "METRIC",
+ "category" : "duplication",
+ "value" : "0.4"
+ }
+}'
+HTTP/1.1 201 Created
+HTTP/1.1 400 Bad Request
+HTTP/1.1 400 Bad Request
+
+ Note
+ |
++This operation is deprecated. Please, use Create alert + | +
Path | +Type | +Description | +
---|---|---|
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Name of the element causing the alert |
+
|
+
|
+Type of the element causing the alert (METRIC or FACTOR) |
+
|
+
|
+Current value of the element causing the alert |
+
|
+
|
+Minimum acceptable value for the element |
+
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Identifier of the element causing the alert |
+
$ curl 'http://localhost:8080/api/notifyAlert' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "element" : {
+ "project_id" : "test",
+ "name" : "Duplication",
+ "threshold" : "0.5",
+ "id" : "duplication",
+ "type" : "METRIC",
+ "category" : "duplication",
+ "value" : "0.4"
+ }
+}'
+HTTP/1.1 200 OK
+HTTP/1.1 400 Bad Request
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/alerts/countNew?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Number of new alerts |
+
|
+
|
+Number of new alerts with an associated quality requirement |
+
HTTP/1.1 200 OK
+Content-Length: 49
+Content-Type: application/json;charset=UTF-8
+
+{
+ "newAlerts" : 2,
+ "newAlertsWithQR" : 1
+}
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Alert identifier |
+
$ curl 'http://localhost:8080/api/alerts/2/qrPatterns' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality requirement identifier |
+
|
+
|
+Quality requirement name |
+
|
+
|
+Quality requirement comments |
+
|
+
|
+Quality requirement description |
+
|
+
|
+Quality requirement goal |
+
|
+
|
+Suggested quality requirement name |
+
|
+
|
+Suggested quality requirement description |
+
|
+
|
+Suggested quality requirement comments |
+
|
+
|
+Suggested quality requirement text |
+
|
+
|
+Suggested quality requirement cost function |
+
HTTP/1.1 200 OK
+Content-Length: 516
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 100,
+ "name" : "Duplications",
+ "comments" : "No comments",
+ "description" : "No description",
+ "goal" : "Improve the quality of the source code",
+ "forms" : [ {
+ "name" : "Duplications",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "comments" : "No comments",
+ "fixedPart" : {
+ "formText" : "The ratio of files without duplications should be at least %value%"
+ }
+ } ],
+ "costFunction" : "No cost function"
+} ]
+HTTP/1.1 404 Not Found
+Parameter | +Description | +
---|---|
|
+Alert identifier |
+
$ curl 'http://localhost:8080/api/alerts/2/decision' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality requirement goal |
+
|
+
|
+Quality requirement text |
+
|
+
|
+Quality requirement description |
+
|
+
|
+Link to the backlog issue containing the quality requirement |
+
|
+
|
+Type of the decision (ADD or IGNORE) |
+
|
+
|
+User rationale of the decision |
+
HTTP/1.1 200 OK
+Content-Length: 371
+Content-Type: application/json;charset=UTF-8
+
+{
+ "qrGoal" : "Improve the quality of the source code",
+ "qrRequirement" : "The ratio of files without duplications should be at least 0.8",
+ "qrDescription" : "The ratio of files without duplications should be at least the given value",
+ "qrBacklogUrl" : "https://backlog.example/issue/999",
+ "decisionType" : "ADD",
+ "decisionRationale" : "User comments"
+}
+HTTP/1.1 404 Not Found
+Parameter | +Description | +
---|---|
|
+Alert identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+User rationale of the decision |
+
|
+Identifier of the ignored quality requirement pattern |
+
$ curl 'http://localhost:8080/api/alerts/2/qr/ignore' -i -X POST \
+ -d 'prj=test&rationale=Not+important&patternId=100'
+HTTP/1.1 201 Created
+HTTP/1.1 400 Bad Request
+HTTP/1.1 404 Not Found
+Parameter | +Description | +
---|---|
|
+Alert identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+User rationale of the decision |
+
|
+Identifier of the added quality requirement pattern |
+
|
+Text of the added quality requirement |
+
|
+Description of the added quality requirement |
+
|
+Goal of the added quality requirement |
+
$ curl 'http://localhost:8080/api/alerts/2/qr' -i -X POST \
+ -d 'prj=test&rationale=User+comments&patternId=100&requirement=The+ratio+of+files+without+duplications+should+be+at+least+0.8&description=The+ratio+of+files+without+duplications+should+be+at+least+the+given+value&goal=Improve+the+quality+of+the+source+code'
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Identifier of the added quality requirement |
+
|
+
|
+Quality requirement creation date |
+
|
+
|
+Text of the added quality requirement |
+
|
+
|
+Description of the added quality requirement |
+
|
+
|
+Goal of the added quality requirement |
+
|
+
|
+Quality requirement identifier inside the backlog |
+
|
+
|
+Link to the backlog issue containing the quality requirement |
+
|
+
|
+Backlog identifier of the project containing the quality requirement |
+
|
+
|
+Alert object which caused the quality requirement addition |
+
HTTP/1.1 201 Created
+Content-Type: application/json;charset=UTF-8
+Content-Length: 410
+
+{
+ "id" : 3,
+ "date" : 1592304287487,
+ "requirement" : "The ratio of files without duplications should be at least 0.8",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "goal" : "Improve the quality of the source code",
+ "backlogId" : "ID-999",
+ "backlogUrl" : "https://backlog.example/issue/999",
+ "backlogProjectId" : null,
+ "alert" : null
+}
+HTTP/1.1 404 Not Found
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
$ curl 'http://localhost:8080/api/qr?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Identifier of the added quality requirement |
+
|
+
|
+Quality requirement creation date |
+
|
+
|
+Text of the added quality requirement |
+
|
+
|
+Description of the added quality requirement |
+
|
+
|
+Goal of the added quality requirement |
+
|
+
|
+Quality requirement identifier inside the backlog |
+
|
+
|
+Link to the backlog issue containing the quality requirement |
+
|
+
|
+Backlog identifier of the project containing the quality requirement |
+
|
+
|
+Alert identifier |
+
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Name of the element causing the alert |
+
|
+
|
+Type of element causing the alert (METRIC or FACTOR) |
+
|
+
|
+Current value of the element causing the alert |
+
|
+
|
+Minimum acceptable value for the element |
+
|
+
|
+Identifier of the element causing the alert |
+
|
+
|
+Generation date of the alert |
+
|
+
|
+Status of the alert (NEW, VIEWED or RESOLVED) |
+
|
+
|
+The alert has or hasn’t an associated quality requirement |
+
|
+
|
+Alert artefacts |
+
HTTP/1.1 200 OK
+Content-Length: 690
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 3,
+ "date" : 1592304291593,
+ "requirement" : "The ratio of files without duplications should be at least 0.8",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "goal" : "Improve the quality of the source code",
+ "backlogId" : "ID-999",
+ "backlogUrl" : "https://backlog.example/issue/999",
+ "backlogProjectId" : "prj-1",
+ "alert" : {
+ "id" : 2,
+ "id_element" : "id",
+ "name" : "Duplication",
+ "type" : "METRIC",
+ "value" : 0.4,
+ "threshold" : 0.5,
+ "category" : "category",
+ "date" : 1592304291593,
+ "status" : "NEW",
+ "reqAssociat" : true,
+ "artefacts" : null
+ }
+} ]
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+User rationale of the decision |
+
|
+Identifier of the added quality requirement pattern |
+
|
+Text of the added quality requirement |
+
|
+Description of the added quality requirement |
+
|
+Goal of the added quality requirement |
+
$ curl 'http://localhost:8080/api/qr' -i -X POST \
+ -d 'prj=test&rationale=User+comments&patternId=100&requirement=The+ratio+of+files+without+duplications+should+be+at+least+0.8&description=The+ratio+of+files+without+duplications+should+be+at+least+the+given+value&goal=Improve+the+quality+of+the+source+code'
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Identifier of the added quality requirement |
+
|
+
|
+Quality requirement creation date |
+
|
+
|
+Text of the added quality requirement |
+
|
+
|
+Description of the added quality requirement |
+
|
+
|
+Goal of the added quality requirement |
+
|
+
|
+Quality requirement identifier inside the backlog |
+
|
+
|
+Link to the backlog issue containing the quality requirement |
+
|
+
|
+Backlog identifier of the project containing the quality requirement |
+
|
+
|
+Alert object which caused the quality requirement addition |
+
HTTP/1.1 201 Created
+Content-Type: application/json;charset=UTF-8
+Content-Length: 410
+
+{
+ "id" : 3,
+ "date" : 1592304291708,
+ "requirement" : "The ratio of files without duplications should be at least 0.8",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "goal" : "Improve the quality of the source code",
+ "backlogId" : "ID-999",
+ "backlogUrl" : "https://backlog.example/issue/999",
+ "backlogProjectId" : null,
+ "alert" : null
+}
+HTTP/1.1 500 Internal Server Error
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+User rationale of the decision |
+
|
+Identifier of the ignored quality requirement pattern |
+
$ curl 'http://localhost:8080/api/qr/ignore' -i -X POST \
+ -d 'prj=test&rationale=Not+important&patternId=100'
+HTTP/1.1 201 Created
+HTTP/1.1 400 Bad Request
+$ curl 'http://localhost:8080/api/qrPatterns' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality requirement identifier |
+
|
+
|
+Quality requirement name |
+
|
+
|
+Quality requirement comments |
+
|
+
|
+Quality requirement description |
+
|
+
|
+Quality requirement goal |
+
|
+
|
+Suggested quality requirement name |
+
|
+
|
+Suggested quality requirement description |
+
|
+
|
+Suggested quality requirement comments |
+
|
+
|
+Suggested quality requirement text |
+
|
+
|
+Suggested quality requirement cost function |
+
HTTP/1.1 200 OK
+Content-Length: 516
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 100,
+ "name" : "Duplications",
+ "comments" : "No comments",
+ "description" : "No description",
+ "goal" : "Improve the quality of the source code",
+ "forms" : [ {
+ "name" : "Duplications",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "comments" : "No comments",
+ "fixedPart" : {
+ "formText" : "The ratio of files without duplications should be at least %value%"
+ }
+ } ],
+ "costFunction" : "No cost function"
+} ]
+Parameter | +Description | +
---|---|
|
+Quality requirement pattern identifier |
+
$ curl 'http://localhost:8080/api/qrPatterns/100' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Quality requirement identifier |
+
|
+
|
+Quality requirement name |
+
|
+
|
+Quality requirement comments |
+
|
+
|
+Quality requirement description |
+
|
+
|
+Quality requirement goal |
+
|
+
|
+Suggested quality requirement name |
+
|
+
|
+Suggested quality requirement description |
+
|
+
|
+Suggested quality requirement comments |
+
|
+
|
+Suggested quality requirement text |
+
|
+
|
+Suggested quality requirement cost function |
+
HTTP/1.1 200 OK
+Content-Length: 512
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : 100,
+ "name" : "Duplications",
+ "comments" : "No comments",
+ "description" : "No description",
+ "goal" : "Improve the quality of the source code",
+ "forms" : [ {
+ "name" : "Duplications",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "comments" : "No comments",
+ "fixedPart" : {
+ "formText" : "The ratio of files without duplications should be at least %value%"
+ }
+ } ],
+ "costFunction" : "No cost function"
+}
+Parameter | +Description | +
---|---|
|
+Quality requirement pattern identifier |
+
$ curl 'http://localhost:8080/api/qrPatterns/1/metric' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Metric identifier |
+
HTTP/1.1 200 OK
+Content-Length: 29
+Content-Type: application/json;charset=UTF-8
+
+{
+ "metric" : "comments"
+}
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Indicates if the result must include the information about the quality requirements associated to the decisions |
+
|
+Starting date (yyyy-mm-dd) for the requested the period |
+
|
+Ending date (yyyy-mm-dd) for the requested the period |
+
$ curl 'http://localhost:8080/api/decisions?prj=test&qrs=true&from=2019-07-15&to=2019-08-01' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Decision identifier |
+
|
+
|
+Decision type (ADD or IGNORE) |
+
|
+
|
+Decision creation date |
+
|
+
|
+Name of the decision creator |
+
|
+
|
+User rationale behind the decision |
+
|
+
|
+Identifier of the quality requirement pattern being added or ignored |
+
|
+
|
+Identifier of the element impacted by the quality requirement |
+
|
+
|
+Text of the added quality requirement |
+
|
+
|
+Description of the added quality requirement |
+
|
+
|
+Goal of the added quality requirement |
+
|
+
|
+Quality requirement identifier inside the backlog |
+
|
+
|
+Link to the backlog issue containing the quality requirement |
+
HTTP/1.1 200 OK
+Content-Length: 493
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 2,
+ "type" : "ADD",
+ "date" : 1592304288884,
+ "author" : null,
+ "rationale" : "User comments",
+ "patternId" : 100,
+ "elementId" : "duplications",
+ "requirement" : "The ratio of files without duplications should be at least 0.8",
+ "description" : "The ratio of files without duplications should be at least the given value",
+ "goal" : "Improve the quality of the source code",
+ "backlogId" : "ID-999",
+ "backlogUrl" : "https://backlog.example/issue/999"
+} ]
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
Path | +Type | +Description | +
---|---|---|
|
+
|
+New strategic indicator value |
+
|
+
|
+Old strategic indicator value |
+
|
+
|
+List of the factors identifiers |
+
|
+
|
+List of the factors names |
+
|
+
|
+List of the factors values |
+
|
+
|
+List of the factors evaluation dates |
+
$ curl 'http://localhost:8080/api/strategicIndicators/1/feedback' -i -X POST \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "newvalue" : "0.75",
+ "factorEvaluationDates" : "[\"2019-07-07\",\"2019-07-06\",\"2019-07-05\"]",
+ "factorIds" : "[\"factor1\",\"factor2\",\"factor3\"]",
+ "factorValues" : "[\"0.8\",\"0.7\",\"0.6\"]",
+ "oldvalue" : "0.6",
+ "factorNames" : "[\"Factor 1\",\"Factor 2\",\"Factor 3\"]"
+}'
+HTTP/1.1 202 Accepted
+HTTP/1.1 400 Bad Request
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/1/feedback' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Feedback creation date |
+
|
+
|
+Feedback creator name |
+
|
+
|
+New strategic indicator value |
+
|
+
|
+Old strategic indicator value |
+
HTTP/1.1 200 OK
+Content-Length: 127
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "strategicIndicatorId" : 1,
+ "date" : "2020-06-16",
+ "author" : null,
+ "oldValue" : 0.6,
+ "newValue" : 0.75
+} ]
+Parameter | +Description | +
---|---|
|
+Strategic indicator identifier |
+
$ curl 'http://localhost:8080/api/strategicIndicators/1/feedbackReport' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Feedback creation date |
+
|
+
|
+List with factor names |
+
|
+
|
+List with factor values |
+
|
+
|
+Feedback creator name |
+
|
+
|
+Old strategic indicator value |
+
|
+
|
+Old strategic indicator category name |
+
|
+
|
+Old strategic indicator category color |
+
|
+
|
+New strategic indicator value |
+
|
+
|
+New strategic indicator category name |
+
|
+
|
+New strategic indicator category color |
+
HTTP/1.1 200 OK
+Content-Length: 346
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "siId" : 1,
+ "siName" : "Blocking",
+ "date" : "2019-07-07",
+ "fact" : [ "Factor 1", "Factor 2", "Factor 3" ],
+ "factVal" : [ 0.8, 0.7, 0.6 ],
+ "author" : null,
+ "oldvalue" : 0.6,
+ "oldCategory" : "Medium",
+ "oldCategoryColor" : "Orange",
+ "newvalue" : 0.75,
+ "newCategory" : "High",
+ "newCategoryColor" : "Green"
+} ]
+$ curl 'http://localhost:8080/api/projects/import' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+List with the external identifiers of all the assessed projects |
+
HTTP/1.1 200 OK
+Content-Length: 38
+Content-Type: application/json;charset=UTF-8
+
+[ "project1", "project2", "project3" ]
+HTTP/1.1 409 Conflict
+HTTP/1.1 500 Internal Server Error
+$ curl 'http://localhost:8080/api/projects' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Project identifier |
+
|
+
|
+Project external identifier |
+
|
+
|
+Project name |
+
|
+
|
+Project description |
+
|
+
|
+Project logo file |
+
|
+
|
+Is an active project? |
+
|
+
|
+Project identifier in the backlog |
+
HTTP/1.1 200 OK
+Content-Length: 163
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 1,
+ "externalId" : "test",
+ "name" : "Test",
+ "description" : "Test project",
+ "logo" : null,
+ "active" : true,
+ "backlogId" : "999"
+} ]
+Parameter | +Description | +
---|---|
|
+Project identifier |
+
$ curl 'http://localhost:8080/api/projects/1' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Project identifier |
+
|
+
|
+Project external identifier |
+
|
+
|
+Project name |
+
|
+
|
+Project description |
+
|
+
|
+Project logo file |
+
|
+
|
+Is an active project? |
+
|
+
|
+Project identifier in the backlog |
+
HTTP/1.1 200 OK
+Content-Length: 159
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : 1,
+ "externalId" : "test",
+ "name" : "Test",
+ "description" : "Test project",
+ "logo" : null,
+ "active" : true,
+ "backlogId" : "999"
+}
+Parameter | +Description | +
---|---|
|
+Project identifier |
+
Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Project name |
+
|
+Project description |
+
|
+Project identifier in the backlog |
+
Part | +Description | +
---|---|
|
+Project logo file |
+
$ curl 'http://localhost:8080/api/projects/1' -i -X PUT \
+ -H 'Content-Type: multipart/form-data' \
+ -F 'logo=@logo.jpg;type=image/jpeg' \
+ -F 'externalId=test' \
+ -F 'name=Test' \
+ -F 'description=Test project' \
+ -F 'backlogId=999'
+HTTP/1.1 200 OK
+HTTP/1.1 409 Conflict
+$ curl 'http://localhost:8080/api/products' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Product identifier |
+
|
+
|
+Product name |
+
|
+
|
+Product description |
+
|
+
|
+Product logo file |
+
|
+
|
+List of all the projects which compose the product |
+
|
+
|
+Project identifier |
+
|
+
|
+Project external identifier |
+
|
+
|
+Project name |
+
|
+
|
+Project description |
+
|
+
|
+Project logo file |
+
|
+
|
+Is an active project? |
+
|
+
|
+Project identifier in the backlog |
+
HTTP/1.1 200 OK
+Content-Length: 290
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : 1,
+ "name" : "Test",
+ "description" : "Test product",
+ "logo" : null,
+ "projects" : [ {
+ "id" : 1,
+ "externalId" : "test",
+ "name" : "Test",
+ "description" : "Test project",
+ "logo" : null,
+ "active" : true,
+ "backlogId" : "999"
+ } ]
+} ]
+Parameter | +Description | +
---|---|
|
+Product identifier |
+
$ curl 'http://localhost:8080/api/products/1' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Product identifier |
+
|
+
|
+Product name |
+
|
+
|
+Product description |
+
|
+
|
+Product logo file |
+
|
+
|
+List of all the projects which compose the product |
+
|
+
|
+Project identifier |
+
|
+
|
+Project external identifier |
+
|
+
|
+Project name |
+
|
+
|
+Project description |
+
|
+
|
+Project logo file |
+
|
+
|
+Is an active project? |
+
|
+
|
+Project identifier in the backlog |
+
HTTP/1.1 200 OK
+Content-Length: 286
+Content-Type: application/json;charset=UTF-8
+
+{
+ "id" : 1,
+ "name" : "Test",
+ "description" : "Test product",
+ "logo" : null,
+ "projects" : [ {
+ "id" : 1,
+ "externalId" : "test",
+ "name" : "Test",
+ "description" : "Test project",
+ "logo" : null,
+ "active" : true,
+ "backlogId" : "999"
+ } ]
+}
+Parameter | +Description | +
---|---|
|
+Product name |
+
|
+Product description |
+
|
+Comma separated values of the project identifiers which belong to the product |
+
Part | +Description | +
---|---|
|
+Product logo file |
+
$ curl 'http://localhost:8080/api/products' -i -X POST \
+ -H 'Content-Type: multipart/form-data' \
+ -F 'logo=@logo.jpg;type=image/jpeg' \
+ -F 'name=Test' \
+ -F 'description=Test product' \
+ -F 'projects=1'
+HTTP/1.1 201 Created
+HTTP/1.1 409 Conflict
+Parameter | +Description | +
---|---|
|
+Product identifier |
+
Parameter | +Description | +
---|---|
|
+Product name |
+
|
+Product description |
+
|
+Comma separated values of the project identifiers which belong to the product |
+
Part | +Description | +
---|---|
|
+Product logo file |
+
$ curl 'http://localhost:8080/api/products/1' -i -X PUT \
+ -H 'Content-Type: multipart/form-data' \
+ -F 'logo=@logo.jpg;type=image/jpeg' \
+ -F 'name=Test' \
+ -F 'description=Test product' \
+ -F 'projects=1'
+HTTP/1.1 200 OK
+HTTP/1.1 409 Conflict
+Parameter | +Description | +
---|---|
|
+Product identifier |
+
$ curl 'http://localhost:8080/api/products/1' -i -X DELETE
+HTTP/1.1 200 OK
+Parameter | +Description | +
---|---|
|
+Product identifier |
+
$ curl 'http://localhost:8080/api/products/1/current' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Length: 1005
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "id" : "blocking",
+ "dbId" : 1,
+ "name" : "Blocking",
+ "description" : "Blocking elements",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : [ 2019, 7, 7 ],
+ "datasource" : "Q-Rapdis Dashboard",
+ "categories_description" : "[Good (0,67), Neutral (0,33), Bad (0,00)]",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+} ]
+Parameter | +Description | +
---|---|
|
+Product identifier |
+
$ curl 'http://localhost:8080/api/products/1/projects/current' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Project external identifier |
+
|
+
|
+List of the current assessment of every strategic indicator inside the project |
+
|
+
|
+Strategic indicator identifier |
+
|
+
|
+Strategic indicator database identifier |
+
|
+
|
+Strategic indicator name |
+
|
+
|
+Strategic indicator description |
+
|
+
|
+Strategic indicator numerical value |
+
|
+
|
+Strategic indicator category |
+
|
+
|
+Strategic indicator forecasting 80% confidence interval |
+
|
+
|
+Strategic indicator forecasting 95% confidence interval |
+
|
+
|
+Readable strategic indicator value and category |
+
|
+
|
+Strategic indicator evaluation rationale |
+
|
+
|
+Strategic indicator categories list |
+
|
+
|
+Strategic indicator category identifier |
+
|
+
|
+Strategic indicator category label |
+
|
+
|
+Strategic indicator category probability |
+
|
+
|
+Strategic indicator category hexadecimal color |
+
|
+
|
+Strategic indicator category upper threshold |
+
|
+
|
+Strategic indicator assessment date |
+
|
+
|
+Strategic indicator source of data |
+
|
+
|
+Array with the strategic indicator categories and thresholds |
+
|
+
|
+Does the strategic indicator have a Bayesian Network? |
+
|
+
|
+Does the strategic indicator have any feedback |
+
|
+
|
+Errors in the forecasting |
+
|
+
|
+Maximum difference (in days) when there is difference in the evaluation dates between the strategic indicator and some quality factors |
+
|
+
|
+Factors without assessment |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 1129
+
+[ {
+ "first" : "test",
+ "second" : [ {
+ "id" : "blocking",
+ "dbId" : 1,
+ "name" : "Blocking",
+ "description" : "Blocking elements",
+ "value" : {
+ "first" : 0.8,
+ "second" : "Good"
+ },
+ "value_description" : "Good (0.80)",
+ "rationale" : "factors: {...}, formula: ..., value: ..., category: ...",
+ "probabilities" : [ {
+ "id" : 10,
+ "label" : "Good",
+ "value" : null,
+ "color" : "#00ff00",
+ "upperThreshold" : 0.66
+ }, {
+ "id" : 11,
+ "label" : "Neutral",
+ "value" : null,
+ "color" : "#ff8000",
+ "upperThreshold" : 0.33
+ }, {
+ "id" : 11,
+ "label" : "Bad",
+ "value" : null,
+ "color" : "#ff0000",
+ "upperThreshold" : 0.0
+ } ],
+ "date" : [ 2019, 7, 7 ],
+ "datasource" : "Q-Rapdis Dashboard",
+ "categories_description" : "[Good (0,67), Neutral (0,33), Bad (0,00)]",
+ "hasBN" : false,
+ "hasFeedback" : false,
+ "confidence80" : null,
+ "confidence95" : null,
+ "forecastingError" : null,
+ "mismatchDays" : 0,
+ "missingFactors" : null
+ } ]
+} ]
+$ curl 'http://localhost:8080/api/forecastTechniques' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Array with the forecasting techniques names |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 26
+
+[ "PROPHET", "ETS", "NN" ]
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Minimum milestone date (yyyy-mm-dd) |
+
$ curl 'http://localhost:8080/api/milestones?prj=test&date=2020-06-16' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Milestone date |
+
|
+
|
+Milestone name |
+
|
+
|
+Milestone description |
+
|
+
|
+Milestone type |
+
HTTP/1.1 200 OK
+Content-Length: 137
+Content-Type: application/json;charset=UTF-8
+
+[ {
+ "date" : "2020-06-19",
+ "name" : "Version 1.3",
+ "description" : "Version 1.3 adding new features",
+ "type" : "Release"
+} ]
+Parameter | +Description | +
---|---|
|
+Project external identifier |
+
|
+Minimum phase date (yyyy-mm-dd) |
+
$ curl 'http://localhost:8080/api/phases?prj=test' -i -X GET
+Path | +Type | +Description | +
---|---|---|
|
+
|
+Phase from date |
+
|
+
|
+Phase name |
+
|
+
|
+Phase description |
+
|
+
|
+Phase to date |
+
HTTP/1.1 200 OK
+Content-Type: application/json;charset=UTF-8
+Content-Length: 156
+
+[ {
+ "dateFrom" : "2020-06-01",
+ "name" : "Development",
+ "description" : "Implementation of project functionalities",
+ "dateTo" : "2020-07-01"
+} ]
+