Получение списка правил
Правила сгруппированы с использованием набора правил. Правило может не входить ни в какой набор правил или входить в несколько наборов правил. Используйте GET
,чтобы запросить получение списка всех доступных правил, правил в наборе правил или наборов правил, вызвав API-интерфейс [Geographical URI]/api/rule
. Существует несколько вариантов вызова этого API-интерфейса, однако наиболее распространенным способом является получение списка правил для определенного набора правил.
Заметка
Для этого API требуется OAuth токен.
Заголовки
Полное имя | Type | Ожидаемое значение | Обязательное? |
---|---|---|---|
Accept-Language | строка | Код языка (например, en-US). По умолчанию используется en-US. | нет |
Параметры
Полное имя | Type | Ожидаемое значение | Обязательное? |
---|---|---|---|
ruleset | строка | Имя или идентификатор набора правил или список идентификаторов набора правил, или имена, разделенные запятой или точкой с запятой (например, "Средство проверки решений"). | нет |
includeMessageFormats | bool | Когда установлено значение true , список возможных вариантов сообщений включается в результаты запросов языков, если таковые имеются. Этот список полезен для переводов на несколько языков. Если не нужно, то не указывайте этот параметр или укажите значение false , так как этот параметр увеличивает размер ответа и может увеличить время обработки. |
нет |
Ожидаемые ответы
Код состояния HTTP | Сценарий | Result |
---|---|---|
200 | Один или несколько результатов были найдены | См. пример далее в этой статье. Один или несколько результатов могут быть возвращены. |
204 | Результаты не найдены | Нет результатов в тексте ответа. |
401 | Проверка подлинности не пройдена | Нет результатов в тексте ответа. |
Ожидаемый текст ответа
В следующей таблице представлена структура ответа на каждый запрос (только ответ HTTP 200).
Свойство | Тип | Ожидаемое значение | Обязательное? |
---|---|---|---|
code | строка | Идентификатор правила, иногда называемый идентификатором правила. | Да |
сводка | строка | Краткое описание правила. | Да |
Описание | строка | Долее подробное описание правила. | Да |
guidanceUrl | URI-адрес | URL-адрес, по которому можно найти опубликованное руководство. В некоторых случаях нет специальной статьи с руководством по поддержке. | Да |
include | логическое значение | Сообщает службе о том, что правило должно быть включено в анализ. Это значение true для данного API. |
нет |
messageTemplates | массив | Это значение свойства включено только тогда, когда свойство includeMessageFormats имеет значение true . |
Нет |
messageTemplates.ruleId | строка | Возвращает то же значение идентификатора, что и свойство code . |
Да |
messageTemplates.messageTemplateId | строка | Идентификатор, используемый в отчете формата обмена результатами статического анализа (SARIF) для обозначения варианта сообщения о проблеме для правила. | Да |
messageTemplates.messageTemplate | строка | Текст варианта сообщения для сценария проблемы, о котором сообщает правило. Это текст является строкой формата, которая может содержать токены, в которых аргументы, представленные в отчете SARIF, могут использоваться для создания подробного сообщения. | Да |
Пример: получить правила для набора правил на другом языке
В этом примере возвращаются данные для всех правил в наборе правил Средство проверки решений на французском языке. Если нужный язык — английский, просто удалите заголовок Accept-Language.
Запрос
GET [Geographical URI]/api/rule?ruleset=083A2EF5-7E0E-4754-9D88-9455142DC08B&api-version=2.0
x-ms-correlation-id: aaaa0000-bb11-2222-33cc-444444dddddd
Accept: application/json
Content-Type: application/json; charset=utf-8
Accept-Language: fr
ответ
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
ответ
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
ответ
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."
}
]
},
...
]
См. также
Используйте Power Apps веб-API проверки
Получить список наборов правил
Загрузить файл
Вызов анализа
Проверить статус анализа