Skip to main content

DevOps 平台迭代管理 CLI

Project description

DevOps CLI

蓝鲸 DevOps(ZTN)平台迭代、任务、缺陷等能力的命令行工具。

打包

uv pip install --upgrade build twine
uv build
uv publish

安装

源码安装

pip install -e .

pip / pipx 安装

pipx install zt-devops-cli

使用

全局选项

根命令 zt-devops-cli 支持:

选项 说明
-p / --project 默认项目 ID;仅对子命令里 -p 为可选的命令生效,解析顺序为「子命令 -p → 根命令 -pconfig.yamldefault_project
-o / --output json(默认)或 human;列表类在 human 下为表格,部分写操作在 human 下仅输出简短成功信息

注意(Click 解析):若子命令将 -p / --project 标为必填(如 bug listtask listbug create、缺陷流转等),则必须在该子命令后再写一遍 -p,根命令上的 -p 不会自动填入子命令参数。

示例(sprint list-p 可选,可用根级 -p):

zt-devops-cli -o human -p k64352 sprint list

示例(bug list-p 为子命令必填,须写在 bug list 之后):

zt-devops-cli -o human bug list -p b9f157 --num 1 --size 20

登录

首次或 cookie 失效时会走浏览器登录流程;成功后将 cookie 写入本地缓存。

zt-devops-cli login

需要弹出窗口手动登录时(无环境变量自动填表时):

zt-devops-cli login --headed

无头自动登录依赖环境变量 ZT_SSO_USERNAMEZT_SSO_PASSWORD(见 auth 模块说明)。

项目管理

zt-devops-cli project list

ZTeam 项目

zt-devops-cli zteam-project list --project f39507

迭代管理

迭代列表

zt-devops-cli sprint list --project k64352
# 或与根命令 -p 组合(本子命令 -p 可选)
zt-devops-cli -p k64352 sprint list

迭代提测列表

zt-devops-cli sprint test-list --project b9f157 \
  --search "BSC_V26.701.01" \
  --num 1 \
  --size 10

可选筛选:--result--create-user--create-time--principal--obj-id(均可重复传入)。

创建迭代

zt-devops-cli sprint create --project k64352 \
  --title "迭代名称" \
  --start-date 2026-04-04 \
  --end-date 2026-05-30 \
  --purpose "迭代目标"

日期可用简写:-s / --start-date-e / --end-date。可选:--test-start--test-end

启用 / 删除 / 完成迭代

zt-devops-cli sprint start --project k64352 -i <sprint-id>
zt-devops-cli sprint delete --project k64352 -i <sprint-id>
zt-devops-cli sprint done --project k64352 -i <sprint-id>

-i--sprint-iddelete / done 会交互确认。

任务管理

查询任务列表(TASK)

子命令上 -p 必填。另须 --start-date--end-date。可选:--creator--num--size--remember / --no-remember(默认 --no-remember)。

zt-devops-cli task list -p f39507 \
  --start-date 2026-04-01 \
  --end-date 2026-04-30 \
  --creator zt07905

创建任务(TASK)

子命令上 -p 必填。另须 -t / --title--owner--estimate-start--estimate-end--zteam-project-id(平台项目 ID 来自 project list,ZTeam 项目 ID 来自 zteam-project list)。

zt-devops-cli task create \
  -p "<project-id>" \
  --title "<任务标题>" \
  --owner zt07905 \
  --estimate-start 2026-04-01 \
  --estimate-end 2026-04-30 \
  --zteam-project-id "<zteam-project-id>"

可选:--model-type-id--priority--editor-type--desc--parent-id--demand-classify--origin-hours--remain-hours;扩展字段使用 --field fieldId=value(可多次)。

缺陷管理

查询缺陷列表(BUG)

子命令上 -p 必填。与页面表格筛选相近。常用可选:--num--size--remember / --no-remember(默认 --no-remember)、--operator(逗号分隔多账号)、--zteam-project--owner-field / --owner--state(状态 ID,可先执行 bug get-states)、--creator--create-date--create-start + --create-end(二者须同时出现)。

zt-devops-cli bug list -p b9f157 \
  --num 1 \
  --size 20

查询缺陷「状态」可选项

zt-devops-cli bug get-states -p b9f157

默认 --all;若与页面不一致可尝试 --no-all

查询缺陷「发现阶段」可选项

zt-devops-cli bug get-discovery-phases -p b9f157

默认 --no-all(与缺陷表 twBug 一致)。模板不同时可传 --field-id。若与页面不一致可试 --all

查询缺陷「解决方法」可选项

zt-devops-cli bug get-solution-methods -p b9f157

默认 --no-all。可选 --field-id

