Partager via


Récupérer la liste des règles

Les règles sont regroupées à l’aide d’un ensemble de règles. Une règle peut être en dehors d’un ensemble de règles, ou dans plusieurs ensembles de règles. Utilisez une demande GET pour obtenir une liste de toutes les règles disponibles, les règles d’un ensemble de règles, ou les ensembles de règles en appelant l’API [Geographical URI]/api/rule. Il existe quelques variantes pour appeler cette API, cependant l’utilisation la plus fréquente consiste à récupérer la liste des règles pour un ensemble de règles spécifique.

Note

Cette API a besoin d’un jeton OAuth.

En-têtes

Nom  Type Valeur attendue Obligatoire ?
Accepter-Langue string Code de langue (par exemple, en-US). La valeur par défaut est fr-FR. non

Paramètres

Nom  Type Valeur attendue Obligatoire ?
ruleset string Le nom ou l’ID de l’ensemble de règles ou une liste des ID d’ensemble de règles, ou des noms séparés par une virgule ou un point virgule (par exemple, « Vérificateur de solutions »). non
includeMessageFormats bool Lorsque définie sur true, la liste des variantes possibles de message est incluse dans les résultats des demandes linguistiques, le cas échéant. Cette liste est utile pour les traductions dans différentes langues. Si nécessaire, ne fournissez pas ce paramètre ou fournissez false comme valeur, car ce paramètre augmente la taille de la réponse et peut augmenter le temps de traitement. non

Réponses attendues

Code de statut HTTP Scénario Résultat
200 Un ou plusieurs résultats ont été trouvés Voir l’exemple plus loin dans cet article. Un ou plusieurs résultats peuvent être renvoyés.
204 Aucun résultat n’a été trouvé Aucun résultat dans le corps de réponse.
401 Échec de l'authentification Aucun résultat dans le corps de réponse.

Corps de réponse attendue

Le tableau suivant présente la structure de la réponse pour chaque réponse (réponse HTTP 200 uniquement).

Propriété Type Valeur attendue Obligatoire ?
code string L’identifiant de la règle, parfois appelé ID de règle. Oui
summary string Un résumé de la règle. Oui
description string Description plus détaillée de la règle. Oui
guidanceUrl URI L’URL dans laquelle trouver les instructions publiées. Dans certains cas, il n’y a pas d’article d’instructions de prise en charge dédiées. Oui
inclure Booléen Signale au service que la règle doit être incluse dans l’analyse. Cette valeur est true pour cette API. Non
messageTemplates tableau Cette valeur de propriété est incluse uniquement lorsque includeMessageFormats est défini sur true. Non
messageTemplates.ruleId string Renvoie la même valeur d’ID que la propriété code. Oui
messageTemplates.messageTemplateId string Un identifiant utilisé dans le rapport SARIF pour signaler une variante du message d’erreur pour la règle. Oui
messageTemplates.messageTemplate string Le texte de la variante de message pour le scénario de ce problème que la règle signale. Ce texte est une chaîne de format qui peut contenir des jetons dans lesquels les arguments fournis dans le rapport SARIF peuvent être utilisés pour construire un message détaillé. Oui

Exemple : récupérer les règles pour un ensemble de règles dans une autre langue.

Cet exemple renvoie des données de la totalité des règles dans l’ensemble de règles Vérificateur de solution en français. Si la langue souhaitée est l’anglais, supprimez simplement l’en-tête Accepter-Langue.

Demande

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

Réponse

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

Exemple : récupérer tout

Cet exemple renvoie des données pour toutes les règles disponibles.

Demande

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

Réponse

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

Exemple : récupérer pour un ensemble de règles avec des formats de messages

Cet exemple renvoie des données de la totalité des règles dans l’ensemble de règles Vérificateur de solution en français. Si la langue souhaitée est l’anglais, supprimez simplement l’en-tête Accepter-Langue.

Demande

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

Réponse

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

Voir aussi

Utiliser l’API Web du vérificateur Power Apps
Récupérer la liste d’ensembles de règles
Télécharger un fichier
Appeler une analyse
Vérifier le statut d’analyse