如何从formin触发器获取流创建表单中“创建分支文件”值?

2024-04-25 22:37:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Helix Core服务器上设置一个Performce触发器,当用户提交要创建的流的表单时,该触发器会在流创建表单上触发。我想验证用户选择的流的名称。我还想警告用户,如果他们决定不选择“从父级流创建分支文件”设置

Stream creation form example

到目前为止,我已经设置了触发器,它可以工作,并且当前可以验证流名称。但是,我无法找到一种方法来获取“分支文件…”设置复选框的布尔值

触发线:

check-stream-name form-save stream "python /p4/common/bin/triggers/check_stream_name_trigger.py %formfile%"

当触发时,我通过抓取“formfile”变量获取所有表单字段,该变量为我提供了一个临时文件名,我可以读取该文件名并获取表单上大多数字段的值。但未显示“分支文件…”字段值

Stream: //TestDepot/devs/TestStream_dev

Update: 

Access: 

Owner:  me

Name:   TestStream_dev

Parent: //TestDepot/Mainlines/ShortStream

Type:   development

Description:
    Created by me.

Options:    allsubmit unlocked toparent fromparent mergedown

Paths:
    share ...

如何获取触发器中“分支文件…”复选框的值


Tags: 文件用户nameform名称表单stream文件名
1条回答
网友
1楼 · 发布于 2024-04-25 22:37:48

不能,因为此值不是服务器上实际流规范的一部分。当您在p4vui中选中该框时,它将在保存规范后(在您的表单触发器运行之后)立即运行p4 populate命令。在执行该命令之前,服务器对它一无所知

不幸的是,很难在没有发生的事情上触发,特别是当你试图在未来没有发生的事情上触发时。一个有点复杂的解决方案可能是在流上有一个form-commit触发器,该触发器启动延迟检查,以查看流创建后是否紧接着一个populate(即检查流的类型及其路径,至少等待几秒钟以留出时间进行p4 populate,然后查看是否有应该存在但尚未存在的仓库文件),然后可能会向用户发送一封后续电子邮件,让他们知道他们尚未填充流(下面介绍了如何操作)

或者,您可以让form-commit触发器运行populate(假设您希望始终使用其父级的头部修订填充流,但实际上可能不是您希望全面实施的内容,因为创建基于早期修订的流可能很有用)

相关问题 更多 >