Workflow Trac工作流阻塞

Workflow Trac工作流阻塞,workflow,trac,Workflow,Trac,是否有方法阻止基于用户角色的给定更改 例如,我不希望任何开发人员能够将票据状态从“开发”更改为“关闭”。我希望它通过“测试”,并允许“测试”仅对具有测试角色的用户“关闭”。这是对Trac工作流的非常简单的调整。以下引用了的文件: 通过将以下内容添加到 trac.ini的[票证工作流]部分 你可以选择测试。当 车票是新的、已接受的还是新的 需要\u您可以选择的工作状态 提交测试。当它在 用户获得的测试状态 选择拒绝它并将其发回 需要工作,或通过测试和 将其发送至已关闭。如果他们 接受它,它就会自动

是否有方法阻止基于用户角色的给定更改


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

这是对Trac工作流的非常简单的调整。以下引用了的文件:

通过将以下内容添加到 trac.ini的[票证工作流]部分 你可以选择测试。当 车票是新的、已接受的还是新的 需要\u您可以选择的工作状态 提交测试。当它在 用户获得的测试状态 选择拒绝它并将其发回 需要工作,或通过测试和 将其发送至已关闭。如果他们 接受它,它就会自动恢复 标记为已关闭,且决议为 设置为固定。因为所有的旧工作 流量仍然存在,票证可以跳过此操作 整个部分

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

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

pass.permissions=TICKET\u pass

嗯,仅仅要求门票通过测试就足够了。任何合理的开发人员都知道,他们不应该将票据从“测试”状态转移到“通过”状态,除非它通过了您所做的任何质量控制。而且,由于他们的行为有历史记录,他们可能会因为不适当地将门票标记为“通行证”而受到指责。限制特权可能会带来更多的阻碍(分散trac管理员的注意力),而不是帮助


[NB:我不得不删除除一个外的所有指向文档的超链接b/c我的代表太低了。唉。]

这是对Trac工作流程的非常直接的调整。以下引用了的文件:

通过将以下内容添加到 trac.ini的[票证工作流]部分 你可以选择测试。当 车票是新的、已接受的还是新的 需要\u您可以选择的工作状态 提交测试。当它在 用户获得的测试状态 选择拒绝它并将其发回 需要工作,或通过测试和 将其发送至已关闭。如果他们 接受它,它就会自动恢复 标记为已关闭,且决议为 设置为固定。因为所有的旧工作 流量仍然存在,票证可以跳过此操作 整个部分

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

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

pass.permissions=TICKET\u pass

嗯,仅仅要求门票通过测试就足够了。任何合理的开发人员都知道,他们不应该将票据从“测试”状态转移到“通过”状态,除非它通过了您所做的任何质量控制。而且,由于他们的行为有历史记录,他们可能会因为不适当地将门票标记为“通行证”而受到指责。限制特权可能会带来更多的阻碍(分散trac管理员的注意力),而不是帮助


[注意:除了一个超链接外,我必须删除所有指向文档b/c的超链接。我的代表级别太低。唉。]

正是我想要的!感谢您的评论“…创建一个名为TICKET_PASS的新权限(trac管理员可以在web UI中执行此操作)…我还没有找到通过web UI创建自定义权限的方法。你确定这可以做到吗?如果是,你能提供一份参考资料吗?trac.edgewall.org/wiki/tracePermissions这正是我想要的!感谢您的评论“…创建一个名为TICKET_PASS的新权限(trac管理员可以在web UI中执行此操作)…我还没有找到通过web UI创建自定义权限的方法。你确定这可以做到吗?如果是,你能提供一份参考资料吗?trac.edgewall.org/wiki/tracewall
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