AdvancedSecurity-Codeql-Init@1 - Tâche Advanced Security Initialize CodeQL v1
Initialise la base de données CodeQL en préparation de la génération.
Vous devez avoir activé GitHub Advanced Security pour Azure DevOps pour le dépôt en cours d’analyse.
Syntax
# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
inputs:
#languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'swift'. Languages to analyze.
#querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
# Advanced
#ram: # string. Options to control RAM usage in MB.
#threads: # string. Use this many threads to evaluate queries.
#codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis.
#codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis.
#sourcesfolder: # string. Sets the folder that contains the sources to be analyzed.
#loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
#configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute).
#codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).
Entrées
languages
- Langages à analyser
string
. Valeurs autorisées : csharp
, cpp
, go
, java
, python
javascript
, , ruby
. swift
Langage de programmation à analyser. Plusieurs langues peuvent être séparées par une virgule.
Vous pouvez définir la langue ici dans la tâche, ou vous pouvez spécifier la langue dans une variable de pipeline nommée advancedsecurity.codeql.language
. Si les deux sont définies, la valeur spécifiée dans la tâche est prioritaire.
querysuite
- CodeQL Query Suite à utiliser pour l’analyse.
string
. Valeurs autorisées : Select a query suite...
, code-scanning
, security-extended
, security-experimental
. security-and-quality
Valeur par défaut : Select a query suite...
.
La suite de requêtes, c’est-à-dire l’ensemble de règles, utilisée pour l’analyse. Vous pouvez spécifier la valeur ici dans la tâche, ou vous pouvez la spécifier dans une variable de pipeline nommée advancedsecurity.codeql.querysuite
. Si les deux sont définies, la valeur spécifiée dans la tâche est prioritaire. La valeur par défaut indique Select a query suite...
que la suite de requêtes doit être spécifiée dans la advancedsecurity.codeql.querysuite
variable.
ram
- Options permettant de contrôler l’utilisation de la RAM en Mo
string
.
Définit la quantité totale de RAM que l’évaluateur de requête doit être autorisé à utiliser.
Vous pouvez spécifier ram
ici dans la tâche, ou vous pouvez le spécifier dans une variable de pipeline nommée advancedsecurity.codeql.ram
. Si les deux sont définies, la valeur spécifiée dans la tâche est prioritaire.
threads
- Utilisez ces nombreux threads pour évaluer les requêtes
string
.
Vous pouvez passer 0 pour utiliser un thread par cœur sur la machine ou -N pour laisser N cœurs inutilisés (sauf si au moins un thread est toujours utilisé).
Vous pouvez spécifier threads
ici dans la tâche, ou vous pouvez le spécifier dans une variable de pipeline nommée advancedsecurity.codeql.threads
. Si les deux sont définies, la valeur spécifiée dans la tâche est prioritaire.
codeqlpathstoignore
- Définir une liste de chemins d’accès à exclure dans l’analyse CodeQL
string
.
Vous pouvez fournir plusieurs chemins séparés par des virgules. Les chemins d’accès doivent être relatifs à l’emplacement sourcesfolder
où CodeQL est en cours d’exécution, qui est défini par défaut sur la variable d’environnement de Build.SourcesDirectory
pipeline. Par exemple, pour ignorer le $(Build.SourcesDirectory)/donotscan
répertoire, définissez codeqlpathstoignore: donotscan
plutôt que codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
.
codeqlpathstoinclude
- Définir une liste de chemins d’accès supplémentaires à inclure dans l’analyse CodeQL
string
.
Vous pouvez fournir plusieurs chemins séparés par des virgules. Les chemins d’accès doivent être relatifs à l’emplacement sourcesfolder
où CodeQL est en cours d’exécution, qui est défini par défaut sur la variable d’environnement de Build.SourcesDirectory
pipeline. Par exemple, pour inclure le $(Build.SourcesDirectory)/app
répertoire, définissez codeqlpathstoinclude: app
plutôt que codeqlpathstoinclude: $(Build.SourcesDirectory)/app
.
sourcesfolder
- Définit le dossier qui contient les sources à analyser
string
.
Si vous ne fournissez pas cette valeur, le dossier sources par défaut de l’infrastructure de pipeline est utilisé (fourni par la Build.SourcesDirectory
variable).
loglevel
- Définir le niveau de journal pour l’analyse CodeQL
string
. Valeurs autorisées : 0
(Avertissement), 1
(Détaillé), 2
(Débogage), _
(Par défaut (Avertissement)). Valeur par défaut : _
.
Spécifiez le niveau de journalisation.
Vous pouvez spécifier loglevel
ici dans la tâche, ou vous pouvez le spécifier dans une variable de pipeline nommée advancedsecurity.codeql.loglevel
. Si les deux sont définis, la valeur spécifiée dans la tâche est prioritaire, sauf si la valeur _
par défaut pour loglevel
dans la tâche est spécifiée. Si _
est spécifié, la valeur de advancedsecurity.codeql.loglevel
est utilisée si disponible.
configfilepath
- Utilisez cette option pour activer l’analyse de requête personnalisée dans codeql (le chemin doit être absolu).
string
.
Si le chemin d’accès n’est pas fourni, l’analyse codeql se poursuit avec les requêtes par défaut.
codeqltoolsdirectory
- Définir un répertoire d’outils CodeQL personnalisé (le chemin doit être absolu)
string
.
Si le chemin d’accès n’est pas fourni, la valeur par défaut de $agent_toolsdirectory
est utilisée.
Options de contrôle de la tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Notes
Vous devez avoir activé GitHub Advanced Security pour Azure DevOps pour le dépôt en cours d’analyse.
Important
Cette tâche est prise en charge uniquement avec Azure Repos dépôts Git.
Le pipeline doit appeler les tâches dans l’ordre suivant.
- Initialiser CodeQL
- AutoBuild (ou vos tâches de build personnalisées)
- Effectuer une analyse CodeQL
La tâche AutoBuild est facultative et peut être remplacée par vos tâches de build personnalisées. AutoBuild ou vos tâches de build personnalisées doivent être exécutées pour que votre projet soit analysé.
Configuration requise
Condition requise | Description |
---|---|
Types de pipelines | YAML, build classique, version classique |
S’exécute sur | Agent, DeploymentGroup |
Demandes | None |
Capabilities | Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail. |
Restrictions de commandes | Quelconque |
Variables settables | Quelconque |
Version de l’agent | Toutes les versions d’agent prises en charge. |
Catégorie de la tâche | Build |