Dieser Artikel befasst sich speziell mit dem Schreiben von Abfragen, die mit dem Befehl AUTOTITLE verwendet werden, um interpretierte Ergebnisse zu erzeugen. Konzeptionelle Informationen zu benutzerdefinierten Abfragen finden Sie unter Benutzerdefinierte CodeQL-Abfragen.
Schreiben einer gültigen Abfrage
Vor dem Ausführen einer benutzerdefinierten Analyse musst du eine gültige Abfrage schreiben und in einer Datei mit einer .ql-Erweiterung speichern. Es gibt eine umfangreiche Dokumentation, die beim Schreiben von Abfragen hilfreich sein kann. Weitere Informationen findest du unter CodeQL Abfragen.
Einschließen von Abfragemetadaten
Wenn du Abfragen mit dem database analyze-Befehl ausführst, musst du die folgenden beiden Eigenschaften einschließen, um sicherzustellen, dass die Ergebnisse ordnungsgemäß interpretiert werden:
-
Abfragebezeichner (
@id): Eine Sequenz von Wörtern aus Kleinbuchstaben oder Ziffern, die durch/oder-getrennt sind und die Abfrage identifizieren und klassifizieren. -
Abfragetyp (
@kind): Kennzeichnet die Abfrage als eine einfache Warnung (@kind problem), als Warnung, die durch eine Sequenz von Codestellen dokumentiert ist (@kind path-problem), für die Problembehandlung beim Extraktor (@kind diagnostic), oder als Zusammenfassungsmetrik (@kind metricund@tags summary).
Weitere Informationen zu diesen Metadateneigenschaften findest du unter Metadaten für CodeQL Abfragen und in der Anleitung Query metadata style guide.
Einschließen von Abfragehilfen für benutzerdefinierte CodeQL-Abfragen in SARIF-Dateien
Informationen zu Abfragehilfe- und Dokumentationsformaten finden Sie unter Benutzerdefinierte CodeQL-Abfragen.
So fügen Sie beim Ausführen von Codescananalysen Abfragehilfe in SARIF-Dateien ein:
-
Schreiben Sie Ihre Abfragehilfe in einem der unten aufgeführten Formate. * Markdown-Datei: Speichern Sie eine Markdown-Datei zusammen mit Ihrer Abfrage mit demselben Namen (z. B
my-query.md. fürmy-query.ql) * **.qhelpDatei**: Schreiben Sie die Abfragehilfe im.qhelpFormat und konvertieren Sie sie dann in Markdown, bevor Sie die Analyse durchführen. Weitere Informationen findest du unter Abfrage-Hilfedateien und Testen von Abfragehilfedateien. -
Führen Sie
codeql database analyzemit der Option--sarif-add-query-helpaus:codeql database analyze <database> --format=sarif-latest --output=results.sarif --sarif-add-query-helpHinweis
Die Option
--sarif-add-query-helpist verfügbar ab CodeQL CLI v2.7.1. -
Laden Sie die SARIF-Datei in GitHubhoch.
Nächste Schritte
Informationen zum Freigeben und Verwenden Ihrer benutzerdefinierten Abfragen finden Sie unter Veröffentlichen und Verwenden von CodeQL-Paketen.