共用方式為


AdvancedSecurity-Codeql-Init@1 - 進階安全性初始化 CodeQL v1 工作

初始化 CodeQL 資料庫,以準備建置。

您必須針對要掃描的存放庫啟用 Azure DevOps GitHub Advanced Security

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).

輸入

languages - 要分析的語言
string. 允許的值:csharp、、、cppgojavajavascriptpythonrubyswift

要分析的程式設計語言。 多種語言可以以逗號分隔。

您可以在工作中在此處設定語言,也可以在名為 的 advancedsecurity.codeql.language管線變數中指定語言。 如果同時設定這兩者,則工作中指定的值優先。


querysuite - 用於分析的 CodeQL 查詢套件。
string. 允許的值:Select a query suite...、、、code-scanningsecurity-extendedsecurity-experimentalsecurity-and-quality 預設值:Select a query suite...

查詢套件,也就是用於分析的規則集。 您可以在工作中在此處指定值,也可以在名為 的 advancedsecurity.codeql.querysuite管線變數中指定此值。 如果同時設定這兩者,則工作中指定的值優先。 預設值是 Select a query suite... ,表示必須在變數中 advancedsecurity.codeql.querysuite 指定查詢套件。


ram - 以 MB 控制 RAM 使用量的選項
string.

設定應該允許查詢評估工具使用的 RAM 總數。

您可以在工作中在此處指定 ram ,也可以在名為 的 advancedsecurity.codeql.ram管線變數中指定。 如果同時設定這兩者,則工作中指定的值優先。


threads - 使用此許多線程來評估查詢
string.

您可以傳遞 0,讓計算機上每個核心使用一個線程,或 -N 讓 N 核心保持未使用 (,但仍使用至少一個線程) 。

您可以在工作中在此處指定 threads ,也可以在名為 的 advancedsecurity.codeql.threads管線變數中指定。 如果同時設定這兩者,則工作中指定的值優先。


codeqlpathstoignore - 在 CodeQL 分析中設定要排除的路徑清單
string.

您可以提供以逗號分隔的多個路徑。 路徑必須相對於 sourcesfolder CodeQL 執行所在的 ,其預設為 Build.SourcesDirectory 管線環境變數。 例如,若要忽略 $(Build.SourcesDirectory)/donotscan 目錄,請設定 codeqlpathstoignore: donotscan 而不是 codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan


codeqlpathstoinclude - 設定要在 CodeQL 分析中包含的其他路徑清單
string.

您可以提供以逗號分隔的多個路徑。 路徑必須相對於 sourcesfolder CodeQL 執行所在的 ,其預設為 Build.SourcesDirectory 管線環境變數。 例如,若要包含 $(Build.SourcesDirectory)/app 目錄,請設定 codeqlpathstoinclude: app 而不是 codeqlpathstoinclude: $(Build.SourcesDirectory)/app


sourcesfolder - 設定包含要分析之來源的資料夾
string.

如果您未提供此值,則會使用管線基礎結構的預設來源資料夾 (Build.SourcesDirectory 變數) 。


loglevel - 設定 CodeQL 分析的記錄層級
string. 允許的值: 0 (Warning) 、 1 (Verbose) 、 2 (Debug) 、 _ (Default (Warning) ) 。 預設值:_

指定記錄層級。

您可以在工作中在此處指定 loglevel ,也可以在名為 的 advancedsecurity.codeql.loglevel管線變數中指定。 如果同時設定這兩者,除非指定工作中的 預設值,否則工作中指定的值_loglevel會優先使用。 如果 _ 指定 ,則會在可用時使用 來自 advancedsecurity.codeql.loglevel 的值。


configfilepath - 使用此選項,在codeql (路徑中啟用自定義查詢分析必須是絕對) 。
string.

如果未提供path,則codeql分析會繼續進行預設查詢。


codeqltoolsdirectory - 設定自訂 CodeQL 工具目錄 (路徑必須是絕對)
string.

如果未提供路徑,則會使用的 $agent_toolsdirectory 預設值。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控件選項和一般工作屬性

輸出變數

無。

備註

您必須針對要掃描的存放庫啟用 Azure DevOps GitHub Advanced Security

重要

只有 Azure Repos Git 存放庫才支援這項工作。

管線必須依下列順序呼叫工作。

  1. 初始化 CodeQL
  2. 自動建置 (或自定義建置工作)
  3. 執行 CodeQL 分析

自動建置工作是選擇性的,可以取代為自定義建置工作。 您必須執行自動建置或自定義建置工作,才能分析專案。

規格需求

需求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 所有支援的代理程式版本。
工作類別 建置

另請參閱