如何实现在redmine 中,issue 状态变更后,通过customer issue插件自动给指定人员发邮件,给出代码示例
时间: 2024-06-09 14:10:54 浏览: 148
redmine_approval_plugin:用于在 Redmine 中批准颠覆修订的插件
要实现在Redmine中,当issue状态变更后,通过customer issue插件自动给指定人员发邮件,需要进行以下步骤:
1. 安装customer issue插件,可以参考Redmine官方文档进行安装:https://www.redmine.org/plugins/redmine_customer_issue
2. 在Redmine中设置邮件通知,可以参考Redmine官方文档进行设置:https://www.redmine.org/projects/redmine/wiki/EmailConfiguration
3. 编写代码实现issue状态变更时发送邮件的功能。可以在Redmine的插件目录下创建一个新的文件,例如"hooks.rb",并在其中编写代码:
```
require 'mailer'
class IssueHooks < Redmine::Hook::ViewListener
def controller_issues_edit_after_save(context={})
issue = context[:issue]
status = issue.status
if status.is_closed?
Mailer.deliver_issue_edit(issue)
end
end
end
```
这段代码会在issue状态变更后被调用,并且只有当issue被关闭时才会发送邮件。在发送邮件时,使用Mailer类可以方便地发送邮件。
4. 在Redmine的插件目录下创建一个新的文件,例如"init.rb",并在其中注册hooks:
```
require 'issue_hooks'
Redmine::Plugin.register :customer_issue do
name 'Customer Issue plugin'
author 'Your Name'
description 'This is a plugin for Redmine'
version '0.0.1'
end
Rails.configuration.to_prepare do
Issue.send(:include, CustomerIssue::IssuePatch)
end
Redmine::Hook::Listener.register :issue_hooks, :controller_issues_edit_after_save, IssueHooks.new
```
这段代码会将IssueHooks注册为一个监听器,并在issue被编辑后调用。
5. 在Redmine中配置插件的设置,包括指定邮件接收人等。
以上是代码示例,但具体实现还需要根据实际情况进行调整。
阅读全文