
# 配置IPD系统设备类项目的通知规则
#### 配置通知规则概述
配置通知规则包括站内信、邮件、企业微信、钉钉、飞书和通用Webhook几种方式。站内信和邮件通知用于提醒项目成员相关操作；企业微信、钉钉、飞书和通用Webhook则将通知发送至对应的聊天群。
- 站内信通知/邮件通知 您可以在通知设置页面根据需要选择通知对象和事件类型，配置完成后，当发生相应的事件（如修改RR）时，被勾选的通知对象会收到相应的通知。
  
- 企业微信通知 您可以在通知设置页面设置Webhook地址和事件类型，配置完成后，当发生相应的事件（如修改RR）时，企业微信将通知发送至企业微信的聊天群。
  
- 钉钉/飞书 您可以在钉钉/飞书通知设置页面配置钉钉群聊天机器人、飞书群聊机器人通知的URL和事件类型。当通知事件发生时，钉钉、飞书将通知发送至对应的聊天群。
  
- 通用Webhook 您可以在Webhook界面配置第三方系统的URL，并根据需要订阅事件类型。当订阅事件发生时，会通过Webhook向第三方系统的URL发送请求。
  
 
#### 前提条件
- 设置站内信通知、邮件通知和企业微信时：需在IPD系统设备类项目中拥有"ipd_工作配置"的"通知设置"权限。[项目成员如何查看/获取需要的操作权限？](https://support.huaweicloud.com/devcloud_faq/devcloud_faq_0010.html)
  ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594637624.png "点击放大")
  
  
- 设置钉钉、飞书和通用webhook通知设置时：在IPD系统设备类项目中的角色为"项目管理员"或"项目经理"。[项目成员如何查看/获取需要的操作权限？](https://support.huaweicloud.com/devcloud_faq/devcloud_faq_0010.html)
 
#### 配置站内信通知和邮件通知
1. [访问CodeArts Req服务首页](https://support.huaweicloud.com/usermanual-projectman/projectman_01_0003.html)。
2. 进入项目中，单击"设置 \> 工作项设置 \> 通知设置"。
3. 根据项目实际情况选择需要设置通知的工作项，勾选或取消勾选通知对象和通知类型。 
   设置完成后，当发生相应的事件（如修改RR）时，被勾选的对象会收到相应的通知。
   ![](https://support.huaweicloud.com/usermanual-projectman/public_sys-resources/note_3.0-zh-cn.png)
   在设置完成后，当通知事件为"催单"时，需要在对应工作项的详情页面，单击右侧![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594637628.png)按钮并选择"催单"，工作项的当前责任人会收到相应催单通知。例如下图所示，对IR进行催单：
   ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594477694.png "点击放大")
   
   - 站内信通知：登录CodeArts Req服务首页后，页面右上角图标![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002624997057.png)处将显示站内信通知的数量，单击该图标即可看到通知的详细信息。
     ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594637630.png "点击放大")
     
     
   
   - 邮件通知：若为项目成员创建IAM用户时配置了邮箱，且项目成员在"个人设置 \> 消息通知"中开启了邮件通知，则将会收到服务发出的邮件。 ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002625077199.png "点击放大")
     
     
    
   
   
 
#### 配置企业微信通知
1. [访问CodeArts Req服务首页](https://support.huaweicloud.com/usermanual-projectman/projectman_01_0003.html)。
2. 进入项目中，单击"设置 \> 工作项设置 \> 通知设置"。
3. 填写"WebHook地址"。 
   获取Webhook地址的具体路径方法：
   1. 企业微信打开要接收的信息群聊，右上角的「···」按钮。
   
   2. 单击「群机器人」。
   
   3. 单击已创建的群机器人，可复制已生成的Webhook地址。
   
   
   
   
4. 选择事件类型。 
   事件类型按照原始需求、系统特性、研发需求、任务、缺陷、评审、计划的具体操作设置。按需勾选需要通知的操作项。
   
   
5. 单击"确定"。 
   配置完成后，当通知事件发生时，企业微信将通知发送至企业微信的聊天群。
   ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594637632.png)
   
   
   
 
