pingcode logo
功能日记

v6.12.0:产品细节优化


更新时间:2025年12月22日

更新内容

  1. 完成的迭代支持重新打开
  2. 迭代燃尽图逻辑优化
  3. 状态流转验证,多条件支持且/或
  4. 表单支持配置默认系统属性
  5. 数据集支持 Gitee
  6. 产品细节优化

完成的迭代支持重新打开

项目内,迭代完成后可选择重新打开迭代:

image.png

重新打开迭代需要选择迭代状态:

  • 未开始:变为新迭代,之前相关变更数据会被清除
  • 进行中:继续进行迭代,保留之前的变更数据
image.png

迭代燃尽图逻辑优化

迭代燃尽图展示,迭代开始后,相关数据变化会记录在当天,同时燃尽图时间会调整为实际开始和实际结束迭代的时间:

image.png

迭代中修改工作项故事点,也会记录在变更数据中:

image.png

状态流转验证,多条件支持且/或

状态流转设置时,属性验证规则支持同一属性设置多次,并且支持设置且/或条件组:

image.png

变更状态时,提示框罗列所有属性规则条件组:

image.png

表单支持配置默认系统属性

在渠道的表单设置中,表单会默认展示系统属性:标题、描述、附件,支持修改在 Web 站点的展示名称、提示文字,并支持调整位置:

  • 标题、描述、附件不支持移除
image.png

在 Web 站点提交工单时,为保证表单的完整性,工单类型、客户、提交人的位置调整为始终保持在最上方:

image.png

数据集支持 Gitee

在「管理后台」→「效能度量」→「第三方数据源」下,支持添加 Gitee 数据源:

image.png

进行授权后,即可同步代码相关的数据指标到效能度量中,支持基本信息和同步日志的查看:

image.png

同时支持编辑和卸载操作,和其他已有数据源一致:

image.png

在报表配置页面,新增「Gitee」分类,分为「Commit」、「PR」数据集:

image.png

产品细节优化

回收站筛选条件优化

需求和工单的回收站筛选条件支持更多属性:

image.png

文档组件附件按事项可见性展示

在文档组件下,若事项设置了可见性,全部附件下的内容也根据所属事项是否可见展示:

image.png

工作流配置增加验证属性

在需求工作流配置的规则配置中,属性支持需求来源和需求类型:

image.png

工单支持解决方案:

image.png

支持通过 AI 创建产品需求

点击「从拼扣新建」可上传本地文件或通过页面生成产品需求:

image.png

选择「本地文件」或「页面」添加需要参考生成的内容:

image.png

拼扣根据文档可生成产品需求列表:

image.png

确认无误后根据需求将产品需求创建至对应产品,也可下载相应文件:

  • 单次上传最多支持 3 个文件
image.png

标题支持更多层级

在编辑页面内容时,标题支持到 6 级:

image.png

页面布局支持更多列

在编辑页面时,插入布局,支持更多列:

image.png

表格支持复制行

在表格类型页面中,选中单元格右键支持「复制行」:

image.png

支持选择跨行内容创建事项

选中多行文本内容,支持划词创建事项:

  • 块元素内文本、选中文本中包含其他非文本元素暂不支持划词创建
image.png

导出加入进程管理器

为方便用户统一查看 PingCode 中导出文件的情况,在 PingCode 导出时会触发进程管理器,并且将导出上限做了调整至 5W。

点击导出,统一进入文件进程管理器列表,导出成功后,支持下载该文件:

image.png

评审人支持更多类型

进入工时评审配置,指定评审人支持设置为部门负责人或角色,设置完成后则可根据对应的评审人进行动态评审:

  • 审批原则:普通成员由其当前所在部门的负责人审批;部门负责人由其父部门的负责人审批,最高层级负责人没有父部门的人由「组织所有者」审批
image.png

审计日志优化

在「管理后台」→「审计日志」下,点击查看详情,操作人支持查看成员名片,便于区分重名成员:

导出事项优化

导出事项弹窗,选择自定义属性时,支持保存用户上一次属性的选择记录:

image.png

优化触发器的动态数据

在触发器的动态数据中明确区分“变更前数据”、“变更后数据”和“数据”。“变更前数据”是触发时间点之前的数据;“变更后数据”是触发时间点该值变更为的新值;“数据”是自动化执行时,该属性实时的值。在后续步骤中选择使用触发器的动态数据时:如果需要的是变更时间点之前一瞬间的值,那么建议用“变更前数据”;如果需要的是变更这个时间点一瞬间的值,那么建议用“变更后数据”;如果需要的是自动化执行到触发器这一瞬间的值时,那么建议用“数据”本身。

