Bagikan melalui


Ambil daftar aturan

Aturan dikelompokkan bersama menggunakan ruleset. Aturan dapat berupa tanpa ruleset, atau beberapa ruleset. Gunakan permintaan GET untuk mendapatkan daftar semua aturan yang tersedia, aturan dalam satu ruleset, atau beberapa ruleset dengan memanggil API [Geographical URI]/api/rule. Ada beberapa variasi untuk memanggil API ini, namun, penggunaan yang paling umum adalah mengambil daftar aturan untuk ruleset tertentu.

Catatan

API ini memang memerlukan OAuth token.

Header

Nama Tipe Nilai yang diharapkan Diperlukan?
Accept-Language string Kode bahasa (misalnya, en-US). Waktu default adalah en-US. tidak

Parameter

Nama Tipe Nilai yang diharapkan Diperlukan?
ruleset string Nama atau ID kumpulan aturan atau daftar ID kumpulan aturan, atau nama yang dipisahkan dengan koma atau titik koma (misalnya, "Pemeriksa Solusi"). tidak
includeMessageFormats bool Bila diatur ke true, daftar kemungkinan variasi pesan disertakan dalam hasil permintaan bahasa, jika tersedia. Daftar ini berguna untuk terjemahan ke dalam berbagai bahasa. Jika tidak diperlukan, maka jangan berikan parameter ini atau berikan false sebagai nilai karena parameter ini meningkatkan ukuran respons dan dapat meningkatkan waktu pemrosesan. tidak

Respons yang diharapkan

Kode Status HTTP Skenario Hasil
200 Satu atau beberapa hasil ditemukan Lihat contoh nanti di artikel ini. Satu atau beberapa hasil dapat diberikan.
204 Hasil tidak ditemukan Tidak ada hasil di badan respons.
401 Autentikasi Gagal Tidak ada hasil di badan respons.

Badan respons yang diharapkan

Tabel berikut menguraikan struktur respons untuk setiap permintaan (hanya respons HTTP 200).

Properti Jenis Nilai yang diharapkan Diperlukan?
kode string Pengidentifikasi aturan, terkadang disebut sebagai ID aturan. Ya
ringkasan string Ringkasan aturan. Ya
deskripsi string Keterangan lebih terperinci tentang aturan. Ya
guidanceUrl URI URL yang digunakan untuk menemukan panduan yang dipublikasikan. Mungkin ada beberapa kasus di mana tidak ada artikel panduan pendukung khusus. Ya
include boolean Sinyal ke layanan dengan aturan yang akan disertakan dalam analisis. Nilai ini untuk true API ini. No
messageTemplates larik Nilai properti ini hanya disertakan bila includeMessageFormats adalah true. Tidak
messageTemplates.ruleId string Menampilkan nilai ID yang sama dengan properti code. Ya
messageTemplates.messageTemplateId string Pengidentifikasi yang digunakan dalam laporan Static Analysis Results Interchange (SARIF) untuk sinyal variasi pesan masalah untuk aturan. Ya
messageTemplates.messageTemplate string Teks variasi pesan untuk skenario masalah yang dilaporkan aturan. Teks ini adalah string format yang mungkin berisi token di mana argumen yang disediakan dalam laporan SARIF dapat digunakan untuk membuat pesan terperinci. Ya

Contoh: mengambil aturan untuk ruleset dalam bahasa lain

Contoh ini menghasilkan data untuk semua aturan dalam ruleset pemeriksa solusi dalam bahasa Prancis. Jika bahasa yang diinginkan adalah bahasa Inggris, cukup Hapus header Accept-Language.

Minta

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

respons

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

Contoh: ambil semua

Contoh ini menghasilkan data untuk semua aturan yang tersedia.

Minta

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

respons

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

Contoh: Ambil untuk ruleset dengan format pesan

Contoh ini menghasilkan data untuk semua aturan dalam ruleset pemeriksa solusi dalam bahasa Prancis. Jika bahasa yang diinginkan adalah bahasa Inggris, cukup Hapus header Accept-Language.

Minta

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

respons

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

Lihat juga

Menggunakan Power Apps API web pemeriksa
Mengambil daftar kumpulan aturan
Mengupload file
Panggil analisis
Periksa status analisis