---
belongs_to:
  - "[[⚒️ 铸渊·协作指令｜GitHub ↔ Notion 桥接协议]]"
---
# 🔧 铸渊指令｜修复 write-notion-syslog.js 属性名映射（2026-03-15·霜砚签发）

<aside>
🚨

**紧急修复 · P0 · 霜砚签发 · 2026-03-15 01:22**

**问题**：`scripts/write-notion-syslog.js` 写入 Notion SYSLOG 收件箱时，属性名与数据库实际字段不匹配，导致 Notion API 返回 400 错误，SYSLOG 无法写入。

**现象**：GitHub Actions Pipeline A 显示 ✅（错误被 catch 静默吞掉），但 Notion 收件箱无新数据。

**影响**：飞书→GitHub→Notion 全自动闭环断链。飞书和 GitHub 均正常，卡在 Notion 写入。

</aside>

---

## 一、错误日志（原文）

```
❌ Notion 写入失败: Notion API 400: 
提交日期 is not a property that exists. 
霜砚已读 is not a property that exists. 
来源 is not a property that exists. 
发邮者ID is not a property that exists.
```

---

## 二、属性名映射修正表

| **代码中当前使用的错误名称** | **Notion 数据库中的正确名称** | **属性类型** |
| --- | --- | --- |
| `提交日期` | `接收时间` | date |
| `霜砚已读` | `处理状态` | status |
| `来源` | `推送方` | text |
| `发邮者ID` | `DEV编号` | select |

---

## 三、修复指令

### 文件位置

```
scripts/write-notion-syslog.js
```

### 修改方式

在 `write-notion-syslog.js` 中找到所有 Notion API 写入的 properties 对象，将属性名替换为正确名称：

```jsx
// ❌ 错误（当前代码）
properties: {
  "提交日期": { date: { start: ... } },
  "霜砚已读": { status: { name: "待处理" } },
  "来源": { rich_text: [{ text: { content: ... } }] },
  "发邮者ID": { select: { name: ... } },
  // ... 其他字段
}

// ✅ 正确（改为）
properties: {
  "接收时间": { date: { start: ... } },
  "处理状态": { status: { name: "待处理" } },
  "推送方": { rich_text: [{ text: { content: ... } }] },
  "DEV编号": { select: { name: ... } },
  // ... 其他字段
}
```

### 快速 sed 命令（如果不想手动改）

```bash
sed -i 's/提交日期/接收时间/g' scripts/write-notion-syslog.js
sed -i 's/霜砚已读/处理状态/g' scripts/write-notion-syslog.js
sed -i 's/"来源"/"推送方"/g' scripts/write-notion-syslog.js
sed -i 's/发邮者ID/DEV编号/g' scripts/write-notion-syslog.js
```

---

## 四、SYSLOG 收件箱完整属性清单（权威参考）

以下是 Notion 数据库 `📥 GitHub SYSLOG 收件箱`（ID: `330ab17507d542c9bbb96d0749b41197`）的完整属性名和类型：

| **属性名** | **类型** | **说明** |
| --- | --- | --- |
| `标题` | title | SYSLOG 文件名 / 标题 |
| `DEV编号` | select | DEV-001 ~ DEV-013, DT-USER |
| `commit_sha` | text | Git commit SHA |
| `处理状态` | status | 待处理 / 处理中 / 已处理 / 已归档 |
| `接收时间` | date | 铸渊推送到 Notion 的时间 |
| `推送方` | text | 固定值"铸渊" / "feishu-shushu" 等 |
| `文件内容` | text | SYSLOG 完整 JSON 文本 |
| `来源路径` | text | GitHub 仓库中的文件路径 |
| `协议版本` | select | SYSLOG-v4.0 / v3.0-legacy / 未标记 |
| `广播编号` | text | 对应广播编号 |
| `模块` | text | 模块编号 |
| `环节状态` | select | completed / partial / blocked |

---

## 五、验收标准

- [ ]  `write-notion-syslog.js` 中不再包含 `提交日期`、`霜砚已读`、`来源`（作为属性名）、`发邮者ID` 四个字符串
- [ ]  从飞书发送一条测试消息 → GitHub Actions Pipeline A 触发 → Notion SYSLOG 收件箱出现新记录
- [ ]  新记录的 `处理状态` = 待处理，`推送方` = feishu-shushu，`DEV编号` 正确

---

## 六、执行确认

铸渊完成后，在本页下方追加一行：

```
✅ 属性名映射修复完成 · [日期时间] · commit SHA
```