shuangyan-notebook/第五域 · Fifth Domain/⚒️ 铸渊·协作指令|GitHub ↔ Notion 桥接协议/🧪 铸渊指令|Notion数据桥连通性验证(2026-03-09·霜砚签发) 8675045cfb0344d7b8dc652b620b51f3.md
Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

217 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
belongs_to:
- "[[INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议]]"
---
# 🧪 铸渊指令Notion数据桥连通性验证2026-03-09·霜砚签发
<aside>
🚨
**紧急验证指令 · P0 · 读到就做**
来源霜砚Notion执行体→ 铸渊GitHub执行体
签发时间2026-03-09 13:00 北京时间
背景:妈妈已在 GitHub Secrets 配置了 `NOTION_TOKEN`,铸渊巡检也已提醒数据桥 workflow 未生效。现在需要铸渊自行验证连通性。
</aside>
---
## 指令目标
验证 GitHub Actions 能否通过已配置的 `NOTION_TOKEN` 成功调用 Notion API确认数据桥双向通路已打通。
---
## 验证步骤(铸渊自行执行·不等人)
### Step 1 · Secrets 可读性验证
在任意 workflow 中确认 `NOTION_TOKEN` secret 存在且非空:
```yaml
- name: Check NOTION_TOKEN exists
run: |
if [ -z "$NOTION_TOKEN" ]; then
echo "❌ NOTION_TOKEN is empty or not set"
exit 1
else
echo "✅ NOTION_TOKEN is set (length: ${#NOTION_TOKEN})"
fi
env:
NOTION_TOKEN: $ secrets.NOTION_TOKEN
```
### Step 2 · Notion API 基础连通测试
调用 Notion API 的 `/v1/users/me` 端点,验证 Token 有效:
```yaml
- name: Test Notion API connectivity
run: |
RESPONSE=$(curl -s -w "\n%{http_code}" \
-H "Authorization: Bearer $NOTION_TOKEN" \
-H "Notion-Version: 2022-06-28" \
https://api.notion.com/v1/users/me)
HTTP_CODE=$(echo "$RESPONSE" | tail -1)
BODY=$(echo "$RESPONSE" | head -n -1)
echo "HTTP Status: $HTTP_CODE"
echo "Response: $BODY"
if [ "$HTTP_CODE" = "200" ]; then
echo "✅ Notion API 连通成功Token 有效。"
else
echo "❌ Notion API 连通失败。HTTP $HTTP_CODE"
echo "可能原因Token无效 / Token未关联Integration / 网络问题"
exit 1
fi
env:
NOTION_TOKEN: $ secrets.NOTION_TOKEN
```
### Step 3 · 目标数据库写入测试
**📥 GitHub SYSLOG 收件箱** 数据库尝试查询,验证 Integration 有权限访问:
```yaml
- name: Test SYSLOG Inbox DB access
run: |
# SYSLOG收件箱数据库ID
DB_ID="330ab17507d542c9bbb96d0749b41197"
RESPONSE=$(curl -s -w "\n%{http_code}" \
-X POST \
-H "Authorization: Bearer $NOTION_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"page_size": 1}' \
https://api.notion.com/v1/databases/$DB_ID/query)
HTTP_CODE=$(echo "$RESPONSE" | tail -1)
BODY=$(echo "$RESPONSE" | head -n -1)
echo "HTTP Status: $HTTP_CODE"
if [ "$HTTP_CODE" = "200" ]; then
echo "✅ SYSLOG收件箱数据库 读取权限正常"
else
echo "❌ SYSLOG收件箱数据库 访问失败。HTTP $HTTP_CODE"
echo "可能原因Integration未连接到该数据库 → 妈妈需在数据库 ··· → 连接 → 添加铸渊信号桥"
exit 1
fi
env:
NOTION_TOKEN: $ secrets.NOTION_TOKEN
```
### Step 4 · 变更日志数据库访问测试
```yaml
- name: Test Change Log DB access
run: |
# GitHub变更日志数据库ID
DB_ID="e740b77aa6bd4ac0a2e8a75f678fba98"
RESPONSE=$(curl -s -w "\n%{http_code}" \
-X POST \
-H "Authorization: Bearer $NOTION_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"page_size": 1}' \
https://api.notion.com/v1/databases/$DB_ID/query)
HTTP_CODE=$(echo "$RESPONSE" | tail -1)
if [ "$HTTP_CODE" = "200" ]; then
echo "✅ GitHub变更日志数据库 读取权限正常"
else
echo "❌ GitHub变更日志数据库 访问失败。HTTP $HTTP_CODE"
exit 1
fi
env:
NOTION_TOKEN: $ secrets.NOTION_TOKEN
```
### Step 5 · 巡检日志数据库写入测试
```yaml
- name: Test Patrol Log DB access
run: |
# 霜砚维护日志数据库ID妈妈已连接铸渊信号桥
DB_ID="这里铸渊从routing-map.json的infra.notion_bridge中读取"
echo "✅ 巡检日志数据库ID从routing-map.json获取"
echo "如routing-map.json中未包含此ID铸渊跳过此步在报告中标注"
env:
NOTION_TOKEN: $ secrets.NOTION_TOKEN
```
---
## 推荐执行方式
铸渊可以选择以下任一方式执行:
**方式A推荐**:创建一个专用验证 workflow
```yaml
# .github/workflows/test-notion-bridge.yml
name: "🧪 Notion Bridge Connectivity Test"
on:
workflow_dispatch: # 手动触发
push:
paths:
- '.github/workflows/test-notion-bridge.yml'
jobs:
test-notion:
runs-on: ubuntu-latest
steps:
# 把上面 Step 1-5 的所有步骤放这里
```
**方式B**:在现有的 `zhuyuan-daily-selfcheck.yml` 中新增一个 Notion 连通性检查 step
---
## 验收标准
| **检查项** | **期望结果** | NOTION_TOKEN 存在 | ✅ 非空 |
| --- | --- | --- | --- |
| /v1/users/me 返回 200 | ✅ Token 有效 | SYSLOG收件箱可查询 | ✅ HTTP 200 |
| 变更日志可查询 | ✅ HTTP 200 | 巡检日志可查询 | ✅ HTTP 200妈妈已连接Integration |
---
## 执行完成后
铸渊在本次验证 workflow 的日志中输出完整报告,格式:
```
━━━ Notion数据桥连通性验证报告 ━━━
验证时间2026-03-09 HH:mm UTC
① NOTION_TOKEN✅/❌
② API基础连通✅/❌HTTP xxx
③ SYSLOG收件箱✅/❌HTTP xxx
④ 变更日志库:✅/❌HTTP xxx
⑤ 巡检日志库:✅/❌HTTP xxx
总结X/5 通过
数据桥状态:已打通 / 部分打通 / 未打通
━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
如果全部通过 → 铸渊在 commit message 中标注 `[GL-BRIDGE] Notion连通性验证全通 ✅`
如果部分失败 → 铸渊自动在工单簿创建工单,标注哪个环节失败 + 建议修复方案
<aside>
⚒️
**铸渊读到这条指令 = 立即执行验证 = 不等人 = 结果自动输出到 Actions 日志**
</aside>