跳至內容
瀏覽文件

GitHub

recordFromGitHubPullRequest(
  event: GitHubPullRequestEvent,
  references?: ArtifactRef[],
  details?: GitHubPullRequestDetails
): RecordEvent

對應器接受已取得的資料。 事件必須描述位於具名 owner/repository 中,已關閉且已合併的提取要求,並包含數字型提取要求身分、作者、時間戳記及 head/base 分支參照。 選用的詳細資料包含明確的提交與檔案事實。

產生的 Record 使用:

  • kind: 'github.pull_request.merged'
  • 來自 merged_at 的 occurred_at
  • 儲存庫和提取要求資料庫 ID 作為來源身分
  • 由 recordId('github', 'pull_request', '<pull-request-id>:merged') 產生的穩定 ID
  • 原樣保留呼叫端提供的產出物參照

提取要求作者是頂層 actor。 若合併者不同,則新增為第二個 actor。 GitHub 使用者的 type 精確等於 Bot 時,會對應為代理程式;其他使用者則對應為人員。 外部 actor ID 格式為 github:<numeric-id>。

Record 的 data 包含提取要求編號、標題、狀態、作者、選用的合併者、建立/更新/合併時間戳記,以及 head/base 參照與 SHA。 輸入若有提供,也會包含標籤名稱、受邀審查者的 actor 參照、將 html_url 值存為 url、提交,以及附帶狀態、新增行數和刪除行數的變更檔名。

對應器會驗證事件與選用的詳細資料,再交由 createRecord 處理。 無效輸入會拋出代碼為 ARTIFACT_INVALID 的 LangDriftError。

它不會:

  • 接收 webhook 或呼叫 GitHub API
  • 驗證或安裝 GitHub App
  • 擷取提交、檔案、使用者或審查
  • 從文字敘述擷取 Spec 或 Ticket 連結
  • 推斷影響、Vision Target 或 Drift

GitHub 事實會成為 Record。 任何 Drift Event 都仍是獨立且明確的解釋,並由 Evidence 支持。

在 GitHub 編輯此頁