Repository: bridgecrewio/checkov

Issue:
Guidelines not displayed when check fails 
I am crafting some custom rules and am unable to get the guidelines section to print out when the rule fails. 
When I run the out-of-the box rules, guidelines prints.  How do I get my custom rules to generate the guideline so that my users can access url? 

```
metadata:
  name: "Ensure instance profile is configured - https://test.example.com/EC2/MK_AWS_EC2_2.md?at=refs%2Fheads%2Fdevelop"
  guidelines: "https://test.example.com/EC2/MK_AWS_EC2_2.md?at=refs%2Fheads%2Fdevelop"
  id: "CKV_AWS_TF_EC2_2"
  category: "IAM"
  severity: "TBD"
scope:
provider: "aws"
definition:
            cond_type: "attribute"
            resource_types:
              - "aws_instance"
            attribute: "iam_instance_profile"
            operator: "exists"
```

**Version (please complete the following information):**
 - Checkov Version [2.0.1065]





Discussion:
Hi @SiSiHenry !

Can you try naming the field `guideline`, singular form?
I have tried both singular and plural form of the  word and neither outputs. 
Seeing this too, here's an example entry from running `-o json` on a plan file. I've omitted details of my infrastructure, but removed no keys at top level. (version checkov-2.1.87)
```json
{
    "check_id": "CKV2_AWS_6",
    "bc_check_id": null,
    "check_name": "Ensure that S3 bucket has a Public Access block",
    "check_result": {
        "result": "FAILED",
        "entity": {
            "aws_s3_bucket": {} // aws results
        },
        "evaluated_keys": [
            "block_public_policy",
            "block_public_acls",
            "resource_type"
        ]
    },
    "code_block": [], // my tf code
    "file_path": "/../../app/tfplan.json",
    "file_abs_path": "/app/tfplan.json",
    "repo_file_path": "/app/tfplan.json",
    "file_line_range": [
        1437,
        1458
    ],
    "resource": "", // my resource
    "evaluations": null,
    "check_class": "checkov.common.graph.checks_infra.base_check",
    "fixed_definition": null,
    "entity_tags": {}, // my entity
    "caller_file_path": null,
    "caller_file_line_range": null,
    "resource_address": "", // my resource
    "severity": null,
    "bc_category": null,
    "benchmarks": {},
    "description": null,
    "short_description": null,
    "vulnerability_details": null,
    "connected_node": null,
    "guideline": null
}
```

Resolving patch:
diff --git a/checkov/common/checks_infra/checks_parser.py b/checkov/common/checks_infra/checks_parser.py
--- a/checkov/common/checks_infra/checks_parser.py
+++ b/checkov/common/checks_infra/checks_parser.py
@@ -134,6 +134,7 @@ def parse_raw_check(self, raw_check: Dict[str, Dict[str, Any]], **kwargs: Any) -
         check.name = raw_check.get("metadata", {}).get("name", "")
         check.category = raw_check.get("metadata", {}).get("category", "")
         check.frameworks = raw_check.get("metadata", {}).get("frameworks", [])
+        check.guideline = raw_check.get("metadata", {}).get("guideline")
         solver = self.get_check_solver(check)
         check.set_solver(solver)
 


Test patch:
diff --git a/tests/terraform/runner/extra_yaml_checks/bucket_versioned_owned.yaml b/tests/terraform/runner/extra_yaml_checks/bucket_versioned_owned.yaml
--- a/tests/terraform/runner/extra_yaml_checks/bucket_versioned_owned.yaml
+++ b/tests/terraform/runner/extra_yaml_checks/bucket_versioned_owned.yaml
@@ -2,6 +2,7 @@ metadata:
   id: "CKV2_CUSTOM_1"
   name: "Ensure bucket has versioning and owner tag"
   category: "BACKUP_AND_RECOVERY"
+  guideline: "https://docs.bridgecrew.io/docs/ckv2_custom_1"
 definition:
   and:
     - cond_type: "attribute"
diff --git a/tests/terraform/runner/test_runner.py b/tests/terraform/runner/test_runner.py
--- a/tests/terraform/runner/test_runner.py
+++ b/tests/terraform/runner/test_runner.py
@@ -182,6 +182,10 @@ def test_runner_extra_yaml_check(self):
 
         self.assertEqual(passing_custom, 0)
         self.assertEqual(failed_custom, 3)
+
+        graph_record = next(record for record in report.failed_checks if record.check_id == "CKV2_CUSTOM_1")
+        self.assertEqual(graph_record.guideline, "https://docs.bridgecrew.io/docs/ckv2_custom_1")
+
         # Remove external checks from registry.
         runner.graph_registry.checks[:] = [check for check in runner.graph_registry.checks if "CUSTOM" not in check.id]