ALM11.0 实现提交缺陷时自动发送功能

来源:互联网 发布:外国人怎么开淘宝店 编辑:程序博客网 时间:2024/06/05 20:31

本功能实现的前提是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

其中绿色为添加的代码,注意收件人地址是我根据被分配者组合出来的

第三:这个函数可以进行扩展,比如增加重新打开状态检测,还可根据缺陷的级别设置不同级别的抄送者,例如一般级别抄送给一般领导,严重的抄送给大领导,特别严重的抄送给重要领导等。