Trac工作流阻塞

时间:2009-11-06 15:49:50

标签: workflow trac

有没有办法根据用户角色阻止给定的更改?

例如,我不希望任何开发人员能够将票证状态从“开发”更改为“已关闭”。我希望它通过'test',并允许'test'仅对具有测试角色的用户'关闭'。

1 个答案:

答案 0 :(得分:5)

这是对Trac Workflow的非常简单的调整。 adding optional testing的文档引用如下:

  

将以下内容添加到您的   trac.ini的[ticket-workflow]部分   你得到可选的测试。当。。。的时候   机票是新的,接受的或   您可以选择的need_work状态   提交它进行测试。当它在   用户获得的测试状态   拒绝并将其发回的选项   to needs_work,或通过测试和   把它发送到关闭。如果他们   接受它然后自动获得   标记为已关闭且分辨率为   设置为固定。所有的旧工作   流量仍然存在,票可以跳过这个   整个部分。

testing = new,accepted,needs_work,assigned,reopened -> testing
testing.name = Submit to reporter for testing
testing.permissions = TICKET_MODIFY

reject = testing -> needs_work
reject.name = Failed testing, return to developer

pass = testing -> closed
pass.name = Passes Testing
pass.operations = set_resolution
pass.set_resolution = fixed

现在所有门票必须在“通过”状态之前经过“测试”状态。

要确保只有某些测试人员可以将故障单从“测试”更改为“通过”,请创建一个名为TICKET_PASS的新权限(trac管理员可以在Web UI中执行此操作),并将以下内容添加到工作流程部分你的trac.ini:

pass.permissions = TICKET_PASS

恕我直言,只要求门票在通过之前经过测试就足够了。任何合理的开发人员都知道他们不应该将票从“测试”状态转移到“通过”状态,除非它通过了你做的任何质量控制。而且由于他们的行为有历史,他们可能因为不恰当地将门票标记为“通行证”而受到指责。限制权限可能会妨碍(分散trac管理员),而不是帮助。

[注意:我必须删除除文档之外的所有超链接b / c我的代表太低了。叹息。]