Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
7.5 KiB
7.5 KiB
belongs_to
| belongs_to | |
|---|---|
|
🧪 铸渊指令:Notion API 连通性测试(霜砚签发·2026-03-07)
🎯 背景
妈妈已将 Notion API Token 配置到 GitHub Secrets(NOTION_TOKEN)。
现在需要铸渊跑一次真实写入测试,往 Notion 的三个数据库各写一条测试记录,确认双向桥是通的。
📋 铸渊执行清单(读到就做·不等人)
铸渊连通性测试指令 · YM-TEST-20260307-001
来源:霜砚(Notion执行体)→ 铸渊(GitHub执行体)
时间:2026-03-07
状态:待铸渊执行
━━━ 前置:确认环境变量 ━━━
确认 GitHub Secrets 中存在以下变量:
· NOTION_TOKEN(Notion Internal Integration Token)
确认以下 Database ID(已硬编码,铸渊直接用):
· 信号日志 DB:从工单簿页面的 parent database 获取
→ Database ID:见下方每个测试的具体 ID
━━━ 测试一:写入「跨平台信号日志」━━━
目标数据库名称:📡 跨平台信号日志(Signal Log)
Notion Database ID:将下方 curl 中的 {SIGNAL_LOG_DB_ID} 替换为实际 ID
请在 GitHub Actions 或本地终端执行以下命令:
curl -X POST 'https://api.notion.com/v1/pages' \
-H 'Authorization: Bearer '"$NOTION_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Notion-Version: 2022-06-28' \
-d '{
"parent": { "database_id": "{SIGNAL_LOG_DB_ID}" },
"properties": {
"信号编号": {
"title": [{ "text": { "content": "SIG-TEST-20260307-001" } }]
},
"信号类型": {
"select": { "name": "GL-ACK" }
},
"发送方": {
"select": { "name": "铸渊" }
},
"接收方": {
"select": { "name": "霜砚" }
},
"方向": {
"select": { "name": "GitHub→Notion" }
},
"关联DEV": {
"select": { "name": "系统" }
},
"关联模块": {
"select": { "name": "全局" }
},
"执行结果": {
"status": { "name": "成功" }
},
"摘要": {
"rich_text": [{ "text": { "content": "🧪 铸渊→Notion API 连通性测试 · NOTION_TOKEN 验证 · 数据桥首次握手" } }]
},
"备注": {
"rich_text": [{ "text": { "content": "这是一条自动化测试信号。如果你在 Notion 信号日志里看到这条记录,说明 GitHub→Notion 数据桥已打通。" } }]
}
}
}'
期望结果:HTTP 200 + 返回新建页面 JSON
验证方式:霜砚在 Notion 端查询信号日志数据库,能看到这条记录
━━━ 测试二:写入「GitHub 变更日志」━━━
Notion Database ID:将 {CHANGE_LOG_DB_ID} 替换为实际 ID
curl -X POST 'https://api.notion.com/v1/pages' \
-H 'Authorization: Bearer '"$NOTION_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Notion-Version: 2022-06-28' \
-d '{
"parent": { "database_id": "{CHANGE_LOG_DB_ID}" },
"properties": {
"标题": {
"title": [{ "text": { "content": "🧪 连通性测试 · 铸渊首次握手 · 2026-03-07" } }]
},
"变更类型": {
"select": { "name": "Commit" }
},
"提交者": {
"select": { "name": "铸渊" }
},
"分支": {
"rich_text": [{ "text": { "content": "main" } }]
},
"commit_sha": {
"rich_text": [{ "text": { "content": "test-00000000" } }]
},
"变更文件": {
"rich_text": [{ "text": { "content": ".github/test/bridge-connectivity-test.md" } }]
},
"霜砚已读": {
"checkbox": false
}
}
}'
━━━ 测试三:写入「GitHub SYSLOG 收件箱」━━━
Notion Database ID:将 {SYSLOG_INBOX_DB_ID} 替换为实际 ID
curl -X POST 'https://api.notion.com/v1/pages' \
-H 'Authorization: Bearer '"$NOTION_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Notion-Version: 2022-06-28' \
-d '{
"parent": { "database_id": "{SYSLOG_INBOX_DB_ID}" },
"properties": {
"标题": {
"title": [{ "text": { "content": "🧪 SYSLOG连通性测试 · 2026-03-07" } }]
},
"DEV编号": {
"select": { "name": "DEV-001" }
},
"处理状态": {
"status": { "name": "待处理" }
},
"推送方": {
"rich_text": [{ "text": { "content": "铸渊" } }]
},
"来源路径": {
"rich_text": [{ "text": { "content": "syslog-inbox/test/bridge-test-20260307.md" } }]
},
"文件内容": {
"rich_text": [{ "text": { "content": "这是一条连通性测试SYSLOG。如果霜砚能在收件箱看到这条,说明铸渊→Notion SYSLOG推送管线已打通。" } }]
},
"commit_sha": {
"rich_text": [{ "text": { "content": "test-00000000" } }]
}
}
}'
━━━ 验收标准 ━━━
三条 curl 全部返回 HTTP 200 = 数据桥全通 ✅
任何一条返回 401/403 = Token 权限不够,检查 Integration 授权范围
任何一条返回 404 = Database ID 错误,核对 ID
任何一条返回 400 = 字段名/格式不对,看返回的 error message
━━━ 执行确认 ━━━
铸渊完成后,回复以下格式:
✅ YM-TEST-20260307-001 连通性测试完成
· 信号日志写入:✅/❌(附 page_id 或 error)
· 变更日志写入:✅/❌(附 page_id 或 error)
· SYSLOG收件箱写入:✅/❌(附 page_id 或 error)
· 总结:数据桥状态 = 全通 / 部分通 / 不通
⚠️ Database ID 获取方式
🔁 测试通过后
如果三条全通:
- 铸渊把三个 Database ID 硬编码到
bridge-syslog-to-notion.yml和bridge-changes-to-notion.yml中 - 之后每次 push/PR/SYSLOG 都自动推送到 Notion
- 霜砚这边会定时巡检这三个数据库,自动处理新记录
数据桥一旦打通 = 妈妈零操作 = GitHub↔Notion 全自动闭环 ✅
📝 妈妈操作指南
🔗 关联
- 铸渊协作指令主页:⚒️ 铸渊·协作指令
- 数据桥设计文档:🔧 铸渊协作指令:GitHub → Notion 数据桥 v1.0
- 信号日志数据库:📡 跨平台信号日志
- 变更日志数据库:📋 GitHub 变更日志
- SYSLOG收件箱数据库:📥 GitHub SYSLOG 收件箱