列出OCPBUGS组件Skill ListComponents

这个技能用于自动化列出所有OCPBUGS组件名称,支持按团队筛选,适用于开发、运维和项目管理场景,帮助验证组件、计数组件数量并查询OCPBUGS问题。关键词包括OCPBUGS、组件列表、团队管理、自动化脚本、DevOps工具、云原生、OpenShift。

DevOps 0 次安装 0 次浏览 更新于 3/14/2026

name: 列出组件 description: 列出所有OCPBUGS组件,可选按团队筛选

列出组件

此技能提供功能以从团队组件映射中列出所有OCPBUGS组件名称,支持按团队筛选。

何时使用此技能

使用此技能当您需要:

  • 显示所有OCPBUGS组件名称
  • 显示特定团队的OCPBUGS组件
  • 在其他命令使用前验证OCPBUGS组件名称
  • 获取OCPBUGS跟踪组件的完整列表
  • 计数系统或每团队的OCPBUGS组件数量
  • 查找用于提交或查询OCPBUGS问题的组件名称

前提条件

  1. Python 3 安装

    • 检查是否安装:which python3
    • 需要Python 3.6或更高版本
    • 在大多数系统上预安装
  2. jq 安装

    • 检查是否安装:which jq
    • 用于JSON解析
    • 通常在大多数系统上预安装
    • macOS:brew install jq
    • Linux:sudo apt-get install jqsudo yum install jq
  3. 团队组件映射文件

    • 映射文件 team_component_map.json 应在存储库中
    • 位于:plugins/teams/team_component_map.json
    • 此文件已提交到存储库 - 无需下载
    • 重新生成:python3 plugins/teams/generate_team_component_map.py

实施步骤

步骤 1:验证存储库

确保您在存储库根目录:

# 验证您在存储库根目录
pwd
# 预期输出:/path/to/ai-helpers

步骤 2:运行 list-components 脚本

列出所有OCPBUGS组件:

python3 plugins/teams/skills/list-components/list_components.py

列出特定团队的OCPBUGS组件:

python3 plugins/teams/skills/list-components/list_components.py --team "API Server"

注意:使用 list-teams 命令输出中的确切团队名称。

步骤 3:处理输出

脚本输出JSON,结构如下:

所有组件:

{
  "total_components": 87,
  "components": [
    "Auth",
    "apiserver-auth",
    "config-operator",
    "..."
  ]
}

按团队筛选的组件:

{
  "total_components": 8,
  "components": [
    "apiserver-auth",
    "config-operator",
    "kube-apiserver",
    "kube-controller-manager",
    "kube-storage-version-migrator",
    "openshift-apiserver",
    "openshift-controller-manager / controller-manager",
    "service-ca"
  ],
  "team": "API Server"
}

字段描述

  • total_components:找到的OCPBUGS组件总数
  • components:按字母顺序排序的OCPBUGS组件名称列表
  • team:(可选)用于筛选的团队名称

错误处理

脚本处理多个错误场景:

  1. 映射文件缺失:

    错误:在...未找到团队组件映射文件
    此文件应在存储库中。请检查您的安装。
    

    解决方案:验证存储库检出或使用 generate_team_component_map.py 重新生成

  2. 映射中的无效JSON:

    错误:解析映射文件失败。文件可能已损坏。
    

    解决方案:重新生成映射文件

  3. 团队未找到:

    错误:映射中未找到团队'无效团队'。
    使用 list-teams 查看可用团队。
    

    解决方案:运行 list-teams 获取正确团队名称,确保精确匹配(区分大小写)

  4. 团队无OCPBUGS组件:

    警告:未找到团队'团队名称'的OCPBUGS组件。
    该团队可能没有分配任何OCPBUGS组件。
    

    注意:这是警告,不是错误。某些团队可能没有OCPBUGS组件。

输出格式

脚本输出JSON到标准输出:

  • 成功:退出代码0,带组件列表的JSON
  • 错误:退出代码1,错误消息到标准错误

示例

示例 1:列出所有组件

python3 plugins/teams/skills/list-components/list_components.py

输出:

{
  "total_components": 87,
  "components": [
    "Auth",
    "apiserver-auth",
    "..."
  ]
}

示例 2:列出特定团队的组件

python3 plugins/teams/skills/list-components/list_components.py --team "API Server"

输出:

{
  "total_components": 8,
  "components": [
    "apiserver-auth",
    "config-operator",
    "kube-apiserver",
    "..."
  ],
  "team": "API Server"
}

示例 3:计数组件

python3 plugins/teams/skills/list-components/list_components.py | jq '.total_components'

输出:

87

示例 4:搜索特定组件

python3 plugins/teams/skills/list-components/list_components.py | jq '.components[] | select(contains("apiserver"))'

输出:

"apiserver-auth"
"kube-apiserver"
"openshift-apiserver"

备注

  • 映射中仅包含OCPBUGS组件
  • 团队名称必须精确匹配(区分大小写)- 使用 list-teams 获取正确名称
  • 按团队筛选时,仅返回该团队拥有的组件
  • 组件名称区分大小写
  • 组件按字母顺序返回
  • 脚本从提交的映射文件读取(无网络调用)
  • 执行非常快(通常<100毫秒)
  • 映射文件位置:plugins/teams/team_component_map.json
  • 组件名称可直接用于OCPBUGS JIRA查询和其他团队命令
  • 典型计数:约87个总组件,跨29个团队(可能随组件增减而变化)
  • 刷新映射:运行 python3 plugins/teams/generate_team_component_map.py

数据源

团队和组件映射数据源自:

如果数据看起来错误或缺失:

  1. 提交PR到 https://gitlab.cee.redhat.com/hybrid-platforms/org 以纠正源数据
  2. PR合并后,在此存储库中重新生成映射文件:
    python3 plugins/teams/generate_team_component_map.py
    
  3. 提交更新的 team_component_map.json 文件

另请参阅

  • 相关技能:plugins/teams/skills/list-teams/SKILL.md
  • 相关命令:/teams:list-components
  • 映射文件:plugins/teams/team_component_map.json
  • 生成器脚本:plugins/teams/generate_team_component_map.py