### 场景一:新建工单自动同步 **Gitea新建工单**: 1. 进入Gitea仓库 2. 点击Issues -> 新建Issue 3. 填写标题、描述、指派人、标签(优先级、类型)、里程碑 4. 点击提交 5. 系统自动在Jira创建对应问题 6. Gitea工单中添加评论,包含Jira问题链接 **Jira新建问题**: 1. 进入Jira项目 2. 点击创建按钮 3. 填写摘要、描述、经办人、优先级、问题类型、迭代 4. 点击创建 5. 系统自动在Gitea创建对应工单 6. Jira问题中添加评论,包含Gitea工单链接 ### 场景二:更新工单字段 **修改优先级**: 1. 在任何一端修改优先级 2. 系统自动更新对方平台的对应标签 3. 对应标签根据mappings.json中的优先级映射进行转换 **修改工单类型**: 1. 在任何一端修改工单类型 2. 系统自动更新对方平台的对应标签 3. 对应标签根据mappings.json中的类型映射进行转换 **修改迭代/里程碑**: 1. 在任何一端修改迭代或里程碑 2. 系统自动更新对方平台 3. 里程碑名称与Sprint ID根据mappings.json进行映射 **更新指派人/经办人** 1. 在任何一端更改指派人 2. 系统自动更新对方平台,如果Gitea有多个指派人,Jira经办人取第一个 ### 场景三:跨平台手动同步 **使用/resync命令**: 1. 在Gitea或Jira工单评论中输入`/resync` 2. 系统会强制重新同步所有字段 3. 如果对方平台不存在对应工单,会自动创建 4. 如果已存在,会更新所有字段 **#不同步标记**: 1. 在工单标题中添加`#不同步`标记 2. 该工单不会自动同步到对方平台 3. 使用`/resync`命令可以强制同步带有`#不同步`标记的工单 ### 场景四:类型过滤 **类型未配置的工单不同步**: 1. 如果工单的类型标签在mappings.json中没有配置对应关系 2. 或是Gitea创建工单时没有选择类型标签、Jira创建问题时选的问题类型在Gitea那边没有对应的标签 3. 该工单不会被同步,日志会记录跳过原因 4. 原本就没被同步/被过滤的工单,任何操作都不会触发创建事件,这样设定是为了保护以前的陈旧工单被挖坟的时候不会被重新同步 5. 需要强制同步未同步的工单,请使用`/resync`命令 **手动打标签**: 1. 由于Gitea平台的类型标签和Jira问题类型并不是一一对应,可能会出现多个类型标签对应同一个Jira问题的情况 2. 这会导致Jira那边创建问题对应了多个标签的时候,机器人会不知道该选哪个标签,此时会默认选第一个,这就会出现Jira那边创建了一个开发任务,虽然它是一个需求,但是被打上新功能标签的问题 3. 为解决这个问题,我为机器人引入了规则,允许用户在Jira创建问题的时候,在问题上带一个[flag],[flag]xxxx,这样机器人就会寻址到[类型/flag]标签,举个例子,某个开发任务可以写成“[新功能]我是一个新功能”,在Gitea那边就会被正确地打上[类型/新功能]标签 4. 标题flag的优先级会高于设定的类型,如果你不小心把类型选到了故障,如果标题上有[新功能],还是以标题为准,如果两个都“不小心”写错了(是故意的还是不小心的?),以类型(多对一时是映射表里设定的第一个)为准 5. Gitea那边不会有上述特性,因为通常不会出现多个Jira类型对应一个标签的情况,不打标签非要写标题上你就是纯坏!!纯坏!!!