本文へ移動
ドキュメントを探す

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 になります。 マージした人が別の場合は、2 人目の actor として追加されます。 GitHub ユーザーの type が正確に Bot である場合はエージェント、それ以外は人に対応付けます。 外部 actor ID の形式は github:<numeric-id> です。

Record の data には、プルリクエスト番号、タイトル、状態、作成者、任意のマージ実行者、作成・更新・マージのタイムスタンプ、head/base の参照と SHA が含まれます。 入力にある場合は、ラベル名、レビューを依頼された actor への参照、url としての html_url、コミット、状態・追加行数・削除行数を伴う変更ファイル名も含みます。

マッパーはイベントと任意の詳細情報を検証してから、createRecord に処理を委ねます。 不正な入力はコード ARTIFACT_INVALID の LangDriftError を送出します。

次の処理は行いません。

  • webhook の受信や GitHub API の呼び出し
  • GitHub App の認証やインストール
  • コミット、ファイル、ユーザー、レビューの取得
  • 文章からの Spec や Ticket のリンク抽出
  • 影響、Vision Target、Drift の推測

GitHub の事実は Record になります。 Drift Event は、Evidence に裏付けられた、別個の明示的な解釈であり続けます。

GitHub でこのページを編集