{ "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "version": "2.1.0", "runs": [ { "tool": { "driver": { "name": "PMD", "version": "", "informationUri": "https://docs.pmd-code.org/latest/", "rules": [ { "id": "ApexSharingViolations", "shortDescription": { "text": "Apex classes should declare a sharing model if DML or SOQL/SOSL is used" }, "fullDescription": { "text": "Detect classes declared without explicit sharing mode if DML methods are used. This forces the developer to take access restrictions into account before modifying objects." }, "helpUri": "https://docs.pmd-code.org/latest/pmd_rules_apex_security.html#apexsharingviolations", "help": { "text": "Detect classes declared without explicit sharing mode if DML methods are used. This forces the developer to take access restrictions into account before modifying objects." }, "properties": { "ruleset": "Security", "priority": 3, "tags":[ "Security" ] } }, { "id": "ApexDoc", "shortDescription": { "text": "Missing ApexDoc comment" }, "fullDescription": { "text": "This rule validates that: ApexDoc comments are present for classes, methods, and properties that are public or global, excluding overrides and test classes (as well as the contents of test classes)." }, "helpUri": "https://docs.pmd-code.org/latest/pmd_rules_apex_documentation.html#apexdoc", "help": { "text": "This rule validates that: ApexDoc comments are present for classes, methods, and properties that are public or global, excluding overrides and test classes (as well as the contents of test classes)." }, "properties": { "ruleset": "Documentation", "priority": 3, "tags": [ "Documentation" ] } } ] } }, "results": [ { "ruleId": "ApexSharingViolations", "ruleIndex": 0, "message": { "text": "Apex classes should declare a sharing model if DML or SOQL/SOSL is used" }, "locations": [ { "physicalLocation": { "artifactLocation": { "uri": "/Users/user/pmd/unhappy-soup/force-app/main/default/classes/ApexSOQLInjection.cls" }, "region": { "startLine": 1, "startColumn": 14, "endLine": 1, "endColumn": 30 } } }, { "physicalLocation": { "artifactLocation": { "uri": "/Users/user/pmd/unhappy-soup/force-app/main/default/classes/ApexSharingViolations.cls" }, "region": { "startLine": 1, "startColumn": 14, "endLine": 1, "endColumn": 34 } } } ] }, { "ruleId": "ApexDoc", "ruleIndex": 1, "message": { "text": "Missing ApexDoc comment" }, "locations": [ { "physicalLocation": { "artifactLocation": { "uri": "/Users/user/pmd/unhappy-soup/force-app/main/default/classes/ApexSOQLInjection.cls" }, "region": { "startLine": 1, "startColumn": 14, "endLine": 6, "endColumn": 1 } } }, { "physicalLocation": { "artifactLocation": { "uri": "/Users/user/pmd/unhappy-soup/force-app/main/default/classes/ApexSOQLInjection.cls" }, "region": { "startLine": 3, "startColumn": 17, "endLine": 5, "endColumn": 2 } } }, { "physicalLocation": { "artifactLocation": { "uri": "/Users/user/pmd/unhappy-soup/force-app/main/default/classes/ApexSharingViolations.cls" }, "region": { "startLine": 1, "startColumn": 14, "endLine": 6, "endColumn": 1 } } }, { "physicalLocation": { "artifactLocation": { "uri": "/Users/user/pmd/unhappy-soup/force-app/main/default/classes/ApexSharingViolations.cls" }, "region": { "startLine": 3, "startColumn": 14, "endLine": 5, "endColumn": 2 } } } ] } ] } ] }