#### 配置钉钉和飞书通知
提供应用动态钉钉推送能力。根据需要填写参数信息，并配置通知内容。
1. [访问CodeArts Req服务首页](https://support.huaweicloud.com/usermanual-projectman/projectman_01_0003.html)。
2. 进入项目中，单击"设置 \> 通用设置 \> 通知设置"。
3. 在通知页面选择"钉钉/飞书 \> 需求管理"，进入IPD系统设备类项目的钉钉/飞书设置页面。
4. 按照[表1]设置参数。
   
    表1钉钉/飞书通知参数表 
   | 参数        | 说明                                                                                                                                                                                                                                                                                                                                                                            | 取值样例                                                                                                                         |
   |:---|:---|:---|
   | URL       | 表示钉钉群聊天机器人或飞书群聊机器人通知的URL。                                                                                                                                                                                                                                                                                                                                                     | 钉钉聊天机器人示例：https://oapi.dingtalk.com/robot/send?access_token=373fa3c1ff75e8e9ce71742f544081bd562a99c996eb7911a051c1b43538beca |
   | 事件类型      | 表示要通知的事件类型。 事件类型按照原始需求、系统特性、研发需求、任务、缺陷、评审单、计划的具体操作设置。按需勾选需要通知的操作项。                                                                                                                                                                                                                                          | 勾选"原始需求 \> 评论"的事件类型。                                                                                                         |
   | @User IDs | 该参数项选填，表示消息推送时，需要@成员的钉钉或飞书的用户ID。 @User IDs提醒群聊指定成员，@all表示提醒所有人，多个用户ID用英文分号隔开。 格式要求： 用户ID只能由英文字母、数字、分号（英文）和.-_@符号组成，单个用户ID长度为1-64个字符。 | testA;testB                                                                                                                  |
   | @手机号      | 该参数项选填，表示消息推送时，需要@的手机号。**钉钉有此项，飞书没有此项。** 格式要求：多个手机号使用英文分号隔开，总字符长度为**1000**。                                                                                                                                                                                                                                 | 无                                                                                                                            |
   | 密钥        | 该参数选填，仅配置钉钉、飞书通知时涉及此项参数。 如果钉钉机器人的安全设置开启加签、飞书机器人的安全设置开启签名校验，请填写加签/签名的密钥。                                                                                                                                                                                                                                   | 无                                                                                                                            |
      
   
   
5. 单击"保存并开启通知"，保存设置的信息并开启通知。 
   ![](https://support.huaweicloud.com/usermanual-projectman/public_sys-resources/note_3.0-zh-cn.png)
   - 您还可以单击"保存"保存设置的信息后，再单击需求管理侧的开关![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594684414.png)开启通知。
   
   - 当不需要发送该通知时，可以单击需求管理侧的开关![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002625203775.png)关闭通知。
    
   配置完成后，当通知事件发生时，如下图所示，钉钉将通知发送至对应的聊天群。
   ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002625077203.png)
   
   
   
 
#### 配置通用webhook通知
提供应用动态通用webhook推送能力。
1. [访问CodeArts Req服务首页](https://support.huaweicloud.com/usermanual-projectman/projectman_01_0003.html)。
2. 进入项目中，单击"设置 \> 通用设置 \> 通知设置"。
3. 在通知页面选择"通用 webhook \> 需求管理"，进入IPD系统设备类项目的webhook设置页面。
4. 单击"新建Webhook订阅"，进入"新建 Webhook"页面。
5. 按照[表2]设置参数。
   
    表2webhook通知参数表 
   | 参数       | 说明                                                                                                                                                                                                                                                                             | 取值样例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|:---|
   | 订阅事件名称   | 表示订阅事件的名称，自定义名称，至多200个字符。                                                                                                                                                                                                                                                      | req-Webhook_test                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | URL      | 表示webhook通知的URL。必须以https://或http://开头。                                                                                                                                                                                                                                         | 飞书聊天机器人示例： https://open.feishu.cn/open-apis/bot/v2/hook/ffd39b45-d8c6-4771-9bb2-0a3b28c86fd7                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 事件类型     | 表示要通知的事件类型。 事件类型按照原始需求、系统特性、研发需求、任务、缺陷、评审单、计划的具体操作设置。按需勾选需要通知的操作项。                                                                                                              | - 勾选原始需求的评论。  - 勾选评审单的提交。  - 勾选研发需求的状态更新。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | HTTP 请求头 | 该参数项选填，表示消息推送时，需要用到的请求头。 HTTP请求头，JSON数组； 单个请求头最大长度**100** ，最多输入**20**个请求头； 一个请求头的格式为key:value。                                                                                  | Content-Type:application/json                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 自定义模板    | 表示通用webhook通知消息自定义的模板。 支持配置变量，可通过${}方式获取变量对应的值，支持的变量见[表3]。**字符总长度为1000。** | - 钉钉的参数示例： ``` {"msgtype":"text","text":{"content":"{\"产品名称\":\"需求管理名称Req\",\"reviewId\":\"${review.id}\",\"reviewStatus\":\"${review.status}\",\"reviewStatusName\":\"${review.status.name}\",\"operation\":\"${operation}\",\"编号\":\"${issue.number}\",\"提交人ID\":\"${issue.submitted_by.id}\",\"创建人ID\":\"${issue.created_by.id}\",\"责任人\":\"${issue.assignee.name}\",\"project_id\":\"${project.id}\",\"issue_title\":\"${issue.title}\",\"操作人\":\"${operator.username}\",\"操作人id\":\"${operator.id}\",\"评审\":\"${review.title}\",\"评审url\":\"${review.url}\",\"工作项ID\":\"${issue.id}\",\"工作项类型\":\"${issue.type}\",\"priority_change\":\"${issue.modified_fields.priority}\",\"issue_create\":${issue.create_fields._all},\"assignee_change\":${issue.modified_fields.assignee},\"自定义字段修改\":${issue.modified_fields.c7442403074245795840},\"all_fields_change\":${issue.modified_fields._all}}"}} ```   - 飞书的参数示例： ``` {"msg_type":"text","content":{"text":"需求管理-通用Webhook测试\n项目id：${project.id}\n项目url: ${project.url}\n工作项id：${issue.id}\n工作项名称：${issue.title}\n工作项url: ${issue.url}\n操作人：${operator.username}\n操作人id：${operator.id}\n评审单id: ${review.id}\n评审单：${review.title}\n评审url：${review.url}\n事件名称：${operation}"}} ```    |
      
    表3通用webhook自定义模板支持配置的变量 
   | 变量                                 | 说明                                                                                                                |
   |:---|:---|
   | project.id                         | 项目ID。                                                                                                             |
   | project.url                        | 项目URL。                                                                                                            |
   | issue.id                           | 工作项ID。                                                                                                            |
   | issue.url                          | 工作项URL。                                                                                                           |
   | issue.type                         | 工作项类型。                                                                                                            |
   | issue.title                        | 工作项标题。                                                                                                            |
   | operator.username                  | 操作员的用户名。                                                                                                          |
   | operator.id                        | 操作员的ID。                                                                                                           |
   | review.id                          | 评审单ID。                                                                                                            |
   | review.title                       | 评审单标题。                                                                                                            |
   | review.url                         | 评审单URL。                                                                                                           |
   | review.status                      | 评审单状态。                                                                                                            |
   | review.status.name                 | 评审单状态显示名。                                                                                                         |
   | operation                          | 事件名称。                                                                                                             |
   | issue.number                       | 工作项编号。                                                                                                            |
   | issue.created_by.id                | 创建人用户ID。                                                                                                          |
   | issue.created_by.name              | 创建人显示名称。                                                                                                          |
   | issue.submitted_by.id              | 提交人用户ID。                                                                                                          |
   | issue.submitted_by.name            | 提交人显示名称。                                                                                                          |
   | issue.assignee.id                  | 责任人用户ID。                                                                                                          |
   | issue.assignee.name                | 责任人显示名称。                                                                                                          |
   | issue.modified_fields._all         | 所有被修改字段列表。该变量的返回值为JSON数组格式。                                                                                       |
   | issue.modified_fields.{field_code} | 修改工作项时，指定通知某个字段信息。其中{field_code}为指定通知的字段。例如：issue.modified_fields.priority 表示修改工作项时，指定通知优先级字段信息。该变量的返回值为JSON对象格式。 |
   | issue.create_fields._all           | 创建工作项时通知内容包括信息为：标题、编号、状态、归属项目、所属特性集（仅SF有该字段）、当前责任人、优先级、严重程度（仅Bug有该字段）。                                            |
      
   
   
6. 单击"确定"，保存设置的信息。 
   配置完成后，当订阅事件发生时，如下图所示，会通过Webhook向第三方系统的URL（飞书）发送请求。
   ![](https://support.huaweicloud.com/usermanual-projectman/public_sys-resources/note_3.0-zh-cn.png)
   当不需要发送该通知时，可以单击需求管理的订阅事件中相应事件名称所在行开关![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002625203763.png)关闭通知。
   ![](https://support.huaweicloud.com/usermanual-projectman/zh-cn_image_0000002594637634.png)
   
   
   
 
