On this page:
- Glossary
- Assessment Result
- Quality Standards
- Custom Quality Tags
Glossary
Term | Definition |
---|---|
Result | An assessment result of an application or a module. |
Result Detail | Additional values, indicators, related to a result: • intermediate calculation results • breakdown of a measure • related quantitative values |
Quality Standard Reference | A reference to a Quality Standard such as CWE-352 |
Assessment Result
URI Templates & Parameters
HTTP Action | Media Type | URI Templates | Description |
---|---|---|---|
GET | application/json | {Domain}/results{?parameters} | Array of results of a domain split by snapshots, by applications |
text/csv | |||
application/vnd.openxmlformats- officedocument.spreadsheetml.sheet | |||
PUT | text/csv | Create or update background facts values in a AED or AAD domain for several applications in the last snapshot | |
GET | application/json | {Domain}/applications/{ApplicationID}/results{?parameters} | Array of results for a given application |
text/csv | |||
application/vnd.openxmlformats- officedocument.spreadsheetml.sheet | |||
GET | application/json | {Domain}/applications/{ApplicationID}/snapshots/{SnapshotID}/results{?parameters} | Array of results for a given application and snapshot |
text/csv | |||
application/vnd.openxmlformats- officedocument.spreadsheetml.sheet | |||
PUT | text/csv | Create or update background facts values in a AED or AAD domain for a given application and snapshot | |
GET | application/json | {Domain}/modules/{ModuleID}/results{?parameters} | Array of results for a given module |
text/csv | |||
application/vnd.openxmlformats- officedocument.spreadsheetml.sheet | |||
GET | application/json | {Domain}/modules/{ModuleID}/snapshots/{SnapshotID}/results{?parameters} | Array of results for a given module and snapshot |
text/csv | |||
application/vnd.openxmlformats- officedocument.spreadsheetml.sheet | |||
GET | application/json | {Domain}/transactions/{TransactionID}/results{?parameters} | Array of results for a given transaction |
URI Parameter | Description | Values | Value Modifiers | Default value |
---|---|---|---|---|
quality-indicators | Specify a list of quality indicators | Quality Indicators identifiers or keywords, separated by a comma Ex: .../results/?quality-indicators=(business-criteria) | use 'c:' modifier to specify direct grade contributors of a Quality Indicator or a Quality Stantard reference( aka tag) Ex: c:61027 Ex: c:CISQ Note: this list is based on the union set of targeted snapshots | 60017 (Total Quality Index) is used if quality-indicators, sizing-measures and background-facts parameters are not set |
use 'cc:' modifier to specify critical grade contributors of a Quality Indicator Ex: cc:61027 Note: the critical contributors of a Business Criterion (eg. cc:61027) are the BC's critical children, union the TCs' critical children. A Quality Rule is said to be critical if it is critical for at least one of its parents. In the Assessment Model, some metrics have multiple parents therefore a Quality Rule can be critical for parent A, and non-critical for parent B. In other words, using the "cc" modifier can return non-critical Quality Rules. | ||||
use 'nc:' modifier to specify non-critical grade contributors of a Quality Indicator Ex: nc:61027 Note: the non-critical contributors (nc) of a Business Criterion (eg. nc:61027) are the BC's non-critical children, union the TCs' non-critical children. A Quality Rule is said to be critical if it is critical for at least one of its parents. In the Assessment Model, some metrics have multiple parents therefore a Quality Rule can be critical for parent A, and non-critical for parent B. | ||||
quality-standards | Specify a list of quality standards references | Quality Standards references, separated by a comma Ex: .../results/?quality-standards=(CISQ,CISQ-Maintainability) | Must be requested with the option in URL: select=(evolutionSummary) to retrieve the counts of violations | None |
sizing-measures | Specify a list of sizing measures | Sizing measures identifiers or keywords, separated by a comma Ex: .../results/?sizing-measures=(technical-size-measures) | None | None |
background-facts | Specify a list of background facts | Background Facts identifiers, separated by a comma Ex: .../results/?background-facts=(66061) | None | None |
metrics | Specify a list of metrics | Any metric identifier (quality-indicator, sizing-measure or background-fact) or keyword, separated by a comma | c: cc: nc: | 60017 |
applications | Specify a list of applications | Keyword $all or application names separated by a comma Ex: .../results/?applications=($all) | None | $all (all applications) |
modules | Specify a list of modules | Keyword $all or module names separated by a comma Ex: .../results/?modules=($all) | None | None |
technologies | Specify a list of technologies | Keyword $all or technology names separated by a comma Ex: .../results/?technologies=($all) | None | None |
snapshots | Specify a list of snapshots | The input value can be one of the following:
| None | -1 (last snapshot) |
snapshot-ids | specify a list of snapshot ids | The input value is a list of snapshot ids separated by commas. Ex: .../results/ ?snapshot-ids=(5,12,3) NB. The 'snapshot-ids' and 'snapshots' parameters are exclusive. You cannot use both in the same request. | none | none |
select | specify result options to be displayed | The input value can be one of the following:
| None | none |
unselect | specify result options to be hidden |
| none | none |
format | specify output format options |
| none | none |
order | specify result sorting options | Possible sorting parameters are:
| order=(asc(param1),desc(param2)) | order=(asc(rule-id)) |
Excel/CSV Representation (Output)
Columns | Description | Type |
---|---|---|
Application Name | Application name | String |
Module Name | Module name. If specified then assessment results are in the scope of this module | String |
Technology | Technology name. If specified then assessment results are in the scope of this technology | String |
Metric Name | Associated name of the metric key | Array |
Snapshot Date #N | Date of the assessment result. Assessment results are ordered from the most recent (N=1), to the less recent (N > 1). Effective selected snapshots depends on the snapshot query parameter. | Date |
Result #N | Assessment result as a grade for a quality indicator, or an integer for other results | Number |
Violations (Result #N) | Number of failed checks when query parameter "select" is set with "violationRatio" | Number |
Total Checks (Result #N) | Number of total checks when query parameter "select" is set with "violationRatio" | Number |
Added Critical Violations (Result #N) | Number of added critical violations when query parameter "select" is set with "evolutionSummary" | Number |
Critical Violations in New and Modified Code (Result #N) | Number of critical violations in new and modified code when query parameter "select" is set with "evolutionSummary" | Number |
Removed Critical Violations (Result #N) | Number of removed c ritical violations when query parameter "select" is set with "evolutionSummary" | Number |
Total Critical Violations (Result #N) | Number of total c ritical violations when query parameter "select" is set with "evolutionSummary" | Number |
CategoryName (Result #N) | Result for a category of a distribution when query parameter "select" is set with "categories" | Number |
CSV Representation (Input)
AAD (Application-Analytics-Dashboard) is the domain name for HD (Health Dashboard).
AED (Application-Engineering-Dashboard) is domain name for ED (Engineering Dashboard).
Columns Titles | Type | Put Payload |
---|---|---|
ADG Database | String | If AAD domain, the adgDatabase property of the application. If AED domain, this value is optional. If set, it must match the adgDatabase property of the application. |
Application Name | String | Name of the application to set Background Facts to |
Module Name | String | Name of the application modules to set Background Facts to. For a given background fact id and application name, this column must contain each application module, plus the empty value (referring to the application itself) |
Metric Id | Integer | A Background Fact id |
Result | Double | Value of the Background Fact for an application or one of its modules |
CSV Examples
ADG Database;Application Name;Module Name;Metric Id;Result ADG_GACD;DIDD Diccionarios;;2666003;21 ADG_GACD;DIDD Diccionarios;DIDD_CAPP_ESQUEMAS;2666003;9 ADG_GACD;DIDD Diccionarios;DIDD_J2EE;2666003;12 ADG_GACD;DIDD Diccionarios;;66061;2.0 ADG_GACD;DIDD Diccionarios;DIDD_CAPP_ESQUEMAS;66061;3.0 ADG_GACD;DIDD Diccionarios;DIDD_J2EE;66061;4.0
ADG Database;Application Name;Module Name;Metric Id;Result ;DIDD Diccionarios;;2666003;21 ;DIDD Diccionarios;DIDD_CAPP_ESQUEMAS;2666003;9 ;DIDD Diccionarios;DIDD_J2EE;2666003;12 ;BO;;2666003;17 ;BO;BO full content;2666003;17 ;CastOld;;66061;4.83 ;CastOld;Adg;66061;3.2 ;CastOld;Central;66061;4.7 ;CastOld;DssAdmin;66061;0.8 ;CastOld;Pchit;66061;10.5 ;DIDD Diccionarios;;66061;2.0 ;DIDD Diccionarios;DIDD_CAPP_ESQUEMAS;66061;3.0 ;DIDD Diccionarios;DIDD_J2EE;66061;4.0
JSON Representations & JSON Examples
Result Item
Properties | Description | Type | Occurs |
---|---|---|---|
number | Order number of the application snapshot | Integer | 1 |
date | Date of the application snapshot | Date | 1 |
application | Reference | URI | 1 |
applicationSnapshot | Reference to get an application snapshot | URI | 1 |
applicationResults | All results | Array | 1 |
applicationResults[ ] | See application result | Structure | 0..* |
Application Result
Case of a Business Criterion
Properties | Description | Type | Occurs |
---|---|---|---|
type | Value is "business-criterion" | String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result stucture | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.grade | Grade value between 1.0 and 4.0 | Double | 0..1 |
result.boundaries | Reserved | Structure | 0..1 |
result.evolutionSummary | See Evolution Summary structure | Structure | 0..1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result stucture | Structure | 0..* |
reference | Reference to a Business Criterion | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | String | 1 | |
reference.key | Integer | 1 | |
transactionResults | Results Breakdown by transaction | Array | 0..1 |
transactionResults[ ] | See Transaction Result stucture | Structure | 0..* |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "business-criteria", "technologiesResults": [], "result": { "grade": 3.04528, "boundaries": null, "evolutionSummary": null }, "modulesResults": [], "reference": { "href": "DEMO/quality-indicators/60017/snapshots/5", "name": "Total Quality Index", "shortName": "TQI", "key": "60017", "gradeAggregators": null }, "transactionResults": [] } ] } ]
Case of a Technical Criterion
Properties | Description | Type | Occurs |
---|---|---|---|
type | Value is "technical-criterion" | String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result structure | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.grade | Grade value between 1.0 and 4.0 | Double | 0..1 |
result.boundaries | Reserved | Structure | 0..1 |
result.violationRatio | Reserved | Structure | 0..1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result structure | Structure | 0..* |
reference | Reference to a Quality Indicator | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | String | 1 | |
reference.key | Integer | 1 | |
reference.gradeAggregators | Indicators computed with this result | Array | 1 |
reference.gradeAggregators[].key | A parent Quality Indicator key | String | 0..* |
reference.gradeAggregators[].weight | Contribution weight | Integer | 1 |
reference.gradeAggregators[].criticity | "N/A" | String | 1 |
transactionResults | Results Breakdown by transaction | Array | 0..1 |
transactionResults[ ] | See Transaction Result stucture | Structure | 0..* |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "technical-criteria", "technologiesResults": [], "result": { "grade": 4, "boundaries": null, "violationRatio": null }, "modulesResults": [], "reference": { "href": "DEMO/quality-indicators/61007/snapshots/5", "name": "Documentation - Bad Comments", "shortName": null, "key": "61007", "gradeAggregators": null }, "transactionResults": [] } ] } ]
Case of a Quality Rule
Properties | Description | Type | Occurs |
---|---|---|---|
type | Value is "quality-rules" | String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result structure | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.grade | Grade value between 1.0 and 4.0 | Double | 0..1 |
result.boundaries | Reserved | Structure | 0..1 |
result.violationRatio | See Violation Ratio Structure | Structure | 0..1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result structure | Structure | 0..* |
reference | Reference to a Quality Indicator | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | |||
reference.key | Integer | 1 | |
reference.gradeAggregators | Indicators computed with this result | Array | 1 |
reference.gradeAggregators[].key | A parent Quality Indicator key | String | 0..* |
reference.gradeAggregators[].weight | Contribution weight | Integer | 1 |
reference.gradeAggregators[].criticity | Contribution criticity | Boolean | 1 |
transactionResults | Results Breakdown by transaction | Array | 0..1 |
transactionResults[ ] | See Transaction Result stucture | Structure | 0..* |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "quality-rules", "technologiesResults": [], "result": { "grade": 3.59457, "boundaries": null, "violationRatio": null }, "modulesResults": [], "reference": { "href": "DEMO/quality-indicators/5080/snapshots/5", "name": "Avoid Procedure Paragraphs that contains no statements", "shortName": null, "key": "5080", "gradeAggregators": null }, "transactionResults": [] } ] } ]
Case of a Quality Distribution
Properties | Description | Type | Occurs |
---|---|---|---|
type | Value is "quality-distributions" | String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result stucture | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.grade | Grade value between 1.0 and 4.0 | Double | 0..1 |
result.boundaries | Reserved | Structure | 0..1 |
result.categories | See Category Structure | Array | 1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result stucture | Structure | 0..* |
reference | Reference to a Quality Indicator | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | |||
reference.key | Integer | 1 | |
reference.gradeAggregators | Indicators computed with this result | Array | 1 |
reference.gradeAggregators[].key | A parent Quality Indicator key | String | 0..* |
reference.gradeAggregators[].weight | Contribution weight | Integer | 1 |
reference.gradeAggregators[].criticity | Contribution criticity | Boolean | 1 |
Note that when retrieving Cost Complexity data the information you receive will vary:
- If you are querying the Measurement Service, then only the categories High and Very High will be available
- If you are querying the Dashboard Service, then all categories (Low, Moderate, High and Very High) will be available.
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "quality-distributions", "technologiesResults": [], "result": { "grade": 2.91687, "boundaries": null, "categories": null }, "modulesResults": [], "reference": { "href": "DEMO/quality-indicators/65105/snapshots/5", "name": "Size Distribution", "shortName": null, "key": "65105", "gradeAggregators": null } } ] } ]
Case of a Quality Measure
Properties | Description | Type | Occurs |
---|---|---|---|
type | Value is "quality-measures" | String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result stucture | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.grade | Grade value between 1.0 and 4.0 | Double | 0..1 |
result.boundaries | See Boundaries Structure | Structure | 0..1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result stucture | Structure | 0..* |
reference | Reference to a Qualilty Indicator | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | |||
reference.key | Integer | 1 | |
reference.gradeAggregators | Indicators computed with this result | Array | 1 |
reference.gradeAggregators[].key | A parent Quality Indicator key | String | 0..* |
reference.gradeAggregators[].weight | Contribution weight | Integer | 1 |
reference.gradeAggregators[].criticity | Contribution criticity | Boolean | 1 |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "quality-measures", "technologiesResults": [], "result": { "grade": 3.03494, "boundaries": null }, "modulesResults": [], "reference": { "href": "DEMO/quality-indicators/66067/snapshots/5", "name": "Avoid High Volume of Copy Pasted Code", "shortName": null, "key": "66067", "gradeAggregators": null } } ] } ]
Case of a Sizing Measure
Properties | Description | Type | Occurs |
---|---|---|---|
type | Value is among
| String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result stucture | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.value | Size | Double | 0..1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result stucture | Structure | 0..* |
reference | Reference to a Sizing Measure | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | |||
reference.key | Integer | 1 |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "technical-size-measures", "technologiesResults": [], "result": { "value": 225727 }, "modulesResults": [], "reference": { "href": "DEMO/sizing-measures/10151/snapshots/5", "name": "Number of Code Lines", "shortName": "kLOCs", "key": "10151", "gradeAggregators": null } } ] } ]
Case of a Background Fact
Properties | Description | Type | Occurs |
---|---|---|---|
type | background-fact | String | 1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result structure | Structure | 0..* |
result | Application snapshot own result | Double | 0..1 |
result.value | Fact | Double | 0..1 |
modulesResults | Results Breakdown by module | Array | 0..1 |
modulesResults[ ] | See Module Result stucture | Structure | 0..* |
reference | Reference to a Sizing Measure | Structure | 1 |
reference.href | URI | 1 | |
reference.name | String | 1 | |
reference.shortName | |||
reference.key | Integer | 1 |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "background-facts", "technologiesResults": [], "result": { "value": 1 }, "modulesResults": [], "reference": { "href": "DEMO/background-facts/66061/snapshots/5", "name": "Business Value", "shortName": "Biz Value", "key": "66061", "gradeAggregators": null } } ] } ]
Optional Quality Indicator Result Detail
Violation Ratio (option coming with Quality Rules)
Properties | Description | Type | Occurs |
---|---|---|---|
violationRatio | For a quality rule, this ratio in an input value required | Structure | 0..1 |
violationRatio.totalChecks | Total number of checked items in the current scope | Integer | 1 |
violationRatio.failedChecks | Total number of failed items in the current scope | Integer | 1 |
violationRatio.successfulChecks | Result of totalChecks - failedChecks | Integer | 1 |
violationRatio.ratio | Compliance Ratio, i.e. successfulChecks / totalChecks | Double | 1 |
violationRatio.violationOccurrences | Total number of violation occurrences (ex: number of bookmarks) Since AIP 8.3.33 | Integer | 1 |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "quality-rules", "technologiesResults": [], "result": { "grade": 3.59457, "boundaries": null, "violationRatio": { "totalChecks": 267, "failedChecks": 7, "successfulChecks": 260, "ratio": 0.9737827715355806 } }, "modulesResults": [], "reference": { "href": "DEMO/quality-indicators/5080/snapshots/5", "name": "Avoid Procedure Paragraphs that contains no statements", "shortName": null, "key": "5080", "gradeAggregators": null } } ] } ]
Evolution Summary (option coming with Business Criteria)
Properties | Description | type | Occurs |
---|---|---|---|
evolutionSummary | Evolution summary | Structure | 0..1 |
evolutionSummary.removedCriticalViolations | Number of critical violations removed | Integer | 1 |
evolutionSummary.addedCriticalViolations | Number of critical violations added | Integer | 1 |
evolutionSummary.criticalViolationsInNew | Number of critical violations in new and modified code | Integer | 1 |
evolutionSummary.totalCriticalViolations | Total Number of critical violations | Integer | 1 |
evolutionSummary.addedViolations | Number of violations added since the previous snapshot | Integer | 1 |
evolutionSummary.removedViolations | Number of violations removed since the previous snapshot | Integer | 1 |
[ { "number": 1, "date": { "time": 1338328800000 }, "application": { "href": "DEMO/applications/6", "name": "Application 006" }, "applicationSnapshot": { "href": "DEMO/applications/6/snapshots/5", "name": "Application 006" }, "applicationResults": [ { "type": "business-criteria", "reference": { "href": "DEMO/quality-indicators/60014/snapshots/5", "name": "Efficiency", "shortName": "Effy", "key": "60014", "gradeAggregators": null }, "result": { "grade": 2.67281, "evolutionSummary": { "criticalViolationsInNewAndModifiedCode": 5, "totalCriticalViolations": 5, "addedCriticalViolations": 5, "removedCriticalViolations": 0, "addedViolations": 13, "removedViolations": 280 }, }, "technologyResults": [], "moduleResults": [] } ] } ]
OMG Technical Debt (option coming with Business Criteria, Technical Criteria, Quality Rules)
Properties | Description | Type | Occurs |
---|---|---|---|
total | Total Technical Debt | Integer | 1 |
numberOccurrences | Number of violation occurrences (number of bookmarks for example) | Integer | 1 |
added | Technical Debt of added violations | Integer | 1 |
removed | Technical Debt of removed violations | Integer | 1 |
... "result": { "grade": 4, "omgTechnicalDebt": { "total": 11040, "numberOccurrences": 176, "added": 0, "removed": 0 }, "violationRatio": { "totalChecks": 7411, "failedChecks": 33, "successfulChecks": 7378, "ratio": 0.9955471596275807 } },
Category (option coming with Quality Distributions)
Properties | Description | Type | Occurs |
---|---|---|---|
categories | Categories results | Array | 1 |
categories[ ] | A category result | Structure | 1..4 |
categories[ ].key | A category id | String | 1 |
categories[ ].name | A category name | String | 1 |
categories[ ].value | A category measure | Integer | 1 |
[ { "number": 4, "date": { "time": 1279144800000 }, "application": { "href": "wow7010/applications/12", "name": "IFPUG" }, "applicationSnapshot": { "href": "wow7010/applications/12/snapshots/15", "name": "IFPUG" }, "applicationResults": [ { "type": "quality-distributions", "reference": { "href": "wow7010/quality-indicators/66010/snapshots/15", "name": "Reuse by Call Distribution", "shortName": null, "key": "66010", "gradeAggregators": null }, "result": { "grade": 1, "categories": [ { "key": "66014", "name": "Low Reuse by Call", "value": 478 }, { "key": "66013", "name": "Average Reuse by Call", "value": 17 }, { "key": "66012", "name": "High Reuse by Call", "value": 3 }, { "key": "66011", "name": "Very High Reuse by Call", "value": 1 } ], "boundaries": null }, "technologyResults": [], "moduleResults": [] } ] } ]
Technology Result Detail
Properties | Description | Type | Occurs |
---|---|---|---|
technology | Technology name | String | 1 |
result | See result structure | Structure | 1 |
Module Result Detail
Properties | Description | Type | Occurs |
---|---|---|---|
module | Reference to a module snapshot | Structure | 1 |
module.href | Module snapshot URI | URI | 1 |
module.name | Module snapshot name | String | 1 |
module.number | Module snapshot number | Integer | 1 |
result | See Result Item Stucture | Double | 0..1 |
technologiesResults | Results Breakdown by technology | Array | 0..1 |
technologiesResults[ ] | See Technology Result Detail | Structure | 0..* |
Transaction Result Detail
Properties | Description | Type | Occurs |
---|---|---|---|
transaction | Reference to a transaction snapshot | Structure | 1 |
transaction.href | Transaction snapshot URI | URI | 1 |
transaction.name | Transaction snapshot name | String | 1 |
result | See Result Item Stucture | Double | 0..1 |
Quality Standards
URI Templates & Parameters
HTTP Action | Media Type | URI Templates | Description |
---|---|---|---|
GET | application/json | {Domain}/quality-standards-categories/{QualityStandardCategory}?{parameters} | Array of all quality standard references (aka tags) for a given category (OWASP-2017, STIG-V4R8-CAT1, etc.) |
{Domain}/applications/{ID}/quality-standards | Array of quality standard references for an application. Only quality standard references with violations are reported. | ||
{Domain}/applications/{ID}/snapshots/{SnapshotID}/quality-standards |
JSON Representation
Properties | Description | Type | Occurs |
---|---|---|---|
standard | Quality Standard name | String | 1 |
id | Reference name (aka tag) | String | 1 |
name | Reference label | String | 1 |
description | reserved | String | 1 |
applicable | Specify whether this Quality Standard is applicable to static code analysis. Some Security Standards recommendations may be out of the scope of static code analysis. | Boolean | 1 |
contributors | List of rules associated to each Quality Standard | Structure | 0..* |
Query Parameters
Parameter | Description | Values | Default Value |
---|---|---|---|
select | Specify to return list of rules contributing to each Qualuty Standard. | contributors | N/A |
JSON Example
[ { "standard": "CISQ", "id": "ASCMM-MNT-6", "name": "Commented Code Element Excessive Volume" }, { "standard": "CISQ", "id": "ASCSM-CWE-681", "name": "Numeric Types Incorrect Conversion" } }
Custom Quality Tags
URI Templates & Parameters
HTTP Action | Media Type | URI Templates | Description |
---|---|---|---|
GET | text/csv | {Domain}/custom-quality-tags | Download CUSTOM TAGS mapping Example of curl command line: C:\> |
PUT | text/csv | {Domain}/custom-quality-tags | Add rule/CUSTOM TAGS mapping. If the mapping already exists, it is left unchanged. The tag must begin with the 'CUSTOM' prefix, otherwise the web service raises an error. All new TAGS are automatically assigned to the 'CUSTOM' standard. Example of curl command line: |
DELETE | text/csv | {Domain}/custom-quality-tags | Remove rule/CUSTOM TAGS mapping The tag must begin with the 'CUSTOM' prefix, otherwise the web service raises an error All deleted TAGS are automatically removed from 'CUSTOM' standard. Example of curl command line: C:\>curl -X DELETE --header "Content-type: text/csv" --upload-file data.csv http://localhost:8080/CAST-RESTAPI/rest/{Domain}/custom-quality-tags |
CSV Representation
Columns | Description | Type | Occurs |
---|---|---|---|
Rule ID | A rule ID | Integer | 1 |
Tag | A label starting with "CUSTOM" | String | 1 |
CSV Example
Rule ID;Tag 3626;CUSTOM-TOP-PRIORITY-RULES