AdvancedSecurity-Codeql-Init@1 – úloha Inicializace CodeQL v1 pro pokročilé zabezpečení
Inicializuje databázi CodeQL v rámci přípravy na sestavení.
Pro prohledávané úložiště musíte mít povolené GitHub Advanced Security pro Azure DevOps.
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).
Vstupy
languages
- Jazyky k analýze
string
. Povolené hodnoty: csharp
, cpp
, , java
go
, , javascript
, python
, , ruby
, . swift
Programovací jazyk, který chcete analyzovat. Více jazyků je možné oddělit čárkou.
Jazyk můžete nastavit tady v úloze nebo ho můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.language
. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu.
querysuite
- Sada dotazů CodeQL, která se má použít pro analýzu.
string
. Povolené hodnoty: Select a query suite...
, code-scanning
, security-extended
, security-experimental
, . security-and-quality
Výchozí hodnota: Select a query suite...
.
Sada dotazů, tj. sada pravidel, používaná k analýze. Hodnotu můžete zadat tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.querysuite
. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu. Výchozí hodnota označuje Select a query suite...
, že sada dotazů musí být zadána advancedsecurity.codeql.querysuite
v proměnné .
ram
- Možnosti řízení využití paměti RAM v MB
string
.
Nastavte celkovou velikost paměti RAM, kterou by měl vyhodnocovací modul dotazu používat.
Můžete ji zadat ram
tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.ram
. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu.
threads
- K vyhodnocení dotazů použijte tento počet vláken.
string
.
Pokud chcete na počítači použít jedno vlákno na jádro, můžete předat hodnotu 0, nebo -N, pokud chcete nechat N jader nepoužívané (s tím rozdílem, že stále používáte alespoň jedno vlákno).
Můžete ji zadat threads
tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.threads
. Pokud jsou nastavené obě hodnoty, bude mít přednost hodnota zadaná v úkolu.
codeqlpathstoignore
- Nastavení seznamu cest, které se mají vyloučit z analýzy CodeQL
string
.
Můžete zadat více cest oddělených čárkami. Cesty musí být relativní vzhledem k místu sourcesfolder
, kde běží CodeQL, což je Build.SourcesDirectory
výchozí proměnná prostředí kanálu. Pokud chcete například ignorovat $(Build.SourcesDirectory)/donotscan
adresář, nastavte codeqlpathstoignore: donotscan
místo codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
.
codeqlpathstoinclude
- Nastavení seznamu dalších cest, které se mají zahrnout do analýzy CodeQL
string
.
Můžete zadat více cest oddělených čárkami. Cesty musí být relativní vzhledem k místu sourcesfolder
, kde běží CodeQL, což je Build.SourcesDirectory
výchozí proměnná prostředí kanálu. Pokud chcete například zahrnout $(Build.SourcesDirectory)/app
adresář, nastavte codeqlpathstoinclude: app
místo codeqlpathstoinclude: $(Build.SourcesDirectory)/app
.
sourcesfolder
- Nastaví složku obsahující zdroje, které se mají analyzovat.
string
.
Pokud tuto hodnotu nezadáte, použije se výchozí složka zdrojů pro infrastrukturu kanálu (poskytovaná proměnnou Build.SourcesDirectory
).
loglevel
- Nastavení úrovně protokolu pro analýzu CodeQL
string
. Povolené hodnoty: 0
(Warning), 1
(Verbose), 2
(Debug), _
(Default (Warning)). Výchozí hodnota: _
.
Zadejte úroveň protokolování.
Můžete ji zadat loglevel
tady v úloze nebo ji můžete zadat v proměnné kanálu s názvem advancedsecurity.codeql.loglevel
. Pokud jsou nastaveny obě hodnoty, bude mít přednost hodnota zadaná v úkolu, pokud není zadána výchozí hodnota _
pro loglevel
v úkolu. Pokud _
je zadaný parametr , použije se hodnota z advancedsecurity.codeql.loglevel
, pokud je k dispozici.
configfilepath
- Tuto možnost použijte k povolení analýzy vlastních dotazů v codeql (cesta musí být absolutní).
string
.
Pokud není cesta k dispozici, bude analýza codeql pokračovat s výchozími dotazy.
codeqltoolsdirectory
- Nastavení vlastního adresáře nástrojů CodeQL (cesta musí být absolutní)
string
.
Pokud cesta není zadaná, použije se výchozí hodnota $agent_toolsdirectory
.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Pro prohledávané úložiště musíte mít povolené GitHub Advanced Security pro Azure DevOps.
Důležité
Tato úloha je podporována pouze v úložištích Azure Repos Git.
Kanál musí volat úlohy v následujícím pořadí.
- Inicializace CodeQL
- AutoBuild (nebo vlastní úlohy sestavení)
- Provedení analýzy CodeQL
Úloha Automatické sestavení je volitelná a může být nahrazena vlastními úlohami sestavení. Aby se projekt analyzoval, musí být spuštěné úlohy automatického sestavení nebo vlastního sestavení.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasický build, klasická verze |
Běží na | Agent, DeploymentGroup |
Požadavky | Žádné |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | Všechny podporované verze agenta. |
Kategorie úloh | Sestavení |