You've already forked GiteaToFeishuMsg
优化卡片内容与字段合并
This commit is contained in:
53
README.md
53
README.md
@@ -110,6 +110,59 @@ npm start
|
||||
- `logs/error.log` – 错误日志
|
||||
- `logs/combined.log` – 所有日志
|
||||
|
||||
## 自定义消息格式
|
||||
|
||||
如果你希望修改飞书卡片的样式、字段或映射关系,可以编辑 `src/transformers/giteaToFeishu.js` 文件。该文件导出了 `transformToFeishuCard` 函数,负责将 Gitea 事件转换为飞书卡片。
|
||||
|
||||
### 主要可配置部分
|
||||
|
||||
1. **动作映射**:`getCardInfo(action)` 函数定义了每个 Gitea 动作对应的卡片标题和颜色模板。你可以修改 `mapping` 对象来更改标题或颜色。
|
||||
|
||||
2. **优先级提取**:`extractPriority(labels)` 函数根据标签确定优先级。你可以调整逻辑以适应你的标签命名规范。
|
||||
|
||||
3. **卡片元素**:`transformToFeishuCard` 函数中的 `card.elements` 数组定义了卡片显示的字段。你可以添加、删除或修改元素来改变卡片内容。
|
||||
|
||||
### 标签颜色映射
|
||||
|
||||
服务支持根据工单标签自动调整卡片颜色。例如,如果工单带有 `scope:非必要任务`、`scope:普通任务`、`scope:紧急任务`、`scope:重要任务` 等标签,卡片头部颜色会相应变化:
|
||||
|
||||
| 标签 | 颜色 | 说明 |
|
||||
|------|------|------|
|
||||
| `scope:非必要任务` | 灰色 (`grey`) | 低优先级任务 |
|
||||
| `scope:普通任务` | 蓝色 (`blue`) | 默认任务 |
|
||||
| `scope:紧急任务` | 红色 (`red`) | 需要立即处理 |
|
||||
| `scope:重要任务` | 橙色 (`orange`) | 重要但不紧急 |
|
||||
|
||||
颜色映射逻辑位于 `getScopeColor(labels)` 函数中。你可以修改该函数以支持更多标签或更改颜色。
|
||||
|
||||
此外,卡片会显示一个“范围”字段,展示匹配的标签名称。
|
||||
|
||||
### 示例:添加新字段
|
||||
|
||||
假设你想显示工单的创建时间,可以在 `elements` 数组中添加一个新的 `div` 元素:
|
||||
|
||||
```javascript
|
||||
{
|
||||
tag: 'div',
|
||||
text: {
|
||||
tag: 'lark_md',
|
||||
content: `**创建时间**:${new Date(issue.created_at).toLocaleString()}`
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 高级自定义
|
||||
|
||||
如果你需要更灵活的自定义(例如根据不同的仓库使用不同的模板),可以考虑以下方案:
|
||||
|
||||
- 创建新的转换器模块,并在 `src/webhooks/gitea.js` 中替换导入。
|
||||
- 使用配置文件(如 `config/cardTemplates.json`)来定义模板,并在转换器中读取。
|
||||
|
||||
### 注意事项
|
||||
|
||||
- 飞书卡片支持的元素和样式请参考[飞书开放平台文档](https://open.feishu.cn/document/uAjLw4CM/ukzMukzMukzM/overview)。
|
||||
- 修改后请重启服务以使更改生效。
|
||||
|
||||
## Docker 部署
|
||||
|
||||
提供 Dockerfile 便于容器化部署。
|
||||
|
||||
Reference in New Issue
Block a user