Načtení seznamu pravidel

Pravidla jsou seskupena dohromady pomocí sady pravidel. Pravidlo nemusí být v žádné nebo ve více sadách pravidel. Pomocí požadavku GET získáte seznam všech dostupných pravidel, pravidel v sadě pravidel nebo sad pravidel pomocí volání rozhraní API [Geographical URI]/api/rule. Existuje několik variací, jak volat tohle rozhraní API, nejběžnější je však načíst seznam pravidel pro konkrétní sadu pravidel.

Hlavičky

Název Typ Očekávaná hodnota Povinné?
Accept-Language řetězec Kód jazyka (například en-US). Výchozí je en-US. ne

Parametry

Název Typ Očekávaná hodnota Povinné?
ruleset řetězec Název nebo ID sady pravidel nebo seznam ID sady pravidel nebo názvy oddělené čárkou nebo středníkem (např. „Kontrola řešení“). ne
includeMessageFormats bool Při nastavení na true je seznam možných variant zpráv zahrnut do výsledků požadavků na jazyky, pokud je k dispozici. Tento seznam je užitečný pro překlady do více jazyků. Pokud to není nutné, nezadávejte tento parametr ani nezadávejte false, neboť hodnota tohoto parametru zvýší velikost odezvy a může prodloužit dobu zpracování. ne

Očekávané odpovědi

Kód stavu HTTP Scénář Výsledek
200 Byl nalezen jeden nebo více výsledků Viz příklad dále v tomto článku. Může být vrácen jeden nebo více výsledků.
204 Nebyly nalezeny žádné výsledky Žádné výsledky v textu odpovědi.
401 Ověření nebylo úspěšné. Žádné výsledky v textu odpovědi.

Očekávaný text odpovědi

V následující tabulce je nastíněna struktura odpovědi pro každý požadavek (pouze odpověď HTTP 200).

Vlastnost Typ Očekávaná hodnota Povinné?
code řetězec Identifikátor pravidla, někdy označovaný jako ID pravidla. Ano
Souhrn řetězec Souhrn pravidla. Ano
Popis řetězec Podrobnější popis pravidla. Ano
guidanceUrl Identifikátor URI Adresa URL, na které najdete publikované pokyny. Mohou existovat případy, kdy neexistuje specializovaný podpůrný článek s pokyny. Ano
zahrnout logický Signály službě, že pravidlo má být zahrnuto do analýzy. Tato hodnota je true pro toto rozhraní API. Ne
messageTemplates pole Hodnota této vlastnosti je zahrnuta pouze tehdy, když includeMessageFormats je true. Ne
messageTemplates.ruleId řetězec Vrací stejnou hodnotu ID jako vlastnost code. Ano
messageTemplates.messageTemplateId řetězec Identifikátor používaný v sestavě SARIF (formát výměny výsledků statické analýzy) k signalizaci variace zprávy o problému pro pravidlo. Ano
messageTemplates.messageTemplate řetězec Text variace zprávy pro scénář problému, který pravidlo hlásí. Tento text je řetězec formátu, který může obsahovat tokeny, ve kterých lze argumenty uvedené v sestavě SARIF použít k vytvoření podrobné zprávy. Ano

Příklad: načtení pravidel pro sadu pravidel v jiném jazyce

Tento příklad vrací data pro všechna pravidla v sadě pravidel Kontrola řešení ve francouzském jazyce. Pokud je požadovaným jazykem angličtina, stačí odebrat záhlaví Accept-Language.

Žádost

GET [Geographical URI]/api/rule?ruleset=083A2EF5-7E0E-4754-9D88-9455142DC08B&api-version=2.0
x-ms-correlation-id: 9E378E56-6F35-41E9-BF8B-C0CC88E2B832
Accept: application/json
Content-Type: application/json; charset=utf-8
Accept-Language: fr

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "description": "Ne pas implémenter d’activités de workflow Microsoft Dynamics CRM 4.0",
        "guidanceUrl": "https://go.microsoft.com/fwlink/?LinkID=398563&error=il-avoid-crm4-wf&client=PAChecker",
        "include": true,
        "code": "il-avoid-crm4-wf",
        "summary": "Ne pas implémenter d’activités de workflow Microsoft Dynamics CRM 4.0",
        "howToFix": {
            "summary": ""
        }
    },
    {
        "description": "Utiliser InvalidPluginExecutionException dans des plug-ins et activités de workflow",
        "guidanceUrl": "https://go.microsoft.com/fwlink/?LinkID=398563&error=il-use-standard-exception&client=PAChecker",
        "include": true,
        "code": "il-use-standard-exception",
        "summary": "Utiliser InvalidPluginExecutionException dans des plug-ins et activités de workflow",
        "howToFix": {
            "summary": ""
        }
    },
