You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps自定义CodeQL JavaScript查询报错:No queries defined for javascript

解决Azure DevOps CodeQL自定义查询报错「No queries defined for javascript」

核心问题排查与修复方案

1. 文件名拼写不一致(最可能的原因)

你的查询文件实际是todo.ql,但customconfig.yaml中queries节点引用的路径是./.azuredevops/customcodeql/todos.ql——多了一个字母s。即使你提到修正路径后没有文件未找到错误,仍需严格核对文件名、路径的拼写和大小写:

  • Linux/macOS环境的流水线会区分大小写,Windows环境不区分,但为了兼容所有环境,必须保证完全一致。
  • 建议直接复制粘贴文件名到配置文件中,避免手动输入错误。

2. 查询元数据与配置结构检查

  • 查询元数据:你的todo.ql元数据格式是正确的,@id、@kind等字段符合要求,无需调整。如果问题仍存在,可以尝试简化@id为js/todocomment,减少层级可能带来的识别问题。
  • 配置文件结构:
    • 确保queries下的uses路径是相对于仓库根目录的正确路径,也可以使用绝对路径$(build.sourcesDirectory)/.azuredevops/customcodeql/todo.ql来避免相对路径的歧义。
    • 暂时移除query-filters配置进行测试:虽然你的查询@kind是problem且配置中包含该类型,但过滤规则可能存在隐性冲突,移除后如果查询能正常运行,再逐步调整过滤规则。

3. 流水线任务配置验证

  • 确认AdvancedSecurity-Codeql-Init@1任务的languages参数是javascript(不能简写为js),语言名称必须严格匹配CodeQL支持的语言标识。
  • 无需额外添加additional-features参数,默认已支持自定义查询,但如果是较旧版本的任务,可以尝试添加该参数并设置为custom-queries。

修正后的配置示例

# customconfig.yaml 修正版
name: "Run custom queries"
disable-default-queries: true
queries:
  - name: TODO_comments
    uses: ./.azuredevops/customcodeql/todo.ql  # 修正文件名拼写错误
paths:
  - src 
paths-ignore: 
  - '**/node_modules'
  - '**/*.test.js'
# 先注释过滤规则测试,确认查询正常后再启用
# query-filters:
#  - include:
#     kind: problem

内容的提问来源于stack exchange,提问作者Patrik Lindström

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 12:22:40