怎样在发给用户的Email提醒信中,自动包含bug的web访问地址
1.在Defect中加一条字段email_link,String类型.并置于Record form上面
2.在CQ的Global Scipt-->Perl中添加一个方法叫做 SetDefectEmailLink,然后把下面的代码拷贝到里面去.
引用:
my($dbid);
my($userdbname);
my($schemadbname);
my($defname);
my($dbDescObj);
my($emailLink);
my($session);
# inite the session
$session = $entity->GetSession();
# Get ID
$dbid = $entity->GetFieldValue("dbid")->GetValue();
# Get userdb name
$dbDescObj = $session->GetSessionDatabase();
$userdbname = $dbDescObj->GetDatabaseName();
# Get entity definiation name
$defname = $entity->GetEntityDefName();
# Set your CQ web address
$schemadbname = "CQ_Connection_Name"; # for example "2003.06.00"
$webpc = "xxx.xxx.xxx.xxx"; # for example 192.168.0.3
# Get the Defect email link
$emailLink = "http://".$webpc."/cqweb/main?command=GenerateMainFrame&service=CQ&schema=".$schemadbname."&contextid=".$userdbname."&entityID=".$dbid."&entityDefName=".$defname;
$entity->SetFieldValue("email_link", $emailLink);
3. 在Defect的Submit action的Validation中加入一行
引用:
SetDefectEmailLink();
4. 保存Schema,Upgrade Database,Submit Defect后,查询该Defect,看看email_link中是不是有该Defect的emailink,然后再点击测试一下.
5.在Email Rule的邮件通知规则中的邮件通知字段中,加上这个email_link字段.
*论坛中可能会把http的东西加上个URL,不要把论坛自动加上的东东也copy进去.
*如果你在Defect中加的字段不叫email_link,假如叫foobar,那你要把$entity->SetFieldValue("email_link",$emailLink)改成
$entity->SetFieldValue("foobar",$emailLink);
*祝大家可以顺利通过测试.
*如有遗漏,烦请指正.
|