Condividi tramite


Recuperare l'elenco di regole

Le regole sono raggruppate insieme usando un set di regole. Una regola può trovarsi in nessun set di regole o in più set di regole. Usa una richiesta GET per ottenere un elenco di tutte le regole disponibili, le regole in un set di regole o i set di regole chiamando l'API [Geographical URI]/api/rule. Esistono alcune varianti nel chiamare questa API, tuttavia l'utilizzo più comune è recuperare l'elenco di regole per un set di regole specifico.

Nota

Questa API richiede un token. OAuth

Intestazioni

Name Type Valore previsto Obbligatorio?
Accept-Language string Codice della lingua (ad esempio en-US). L'area predefinita è en-US. no

Parametri

Name Type Valore previsto Obbligatorio?
ruleset string Il nome o l'ID del set di regole o un elenco di ID set di regole o i nomi separati da virgola o punto e virgola (ad esempio "Verifica soluzione"). no
includeMessageFormats bool Quando impostato su true, l'elenco delle possibili variazioni dei messaggi è incluso nei risultati delle richieste di lingua, se disponibili. Questo elenco è utile per le traduzioni in più lingue. Se non è necessario, non fornire questo parametro o fornisci false come valore in quanto questo parametro aumenterà la dimensione della risposta e può aumentare i tempi di elaborazione. no

Risposte previste

Codice di stato HTTP Scenario Result
200 Sono stati trovati uno o più risultati Vedi l'esempio più avanti in questo articolo. Uno o più risultati possono essere restituiti.
204 Nessun risultato trovato Nessun risultato nel corpo della risposta.
401 Autenticazione non riuscita Nessun risultato nel corpo della risposta.

Corpo della risposta prevista

La tabella seguente delinea la struttura della risposta per ogni richiesta (solo risposta HTTP 200).

Proprietà Tipo Valore previsto Obbligatorio?
codice string L'identificatore della regola, a volte indicato come ID regola.
riepilogo string Riepilogo della regola.
description string Descrizione più dettagliata della regola.
guidanceUrl URI L'URL in cui trovare le indicazioni pubblicate. In alcuni casi potrebbe non esserci un articolo di orientamento a supporto dedicato.
includi boolean Segnala al servizio che la regola deve essere inclusa nell'analisi. Questo valore è true per questa API. No
messageTemplates matrice Questo valore di proprietà è incluso solo quando includeMessageFormats è true. No
messageTemplates.ruleId string Restituisce lo stesso valore ID della proprietà code.
messageTemplates.messageTemplateId string Un identificatore utilizzato nel report SARIF (Static Analysis Results Interchange Format) per segnalare una variazione del messaggio del problema per la regola.
messageTemplates.messageTemplate string Il testo della variazione del messaggio per lo scenario del problema segnalato dalla regola. Questo testo è una stringa di formato che può contenere token in cui è possibile utilizzare gli argomenti forniti nel report SARIF per costruire un messaggio dettagliato.

Esempio: recupero di regole per un set di regole in un'altra lingua

Questo esempio restituisce i dati per tutte le regole nel set di regole Verifica soluzione in lingua francese. Se la lingua desiderata è l'inglese, è sufficiente rimuovere l'intestazione Accept-Language.

Richiesta

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

risposta

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

Esempio recupero di tutte le regole

Questo esempio restituisce i dati per tutte le regole disponibili.

Richiesta

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

risposta

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

Esempio: recupero di un set di regole con formati di messaggio

Questo esempio restituisce i dati per tutte le regole nel set di regole Verifica soluzione in lingua francese. Se la lingua desiderata è l'inglese, è sufficiente rimuovere l'intestazione Accept-Language.

Richiesta

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

risposta

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

Vedi anche

Utilizzare l'API Web di controllo Power Apps
Recupera l'elenco dei set di regole
Carica un file
Invoca analisi
Controllare lo stato dell'analisi