例如在触发器「变更工作项状态」中,可使用动态数据“变更前状态”、“变更后数据”和“状态”:

image.png

优化添加步骤的搜索框

在配置规则“添加步骤”时,在搜索框中输入搜索条件之后,切换“动作”、“条件”、“流程控制”几个 tab 不会自动清除搜索框里的内容。

image.png

在工作流的执行历史中显示步骤编号

在工作流的执行历史的步骤名前面,增加步骤编号,用于区分一些同名的步骤:

image.png

优化“来自其他步骤”的显示效果

将原来分为 3 个 Label 显示的 “来自其他步骤”、“步骤”、“属性”整体放在 1 个 Label 下,统一用“属性名”作为 Label 名:

image.png

时间类型参数的“相对值”支持使用动态数据

时间类型参数的“相对值”支持使用动态数据,这时引用的动态数据需要的是“数字”类型的:

image.png

允许让流程控制里的时间类型数据使用“相对值”

允许让流程控制里的时间类型数据使用“相对值”,从而实现“创建时间大于今天 -1 天”这样的场景:

image.png

未特殊设置的步骤名支持随多语言切换

新创建的规则,如果没有特殊设置过步骤名,那么步骤名可随多语言自动切换。例如下面这个新创建的规则:

image.png

在切换个人语言为 English 之后,看到的是:

image.png

支持连接外部自签 https 证书的服务(限私有部署)

例如在使用 GitLab 连接器的触发器时,需要创建 PingCode 与 GitLab 的连接,这时输入的“GitLab 访问地址”允许是使用了自签证书的 https 地址。

image.png

REST API 开放外部用户资源

在“产品管理”下新增“外部用户”资源:

{
    "id": "64a2b61c3a12e6c2e46d41e9",
    "url": "https://rest_api_root/v1/ship/products/64a2b61c3a12e6c2e46d41e9/users/64a2b61c3a12e6c2e46d41e9",
    "name": "jack",
    "display_name": "Jack",
    "avatar": "https://s3.amazonaws.com/bucket/a46ef40c-e21e-48cf-a579-cace9fba839a_160x160.png",
    "email": "jack@email.com",
    "mobile": null,
    "product": {
        "id": "6422711c3f12e6c1e46d40e9",
        "url": "http://rest_api_root/v1/ship/products/6422711c3f12e6c1e46d40e9",
        "identifier": "SLC",
        "name": "示例产品",
        "is_archived": 0,
        "is_deleted": 0
    },
    "customer": {
        "id": "64dd899e3f6383ba72ec2a01",
        "url": "https://rest_api_root/v1/ship/products/6422711c3f12e6c1e46d40e9/customers/64dd899e3f6383ba72ec2a01",
        "name": "深圳XX新XX有限公司"
    }
}

同时新增的 API 包括:

// 创建一个外部用户
POST /v1/ship/products/{product_id}/users
{
    "name": "jack",
    "email": "jack@email.com",
    "customer_id": "64dd899e3f6383ba72ec2a01"
}
// 部分更新一个外部用户
PATCH /v1/ship/products/{product_id}/users/{user_id}
{
    "customer_id": "64dd899e3f6383ba72ec2a01"
}
// 获取外部用户列表
GET /v1/ship/products/{product_id}/users
// 删除一个外部用户
DELETE /v1/ship/products/{product_id}/users/{user_id}

迭代资源开放“实际开始时间”和“实际结束时间”

在迭代资源中,开放“实际开始时间”和“实际结束时间”:

{
    "id": "5ecf7b74eaab845a2aa53132",
    "url": "https://rest_api_root/v1/project/projects/5eb623f6a70571487ea47000/sprints/5ecf7b74eaab845a2aa53132",
    ……
    "started_at": 1589791860,
    "completed_at": 1589791960,
    ……
}

执行用例的“执行结果”支持自定义

通过“获取执行用例执行结果列表”可获取到当前测试库内所有可用的执行结果:

GET /v1/testhub/run/statuses?library_id={library_id}

然后在更新执行用例中使用自定义的执行结果:

PATCH /v1/testhub/runs/{run_id}
{
    "status_id": "{自定义的执行结果的id}"
}