...
]

Příklad: načtení všeho

Tento příklad vrátí data pro všechna dostupná pravidla.

Žádost

GET [Geographical URI]/api/rule?api-version=2.0
Accept: application/json
Content-Type: application/json; charset=utf-8

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "description": "Retrieve specific columns for an entity via query APIs",
        "guidanceUrl": "https://go.microsoft.com/fwlink/?LinkID=398563&error=il-specify-column&client=PAChecker",
        "include": true,
        "code": "il-specify-column",
        "summary": "Retrieve specific columns for an entity via query APIs",
        "howToFix": {
            "summary": ""
        }
    },
    {
        "description": "Do not duplicate plug-in step registration",
        "guidanceUrl": "https://go.microsoft.com/fwlink/?LinkID=398563&error=meta-remove-dup-reg&client=PAChecker",
        "include": true,
        "code": "meta-remove-dup-reg",
        "summary": "Do not duplicate plug-in step registration",
        "howToFix": {
            "summary": ""
        }
    },
...
]

Příklad: načtení sady pravidel s formáty zpráv

Tento příklad vrací data pro všechna pravidla v sadě pravidel Kontrola řešení ve francouzském jazyce. Pokud je požadovaným jazykem angličtina, stačí odebrat záhlaví Accept-Language.

Žádost

GET [Geographical URI]/api/rule?ruleset=083A2EF5-7E0E-4754-9D88-9455142DC08B&includeMessageFormats=true&api-version=2.0
Accept: application/json
Content-Type: application/json; charset=utf-8

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
    {
        "description": "Do not implement Microsoft Dynamics CRM 4.0 workflow activities",
        "guidanceUrl": "https://go.microsoft.com/fwlink/?LinkID=398563&error=il-avoid-crm4-wf&client=PAChecker",
        "include": true,
        "code": "il-avoid-crm4-wf",
        "summary": "Do not implement Microsoft Dynamics CRM 4.0 workflow activities",
        "howToFix": {
            "summary": ""
        },
        "messageTemplates": [
            {
                "ruleId": "il-avoid-crm4-wf",
                "messageTemplateId": "message1",
                "messageTemplate": "Update the {0} class to derive from System.Workflow.Activities.CodeActivity, refactor Execute method implementation, and remove Microsoft.Crm.Workflow.CrmWorkflowActivityAttribute from type"
            },
            {
                "ruleId": "il-avoid-crm4-wf",
                "messageTemplateId": "message2",
                "messageTemplate": "Change the {0} property's type from {1} to {2} Argument <T> type"
            },
            {
                "ruleId": "il-avoid-crm4-wf",
                "messageTemplateId": "message3",
                "messageTemplate": "Replace the Microsoft.Crm.Workflow.Crm{0}Attribute with Microsoft.Xrm.Sdk.Workflow.{0}Attribute"
            },
            {
                "ruleId": "il-avoid-crm4-wf",
                "messageTemplateId": "message4",
                "messageTemplate": "Remove the {0} System.Workflow.ComponentModel.DependencyProperty type field"
            }
        ]
    },
    {
        "description": "Use InvalidPluginExecutionException in plug-ins and workflow activities",
        "guidanceUrl": "https://go.microsoft.com/fwlink/?LinkID=398563&error=il-use-standard-exception&client=PAChecker",
        "include": true,
        "code": "il-use-standard-exception",
        "summary": "Use InvalidPluginExecutionException in plug-ins and workflow activities",
        "howToFix": {
            "summary": ""
        },
        "messageTemplates": [
            {
                "ruleId": "il-use-standard-exception",
                "messageTemplateId": "message1",
                "messageTemplate": "An unguarded throw of type {0} was detected. Refactor this code to either throw an exception of type InvalidPluginExecutionException or guard against thrown exceptions of other types."
            },
            {
                "ruleId": "il-use-standard-exception",
                "messageTemplateId": "message2",
                "messageTemplate": "An unguarded rethrow of type {0} was detected. Refactor this code to either throw an exception of type InvalidPluginExecutionException or guard against thrown exceptions of other types."
            }
        ]
    },
...
]

Viz také

Použití webového rozhraní API kontroly Power Apps
Načtení seznamu sad pravidel
Odeslání souboru
Vyvolání analýzy
Kontrola stavu analýzy