查询缺陷「类型」可选项

zt-devops-cli bug get-types -p b9f157

默认 --no-all。可选 --field-id

创建缺陷(BUG)

对应 POST .../issue/{project}--owner 同时写入经办人与缺陷责任人;迭代、ZTeam、严重程度、类型、发现阶段、解决方法等使用代码内固定 fieldId(与团队抓包一致)。若你们项目字段不同,需改源码中的 instance_values 映射。

选项 说明
-p / --project 项目 ID(子命令必填)
--zteam-project-id ZTeam 项目 ID
--sprint-id 关联迭代 ID;可不关联时传空字符串 ""
-t / --title 标题
--severity / --type / --discovery-phase 与表单选项的 value 一致(非中文展示名)
--solution-method 可选;解决方法字段的 value
--owner 账号
--priority 默认 CENTRAL
--desc / --desc-editor-type 描述 HTML 与编辑器类型,默认带四段模板
--parent-id--model-type-id--demand-classify 可选或保持默认
zt-devops-cli bug create -p b9f157 \
  --zteam-project-id 15678224 \
  --sprint-id 3129a9cd7315457eb2963bfe19919e72 \
  -t "缺陷标题示例" \
  --owner zt07905 \
  --severity 9Clfj3I8fR \
  --type bgEHPFOjFt \
  --discovery-phase vENjmMhXMC

缺陷工作流(接受 / 已解决 / 已验证 / 关闭 / 重新打开 / 拒绝)

均调用 POST .../issue_direction/{project}/next。各动作对应的 nextNodeId 写死在 api.BUG_DIRECTION_NEXT_NODE_IDS(与某项目浏览器抓包一致);若你们项目工作流节点不同,需改源码中该表。

子命令参数(Click 下均为该子命令上的必填项):

  • -i / --bug-id:缺陷 ID。
  • -p / --project:项目 ID(须在子命令上显式传入,勿依赖仅写在根命令上的 -p)。
  • --operator:经办人账号,英文逗号分隔多个。
  • --comment:可选,流转备注(富文本 HTML,例如 '<p>说明</p>')。
zt-devops-cli bug accept -p b9f157 -i <bug-id> --operator zt07905 --comment '<p>说明</p>'
zt-devops-cli bug resolve -p b9f157 -i <bug-id> --operator zt07905
zt-devops-cli bug verify -p b9f157 -i <bug-id> --operator zt07905,user02
zt-devops-cli bug close -p b9f157 -i <bug-id> --operator zt07905
zt-devops-cli bug reopen -p b9f157 -i <bug-id> --operator zt07905
zt-devops-cli bug reject -p b9f157 -i <bug-id> --operator zt07905

~/.zt-devops-cli/config.yaml 中可写默认项目(便于省略允许默认合并的子命令上的 -p):

default_project: b9f157

删除缺陷

zt-devops-cli bug delete -p b9f157 -i <bug-id>
zt-devops-cli bug delete -p b9f157 -i <bug-id> -y

-y / --yes 跳过交互确认。

需求 / 工作项

查询自定义字段下拉可选项

子命令上 -p--field-id--classify 均为必填。用于按字段与工作项类型拉取与页面 issue_field_value/.../option/{fieldId} 一致的选项列表(classify 与页面一致,如 BUGTASKSTORY)。

zt-devops-cli issue field-options -p b9f157 \
  --field-id <fieldId> \
  --classify BUG

--all / --no-all:是否对应页面 all 参数(默认 --no-all)。

配置

  • Cookie 缓存:~/.zt-devops-cli/cookies.json
  • 配置文件:~/.zt-devops-cli/config.yaml(常用键:default_project,解析时等同「根命令 -p」参与合并;另支持 browser_channel,默认 chromium

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zt_devops_cli-0.2.1.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zt_devops_cli-0.2.1-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file zt_devops_cli-0.2.1.tar.gz.

File metadata

  • Download URL: zt_devops_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for zt_devops_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b33e5204ec99740612a3545806afbe0de7ea9eb9ca9955c0bfb1cfbf921b0086
MD5 1b88e44d0a7b0eb4142fc0be751fff54
BLAKE2b-256 10eeeb13ce158e3f23ab1ef1d7a6e5ae7edb641fce8110cb62566ba802865ff5

See more details on using hashes here.

File details

Details for the file zt_devops_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: zt_devops_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for zt_devops_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55689a79448620511f59ec18ecbbad935b6ebecec64dfe8c1a6476c02e2d2f92
MD5 d3e5dcab87f53568ddb5864f1662f430
BLAKE2b-256 7e1569a79c34a0f746d598e9b004df0cdcdb1f50320df63565f53cf6876bc97e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page