Bugzilla - 工作流程定制

发布于 2024-08-17 17:05:18 字数 100 浏览 10 评论 0原文

我想更改 Bugzilla 工作流程,以便用户无法关闭错误,除非错误已经经历了某些阶段(例如已分配、正在进行中等)。

如何更改 Bugzilla 以创建我自己的工作流程?

I want to change the Bugzilla workflow so that a user won't be able to close a bug unless the bug has gone through some phases (e.g. ASSIGNED, IN_PROGRESS, etc).

How do I change Bugzilla in order to create my own work flow?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

痴者 2024-08-24 17:05:18

您是否尝试过从 bugzilla 本身更改工作流程

(编辑:更新了 5.0 的 URL)

Have you tried changing the workflow from within bugzilla itself?

(Edit: updated URL for 5.0)

夏末 2024-08-24 17:05:18

如果您主要关心的是权限,您需要查看 Bugzilla/Bug.pm 中的 check_can_change_field 。

If your primary concern is permissions, you'll want to check out check_can_change_field in Bugzilla/Bug.pm.

滴情不沾 2024-08-24 17:05:18

在 editworkflow.cgi 中您只能进行这么多自定义,因为从任何其他状态都可以访问“已解决”(例如,当它被标记为重复项时,它就会变为“已解决”)。工作流程本身不考虑错误的历史记录。

如果您确实想强制执行这种业务逻辑,您应该开始深入研究 process_bug.cgi。如果有人想将状态设置为 FOO 但之前需要处于状态 BAR,您可以在 bugs_activity 中检查错误的历史记录。

但这是一项繁重的工作,而且您可能会遇到特殊情况、更多规则、更多特殊情况等。

我认为您最好在事后识别未经过正确工作流程的错误。当您发现此类错误时,您将重新打开它们或将它们置于任何状态。

您可以通过检查 bugs_activity 以查看添加/删除了 bug_status 的哪些值来完成此操作。

There's only so much customization you can do in editworkflow.cgi, because RESOLVED much be reachable from any other status (because when it is marked as a duplicate, for instance, it becomes RESOLVED). The workflow itself doesn't consider the history of the bug.

If you really wanted to enforce this sort of business logic, you should start diving into process_bug.cgi. If someone want to set the status to FOO but it needs to have been in status BAR before, you could check the bug's history in bugs_activity.

But that's a lot of work, and you're likely to have special cases, more rules, more special cases, etc.

I think you would be better off identifying bugs that didn't go through the proper workflow after the fact. When you identify such a bug, you would reopen them or put them into whatever status.

You would do this by examining bugs_activity to see what values of bug_status have been added/removed.

尬尬 2024-08-24 17:05:18

您需要分两步完成:

  1. 转到 editvalues.cgi?field=bug_status 并添加/删除/重命名不同状态的名称。
  2. 转到 editworkflow.cgi 并自定义矩阵。

You need to do it in two steps:

  1. Go to editvalues.cgi?field=bug_status and add/delete/rename the names of the different status.
  2. Go to the editworkflow.cgi and customize the matrix.
节枝 2024-08-24 17:05:18
  1. 首先创建一个状态。在状态类型中输入“已关闭”(管理/字段值/状态(该值将不会被使用(例如名称“请勿使用”)))
  2. 转到管理/参数/错误更改策略。选择您的新状态
  3. 转到编辑工作流程(管理/错误状态工作流程)您现在可以取消选中“已解决”

这是一种执行方式。

  1. Create first a status. Type "closed" to Status type (Administration/Field values/Status (This value will not be used (for example the name "Do not use"))
  2. Go to Admininistration/Parameters/Bug change policies. Choose your new status
  3. Go to Edit workflow (Admininistration/Bug Status Workflow). You can now uncheck RESOLVED

It is a way of doing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文