Table of Contents

Interface IWaitForCopilotReview

Namespace
Invex.RepoUtils.Atom.Module.Targets
Assembly
Invex.RepoUtils.Atom.Module.dll

Provides a build target that blocks until GitHub Copilot has finished reviewing a pull request. This fills the gap where GitHub cannot natively wait for a Copilot review before completing an auto-merge, allowing the target to be sequenced ahead of an auto-merge step.

public interface IWaitForCopilotReview : ICopilotReviewHelper, IGitHubHelper, IGithubPrHelper, IBuildAccessor
Inherited Members
IGitHubHelper.GitHubToken
IBuildAccessor.GetService<T>()
IBuildAccessor.GetServices<T>()
IBuildAccessor.GetParam<T>(Expression<Func<T>>, T, Func<string, T>)
IBuildAccessor.Services
IBuildAccessor.Logger
IBuildAccessor.RootedFileSystem
IBuildAccessor.ProcessRunner

Properties

CopilotReviewPollIntervalSeconds

The delay, in seconds, between successive polls of the pull request's review state. Defaults to 15 seconds.

[ParamDefinition("copilot-review-poll-interval-seconds", "Polling interval in seconds while waiting for Copilot to finish reviewing.", ParamSource.All, null)]
int CopilotReviewPollIntervalSeconds { get; }

Property Value

int

CopilotReviewTimeoutSeconds

The maximum amount of time, in seconds, to wait for Copilot to finish reviewing before failing the target. Defaults to 600 seconds (10 minutes).

[ParamDefinition("copilot-review-timeout-seconds", "Maximum time in seconds to wait for Copilot to finish reviewing.", ParamSource.All, null)]
int CopilotReviewTimeoutSeconds { get; }

Property Value

int

CopilotReviewToken

An optional GitHub personal access token used to read the Copilot review state. When not supplied, the default Invex.Atom.Module.GitHubWorkflows.Helpers.IGitHubHelper.GitHubToken is used instead. A dedicated PAT can be provided for cases where the default workflow token cannot read the review state (for example on some Dependabot-created pull requests).

[SecretDefinition("copilot-review-token", "Optional GitHub PAT used to read Copilot review state; falls back to the default GitHub token.", ParamSource.All, null)]
string? CopilotReviewToken { get; }

Property Value

string

CopilotReviewerLogin

The login of the Copilot reviewer bot to wait for. Defaults to DefaultCopilotReviewerLogin.

[ParamDefinition("copilot-reviewer-login", "The login of the Copilot reviewer bot to wait for.", ParamSource.All, null)]
string CopilotReviewerLogin { get; }

Property Value

string

WaitForCopilotReview

Waits until Copilot has finished reviewing the target pull request. The target succeeds immediately when Copilot was not requested as a reviewer, and fails when Copilot does not finish reviewing within the configured timeout.

Target WaitForCopilotReview { get; }

Property Value

Target