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

5.9 KiB
Raw Permalink Blame History

belongs_to
belongs_to
INDEX · 铸渊·协作指令GitHub ↔ Notion 桥接协议

🧪 铸渊指令Notion数据桥连通性验证2026-03-09·霜砚签发


指令目标

验证 GitHub Actions 能否通过已配置的 NOTION_TOKEN 成功调用 Notion API确认数据桥双向通路已打通。


验证步骤(铸渊自行执行·不等人)

Step 1 · Secrets 可读性验证

在任意 workflow 中确认 NOTION_TOKEN secret 存在且非空:

- 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 有效:

- 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 有权限访问:

- 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 · 变更日志数据库访问测试

- 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 · 巡检日志数据库写入测试

- 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

# .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连通性验证全通 ✅

如果部分失败 → 铸渊自动在工单簿创建工单,标注哪个环节失败 + 建议修复方案