
# 集成CodeArts Req
CodeArts Repo支持通过"E2E设置"帮助记录每次代码合入的原因，包括开发需求、修复问题单，或者完成工作项，Repo系统将记录关联信息方便日后追溯。
在进行E2E设置前，用户请先查看[约束与限制]，满足E2E设置权限的用户请根据[集成CodeArts Req系统]、[集成策略]、[自动提取单号规则]进行配置，用户也可以参考[设置示例]进行配置。
 #### 约束与限制
表1E2E设置的约束与限制 
| 限制类别 | 具体限制                                                                                                                                                                                                                                                                                                      |
|:---|:---|
| 功能限制 | - 看板项目下的代码托管仓库不支持E2E设置。  - 如果在项目级"仓库设置"勾选了"开启强制继承"，本项目下所有代码组和仓库均会使用项目下设置，且代码组和仓库下设置不可更改，还请谨慎对待。   |
| 权限限制 | 当用户角色为"项目经理"或者"项目管理员"，可以设置项目级E2E设置，请参考[配置项目级的Repo权限](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0087.html)进行配置。                                                                                                                                                              |
   
 #### 集成CodeArts Req系统
CodeArts Repo与CodeArts Req系统集成，使用CodeArts Req的工作项关联对应代码提交，包括代码提交、代码分支和合并请求场景。Repo系统默认设置了关联。
CodeArts Repo可关联的工作项类别请参考下表。
 表2Repo可关联工作项参数说明 
| 项目类型           | 可关联工作项                      |
|:---|:---|
| Scrum          | Epic，Feature，Story，Task，Bug |
| IPD-系统设备类      | IR，SR，AR，Bug，DR             |
| IPD-独立软件类      | IR，US，Bug，Task              |
| IPD-自运营软件/云服务类 | Epic，FE，US，Task，Bug         |
   
 #### 集成策略
可选枚举值，用于限定用户在关联工作项时的选择条件。
**排除状态**：选中状态的工作项不可关联合并请求。
例如，当前图片展示是"Scrum"项目可关联的工作项，选择"新建"，表示新建状态的工作项不可关联合并请求。
![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002632894342.png "点击放大")
**可关联类别**：选中类型的工作项可以被关联。
例如，选择Epic表示"Epic"类型的工作项可以关联合并请求，不同类型项目可关联的工作项请参考[表2]。
![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002632734442.png)
![](https://support.huaweicloud.com/usermanual-codeartsrepo/public_sys-resources/note_3.0-zh-cn.png)
当前支持跨项目关联工作项。
**应用分支**：选中的分支将受限制，其他分支无限制。
例如，如果正则表达式为"Branch_\*"，表示所有以"Branch_"开头的分支的合并请求将遵循上述的"排除状态"和"可关联类别"设置，正则表达式规则请参考[常见的正则表达式示例](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0002.html#codeartsrepo_03_0002__section1185415155156)。
![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002632894346.png "点击放大")
 #### 自动提取单号规则
**约束与限制**：
- 前缀、后缀、分隔符不能互相包含，否则提取效果不符合预期。
- 分隔符为空时，前缀和后缀不建议为";"，否则提取效果不符合预期。
- 后缀为空时，前缀和分隔符不能为"\\n"，否则提取效果不符合预期。
- 前缀、分隔符、后缀为全字符匹配，不支持正则表达式。
**配置步骤**：
自动提取单号规则表示可以根据代码提交信息自动提取单号，请参考[下表]进行配置。
 表3自动提取单号规则参数说明 
| 参数   | 说明                          |
|:---|:---|
| 单号前缀 | 非必填。支持多个前缀，最多10个，每个最多200字符。 |
| 分隔符  | 非必填。默认为";"。                 |
| 单号后缀 | 非必填。默认为使用换行。                |
   
 #### 设置示例
此示例以Scrum类型项目为例。
1. 进入要配置的项目，上方导航栏依次选择**"设置 \> 服务集成 \> E2E设置"** ，切换到**"E2E设置"** 页面。
   
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002632734444.png "点击放大")
   
   
2. 排除状态选择"新建"，可关联类别选择"Story"，应用分支为"Branch_\*"，单号前缀为"合入需求"，分隔符为";"，单号后缀为"\\n"。 
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002663053539.png "点击放大")
   
   
   
3. 创建工作项。 
   1. 单击目标项目名称，进入项目。
   
   2. 在当前"工作项"页面，单击**"新建"** ，在弹出的下拉框中选择"Task"，进入新建工作项页面。
      ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002656722816.png "点击放大")
      
      
   
   3. 填写标题，例如：迭代一。 其他参数默认即可，单击"保存"按钮进行保存。
      ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002656740176.png "点击放大")
      
      
   
   
   
   
4. 新建文件。 
   1. 进入代码托管仓库列表页，单击目标仓库名称，进入仓库。
   
   2. 在**"代码"** 页签下，单击**"新建"** ，在弹出的下拉框中选择**"新建文件"** ，进入新建文件页面。
      ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002632894354.png "点击放大")
      
   
   3. 填写以下信息，其余参数默认即可，单击**"确定"** 完成文件的新建。
      文件名：自定义文件名称，例如：示例代码。
      文件内容：自定义文件内容。
      提交信息：填写E2E设置中的前缀及工作项的单号，例如：合入需求：708635317。
      ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002662893607.png "点击放大")
      
      
   
   
   
   
5. 新建合并请求时提取单号。 
   1. 切换为**"合并请求"** 页签，单击**"新建"**。
   
   2. 选择源分支为**"Test"** ，目标分支为**"master"**。其中，专业版和企业版涉及"模板"。
   
   
   
   
![](https://support.huaweicloud.com/usermanual-codeartsrepo/public_sys-resources/notice_3.0-zh-cn.png)
- 如果用户的仓库是"所有访客只读"，当用户新建或者修改合并请求"标题"时，且标题内容包含违规词汇，新建或者修改合并请求标题将失败，并在右上角报错提示"合并请求标题存在违反法律法规的内容，请修改后重新提交。"
- 如果用户的仓库是"所有访客只读"，当用户的"描述"包含违规词汇或者图片，会审核不通过，在合并请求标题右侧将显示"标题或描述内容审核不通过，请及时修改，否则合并请求仅项目内成员可见。"并且此合并请求将不对其他成员展示，修改并合规后，将正常展示此合并请求信息。
- 如果用户的仓库是"所有访客只读"，当用户的"合并请求评价"包含敏感词汇或者图片，将会在评价所在行显示"审核不通过"。
 
#### 如何关联工作项
用户可以通过以下方式关联工作项：
- 通过Web浏览器，在提交信息中使用关键字fix #、fixed #、resolve #、resolved #、close #，实现工作项与代码的双向关联。 示例："fix #工作项编号 本次提交的注释信息"。
  
- Git客户端通过命令行提交代码关联工作项。 示例：git commit -m "fix #IR20230202018492 解决某个问题"。
  ![](https://support.huaweicloud.com/usermanual-codeartsrepo/public_sys-resources/note_3.0-zh-cn.png)
  - 提交人没有关联工作项所在项目的权限，代码和工作项会关联失败。
  
  - 仅Scrum项目下的仓库才具备自动流转工作项功能。
    
 
