本功能实现的前提是ALM已经配置好自动发送邮件功能,如果没有实现此功能,请参考另一篇文章《QC邮件转发工具Mail Direct安装配置手册.docx》
本文档主要讲述如何实现在ALM系统中新增BUG时,并且BUG被修改为打开状态时,系统自动向缺陷分配人员送一份邮件,以通知开发人员进行BUG修复。
第一步:用管理员帐号登入自定义模块,选择工作流程,进入脚本编辑器,点开“缺陷模块脚本”,选择Bug_AfterPost,然后在该函数上面增加如下代码,实现邮件发送功能。
‘实现邮件发送功能
Sub SendDefect(iObjectId , strTo, strCc, strSubject, strComment)
On Error Resume Next
Dim objBugFactory, objBug
Set objBugFactory = TDConnection.BugFactory
Set objBug = objBugFactory.Item(iObjectId)
objBug.Mail strTo, strCc, 2, strSubject, strComment
Set objBug = Nothing
Set objBugFactory = Nothing
PrintError "SendDefect"
On Error GoTo 0
End Sub
第二步:仍然点击Bug_AfterPost,此时该函数的内容应该是空的,有如下显示:
Sub Bug_AfterPost
On Error Resume Next
On Error GoTo 0
End Sub
然后在函数中增加核心代码,完成后结果如下
Sub Bug_AfterPost
On Error Resume Next
If Bug_Fields.Field("BG_STATUS").value="打开" Then
bugid=Bug_Fields.Field("BG_BUG_ID").Value 'BUG ID
to_mail=Bug_Fields.Field("BG_RESPONSIBLE").Value&"@XX.com"'收件人
StrCc="" '抄送领导地址,可设固定
title="缺陷通知:新增缺陷 ID:"&bugid '邮件标题
Call SendDefect(bugid,to_mail,StrCc,title,"管理员提醒:ALM系统中有新分配给您的BUG,请及时修改!") '调用发送邮件函数
End If
On Error GoTo 0
End Sub
其中绿色为添加的代码,注意收件人地址是我根据被分配者组合出来的。
第三:这个函数可以进行扩展,比如增加重新打开状态检测,还可根据缺陷的级别设置不同级别的抄送者,例如一般级别抄送给一般领导,严重的抄送给大领导,特别严重的抄送给重要领导等。