Споделяне чрез


Извличане на списъка с правила

Правилата са групирани заедно с набор от правила. Правилото може да бъде в никой набор от правила или в множество набори от правила. Използвайте GET заявка, за да получите списък с всички налични правила, правила в набор от правила или набори от правила, като се извикате API [Geographical URI]/api/rule. Има няколко варианта за извикване на този API, но най-честото използване е извличането на списъка с правила за конкретен набор от правила.

Бележка

Този API изисква маркер OAuth.

Заглавки

Име Тип Очаквана стойност Задължително?
Accept-Language string Кодът на езика (например en-US). Стойността по подразбиране е en-US. не

Параметри

Име Тип Очаквана стойност Задължително?
набор от правила string Името или ИД на набора от правила или списък с ИД на набор от правила, или имена, разделени със запетая или точка и запетая (например "Проверка на решение"). не
includeMessageFormats булево Когато е настроен на true, списъкът на възможните вариации на съобщението се включва в резултатите от заявките за езици, ако има такива. Този списък е полезен за преводи на няколко езика. Ако не е необходимо, не предоставяйте този параметър или не предоставяйте false като стойност, тъй като този параметър увеличава размера на отговора и може да увеличи времето за обработка. не

Очаквани отговори

Код на състояние на HTTP Сценарий Result
200 Намерени са един или повече резултати Вижте примера по-нататък в тази статия. Един или повече резултати могат да бъдат върнати.
204 Не бяха открити резултати Няма резултати в основния текст за отговор.
401 Неуспешно удостоверяване Няма резултати в основния текст за отговор.

Основен текст на очакван отговор

Следващата таблица очертава структурата на отговора за всяка заявка (само HTTP 200).

Свойство Тип Очаквана стойност Задължително?
код string Идентификаторът на правилото, понякога наричан ИД на правило. Да
Резюме string Резюме на правилото. Да
описание string По-подробно описание на правилото. Да
guidanceUrl URI URL адресът, в който да намерите публикувани указания. Може да има някои случаи, в които няма специална подкрепяща статия. Да
include boolean Сигнали на услугата, че правилото трябва да бъде включено в анализа. Тази стойност е true за този API. No
messageTemplates масив Тази стойност на свойството е включена само когато includeMessageFormats е true. Не
messageTemplates.ruleId string Връща същата стойност на идентификатора като свойство code. Да
messageTemplates.messageTemplateId string Идентификатор, използван в отчета за обмен на резултати от статичен анализ (SARIF), за да сигнализира за промяна на съобщението за проблем за правилото. Да
messageTemplates.messageTemplate string Текстът на вариацията на съобщението за сценария на издаване, за който правилото отчита. Този текст е низ за форматиране, който може да съдържа маркери, в които аргументите, предоставени в отчета SARIF, могат да се използват за конструиране на подробно съобщение. Да

Пример: извличане на правила за набор от правила на друг език

Този пример връща данни за всички правила в набор от правила Проверка на решения от правила във френския език. Ако желаният език е английски, тогава просто премахнете заглавието Accept-Language.

Заявка

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": ""
        }
    },
...
]

Пример: извличане на всички

Този пример връща данни за всички налични правила.

Заявка

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": ""
        }
    },
...
]

Пример: извличане за набор от правила с формати на съобщения

Този пример връща данни за всички правила в набор от правила Проверка на решения от правила във френския език. Ако желаният език е английски, тогава просто премахнете заглавието Accept-Language.

Заявка

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."
            }
        ]
    },
...
]

Вижте също

Използване на уеб API на инструмента за проверка на Power Apps
Извличане на списъка с набори от правила
Качване на файл
Извикване на анализ
Проверка на състоянието на анализ