name: 列出组件 description: 列出所有OCPBUGS组件,可选按团队筛选
列出组件
此技能提供功能以从团队组件映射中列出所有OCPBUGS组件名称,支持按团队筛选。
何时使用此技能
使用此技能当您需要:
- 显示所有OCPBUGS组件名称
- 显示特定团队的OCPBUGS组件
- 在其他命令使用前验证OCPBUGS组件名称
- 获取OCPBUGS跟踪组件的完整列表
- 计数系统或每团队的OCPBUGS组件数量
- 查找用于提交或查询OCPBUGS问题的组件名称
前提条件
-
Python 3 安装
- 检查是否安装:
which python3 - 需要Python 3.6或更高版本
- 在大多数系统上预安装
- 检查是否安装:
-
jq 安装
- 检查是否安装:
which jq - 用于JSON解析
- 通常在大多数系统上预安装
- macOS:
brew install jq - Linux:
sudo apt-get install jq或sudo yum install jq
- 检查是否安装:
-
团队组件映射文件
- 映射文件
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:(可选)用于筛选的团队名称
错误处理
脚本处理多个错误场景:
-
映射文件缺失:
错误:在...未找到团队组件映射文件 此文件应在存储库中。请检查您的安装。解决方案:验证存储库检出或使用
generate_team_component_map.py重新生成 -
映射中的无效JSON:
错误:解析映射文件失败。文件可能已损坏。解决方案:重新生成映射文件
-
团队未找到:
错误:映射中未找到团队'无效团队'。 使用 list-teams 查看可用团队。解决方案:运行 list-teams 获取正确团队名称,确保精确匹配(区分大小写)
-
团队无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
数据源
团队和组件映射数据源自:
- 来源:https://gitlab.cee.redhat.com/hybrid-platforms/org
- 访问:需要Red Hat VPN连接
- 隐私:完整组织数据被视为较私有,因此此项目仅提取团队和组件映射
如果数据看起来错误或缺失:
- 提交PR到 https://gitlab.cee.redhat.com/hybrid-platforms/org 以纠正源数据
- PR合并后,在此存储库中重新生成映射文件:
python3 plugins/teams/generate_team_component_map.py - 提交更新的
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