Skip to content

Setting per schema 'severity' not working #1553

@MrChocolateMoose

Description

@MrChocolateMoose

Bug Report

I have a schemas.json that has various schemas in it. I am not quite ready to make some of them violations (which I would then escalate to errors). I would like to keep those particular ones as "informational" for now.

In the document, it makes it seem like that you can accomplish this:
https://sphinx-needs.readthedocs.io/en/latest/schema/index.html#id2

However, I am not able to achieve that result

Expected Results

I have several schema items with severity "violation" and several with severity "info".

Simple Stripped Down Example

{
    "schemas": [
        {
            "id": "field-1-enum",
            "severity": "violation",
            "message": "field must be one of A, B, C",
            "select": {
                "required": [
                    "my_field_1"
                ],
                "properties": {
                    "type": {
                        "const": "my_type"
                    }
                }
            },
            "validate": {
                "local": {
                    "required": [
                        "my_field_1"
                    ],
                    "properties": {
                        "my_field_1": {
                            "type": "string",
                            "enum": [
                                "A",
                                "B",
                                "C",
                            ]
                        }
                    }
                }
            }
        },
        {
            "id": "field-2-enum",
            "severity": "info",
            "message": "field must be one of D, E, F",
            "select": {
                "required": [
                    "my_field_2"
                ],
                "properties": {
                    "type": {
                        "const": "my_type"
                    }
                }
            },
            "validate": {
                "local": {
                    "required": [
                        "my_field_2"
                    ],
                    "properties": {
                        "my_field_2": {
                            "type": "string",
                            "enum": [
                                "D",
                                "E",
                                "F",
                            ]
                        }
                    }
                }
            }
        },

I expect if I violate one of type Info that I see it displayed as an informational item in the build process, otherwise as a violation (which would be categorized as a warning?).

Actual Results

When I violate informational items, it is showing that the severity is "violation" (Default).

I have found only having "info" also fails. It's like it isn't applying at all.

Library Details

I am on sphinx-needs 6.0.1

Metadata

Metadata

Assignees

Labels

E4Low effortsP1Critical priority

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions