Obter a lista de regras

As regras são agrupadas através de um conjunto de regras. Uma regra pode não estar em nenhum conjunto de regras ou em vários. Utilize um pedido GET para obter uma lista de todas as regras disponíveis, as regras num conjunto de regras ou conjuntos de regras ao chamar a API [Geographical URI]/api/rule. Existem algumas variações para chamar esta API, no entanto, o uso mais comum é através da obtenção da lista de regras para um conjunto de regras específico.

Cabeçalhos

Nome Tipo Valor esperado Necessária?
Accept-Language cadeia O código do idioma (por exemplo: en-US). A predefinição é en-US. Não

Parâmetros

Nome Tipo Valor esperado Necessária?
ruleset string O nome ou o ID do conjunto de regras ou uma lista de ID de conjuntos de regras, ou nomes separados por uma vírgula ou ponto e vírgula (por exemplo, "Verificador de Soluções"). Não
includeMessageFormats booleano Quando definido como true, a lista de variações possíveis da mensagem são incluídas nos resultados dos pedidos de idiomas, se disponível. Esta lista é útil para as traduções em vários idiomas. Se não for necessário, não forneça este parâmetro ou forneça false como valor, uma vez que este parâmetro aumenta o tamanho da resposta e poderá aumentar o tempo de processamento. Não

Respostas esperadas

Código de estado HTTP Cenário Resultado
200 Foi encontrado um ou mais resultados Consulte o exemplo adiante neste artigo. Pode ser devolvido um ou mais resultados.
204 Não foram encontrados resultados Não há resultados no corpo da resposta.
401 Falha ao Autenticar Não há resultados no corpo da resposta.

Corpo de resposta esperado

O seguinte quadro descreve a estrutura da resposta a cada pedido (apenas resposta HTTP 200).

Propriedade Tipo Valor esperado Necessária?
code string O identificador da regra, por vezes denominado como ID da Regra. Sim
Resumo cadeia Um resumo da regra. Sim
descrição cadeia Descrição mais detalhada da regra. Sim
guidanceUrl URI O URL onde encontrar orientação publicada. Em alguns casos, poderá não haver nenhum artigo de orientação de ajuda dedicado. Sim
incluir booleano Sinaliza ao serviço que a regra deve ser incluída na análise. Este valor é true para esta API. Não
messageTemplates matriz Este valor de propriedade é incluído apenas quando includeMessageFormats é true. Não
messageTemplates.ruleId string Devolve o mesmo valor de ID que a propriedade code. Sim
messageTemplates.messageTemplateId string Um identificador utilizado no relatório Static Analysis Results Interchange Format (SARIF) para sinalizar uma variação da mensagem de problema para a regra. Sim
messageTemplates.messageTemplate string O texto da variação da mensagem para o cenário de problemas que a regra reporta. Este texto é uma cadeia de formato que pode conter tokens em que os argumentos fornecidos no relatório SARIF podem ser usados para criar uma mensagem detalhada. Sim

Exemplo: obter regras para um conjunto de regras noutro idioma

Este exemplo devolve os dados de todas as regras do conjunto de regras Verificador de Soluções no idioma Francês. Se o idioma desejado for inglês, basta remover o cabeçalho Accept-Language.

Pedido

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

Exemplo: obter tudo

Este exemplo devolve dados para todas as regras disponíveis.

Pedido

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

Exemplo: obter para um conjunto de regras com formatos de mensagem

Este exemplo devolve os dados de todas as regras do conjunto de regras Verificador de Soluções no idioma Francês. Se o idioma desejado for inglês, basta remover o cabeçalho Accept-Language.

Pedido

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

Consulte também

Utilizar a API Web do verificador do Power Apps
Obter a lista de conjuntos de regras
Carregar um ficheiro
Invocar análise
Verificar o estado da análise