public static AzureDevOpsPullRequest AzureDevOpsPullRequestUsingAzurePipelinesOAuthToken( this ICakeContext context) { context.NotNull(nameof(context)); var settings = AzureDevOpsPullRequestSettings.UsingAzurePipelinesOAuthToken(); return(AzureDevOpsPullRequest(context, settings)); }
public static void AzureDevOpsVotePullRequest( this ICakeContext context, AzureDevOpsPullRequestSettings settings, AzureDevOpsPullRequestVote vote) { context.NotNull(nameof(context)); settings.NotNull(nameof(settings)); new AzureDevOpsPullRequest(context.Log, settings, new GitClientFactory()).Vote(vote); }
public void Should_Throw_If_Settings_Are_Null() { // Given AzureDevOpsPullRequestSettings settings = null; // When var result = Record.Exception(() => new AzureDevOpsPullRequestSettings(settings)); // Then result.IsArgumentNullException("settings"); }
public static void AzureDevOpsSetPullRequestStatus( this ICakeContext context, AzureDevOpsPullRequestSettings settings, AzureDevOpsPullRequestStatus status) { context.NotNull(nameof(context)); settings.NotNull(nameof(settings)); status.NotNull(nameof(status)); new AzureDevOpsPullRequest(context.Log, settings, new GitClientFactory()).SetStatus(status); }
public static IEnumerable <AzureDevOpsCommit> AzureDevOpsGetPullRequestCommits( this ICakeContext context, AzureDevOpsPullRequestSettings settings) { context.NotNull(nameof(context)); settings.NotNull(nameof(settings)); return (new AzureDevOpsPullRequest(context.Log, settings, new GitClientFactory()) .GetCommits()); }
public void Should_Set_PullRequestId(int pullRequestId) { // Given var repositoryUrl = new Uri("http://example.com"); var credentials = AuthenticationProvider.AuthenticationNtlm(); // When var result = new AzureDevOpsPullRequestSettings(repositoryUrl, pullRequestId, credentials); // Then result.PullRequestId.ShouldBe(pullRequestId); }
public void Should_Throw_If_System_Access_Token_Env_Var_Is_Not_Set() { // Given Environment.SetEnvironmentVariable("BUILD_REPOSITORY_URI", "http://example.com"); Environment.SetEnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID", "42"); // When var result = Record.Exception(() => AzureDevOpsPullRequestSettings.UsingAzurePipelinesOAuthToken()); // Then result.IsInvalidOperationException(); }
public void Should_Throw_If_Repository_Url_Env_Var_Is_Not_Set() { // Given Environment.SetEnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID", "42"); Environment.SetEnvironmentVariable("SYSTEM_ACCESSTOKEN", "foo"); // When var result = Record.Exception(() => AzureDevOpsPullRequestSettings.UsingAzurePipelinesOAuthToken()); // Then result.IsInvalidOperationException(); }
public static void AzureDevOpsAddCommentToPullRequest( this ICakeContext context, AzureDevOpsPullRequestSettings settings, string comment) { context.NotNull(nameof(context)); settings.NotNull(nameof(settings)); comment.NotNullOrWhiteSpace(nameof(comment)); new AzureDevOpsPullRequest(context.Log, settings, new GitClientFactory()) .CreateComment(comment); }
public void Should_Throw_If_Pull_Request_Id_Env_Var_Is_Not_Set() { // Given Environment.SetEnvironmentVariable("BUILD_REPOSITORY_URI", "http://example.com"); Environment.SetEnvironmentVariable("SYSTEM_ACCESSTOKEN", "foo"); // When var result = Record.Exception(() => AzureDevOpsPullRequestSettings.UsingAzurePipelinesOAuthToken()); // Then result.IsInvalidOperationException(); }
public void Should_Set_Repository_Url() { // Given var repositoryUrl = new Uri("http://example.com"); var sourceBranch = "foo"; var credentials = AuthenticationProvider.AuthenticationNtlm(); // When var result = new AzureDevOpsPullRequestSettings(repositoryUrl, sourceBranch, credentials); // Then result.RepositoryUrl.ShouldBe(repositoryUrl); }
public void Should_Set_SourceRefName() { // Given var repositoryUrl = new Uri("http://example.com"); var sourceRefName = "foo"; var credentials = AuthenticationProvider.AuthenticationNtlm(); // When var result = new AzureDevOpsPullRequestSettings(repositoryUrl, sourceRefName, credentials); // Then result.SourceRefName.ShouldBe(sourceRefName); }
public void Should_Set_Pull_Request_Id() { // Given Environment.SetEnvironmentVariable("BUILD_REPOSITORY_URI", "http://example.com"); Environment.SetEnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID", "42"); Environment.SetEnvironmentVariable("SYSTEM_ACCESSTOKEN", "foo"); // When var settings = AzureDevOpsPullRequestSettings.UsingAzurePipelinesOAuthToken(); // Then settings.PullRequestId.ShouldBe(42); }
public void Should_Set_Pull_Request_Id() { // Given var creds = new AzureDevOpsNtlmCredentials(); Environment.SetEnvironmentVariable("BUILD_REPOSITORY_URI", "http://example.com"); Environment.SetEnvironmentVariable("SYSTEM_PULLREQUEST_PULLREQUESTID", "42"); // When var settings = new AzureDevOpsPullRequestSettings(creds); // Then settings.PullRequestId.ShouldBe(42); }
public static AzureDevOpsPullRequest AzureDevOpsPullRequest( this ICakeContext context, AzureDevOpsPullRequestSettings settings) { context.NotNull(nameof(context)); settings.NotNull(nameof(settings)); var pullRequest = new AzureDevOpsPullRequest(context.Log, settings, new GitClientFactory()); if (pullRequest.HasPullRequestLoaded) { return(pullRequest); } return(null); }
public void Should_Set_ThrowExceptionIfPullRequestCouldNotBeFound(bool value) { // Given var repositoryUrl = new Uri("http://example.com"); var pullRequestId = 41; var credentials = AuthenticationProvider.AuthenticationNtlm(); var settings = new AzureDevOpsPullRequestSettings(repositoryUrl, pullRequestId, credentials) { ThrowExceptionIfPullRequestCouldNotBeFound = value, }; // When var result = new AzureDevOpsPullRequestSettings(settings); // Then result.ThrowExceptionIfPullRequestCouldNotBeFound.ShouldBe(value); }
public static AzureDevOpsPullRequest AzureDevOpsPullRequestUsingAzurePipelinesOAuthToken( this ICakeContext context, bool throwExceptionIfPullRequestCouldNotBeFound) { context.NotNull(nameof(context)); var settings = AzureDevOpsPullRequestSettings.UsingAzurePipelinesOAuthToken(throwExceptionIfPullRequestCouldNotBeFound); if (settings == null) { return(null); } settings.ThrowExceptionIfPullRequestCouldNotBeFound = throwExceptionIfPullRequestCouldNotBeFound; return(AzureDevOpsPullRequest(context, settings)); }
/// <inheritdoc /> public override void SetPullRequestIssuesState(IssuesContext context) { context.NotNull(nameof(context)); #pragma warning disable SA1123 // Do not place regions within elements #region DupFinder Exclusion #pragma warning restore SA1123 // Do not place regions within elements if (string.IsNullOrWhiteSpace(context.EnvironmentVariable("SYSTEM_ACCESSTOKEN"))) { context.Warning("SYSTEM_ACCESSTOKEN environment variable not set. Make sure the 'Allow Scripts to access OAuth token' option is enabled on the build definition."); return; } var pullRequestSettings = new AzureDevOpsPullRequestSettings( context.State.BuildServer.DetermineRepositoryRemoteUrl(context, context.State.RepositoryRootDirectory), context.State.BuildServer.DeterminePullRequestId(context).Value, context.AzureDevOpsAuthenticationOAuth(context.EnvironmentVariable("SYSTEM_ACCESSTOKEN"))); #endregion var pullRequestStatusName = "Issues"; var pullRequestDescriptionIfIssues = $"Found {context.State.Issues.Count()} issues"; var pullRequestDescriptionIfNoIssues = "No issues found"; if (!string.IsNullOrWhiteSpace(context.Parameters.BuildIdentifier)) { pullRequestStatusName += $"-{context.Parameters.BuildIdentifier}"; pullRequestDescriptionIfIssues += $" for build {context.Parameters.BuildIdentifier}"; pullRequestDescriptionIfNoIssues += $" for build {context.Parameters.BuildIdentifier}"; } var pullRequestStatus = new AzureDevOpsPullRequestStatus(pullRequestStatusName) { Genre = "Cake.Issues.Recipe", State = context.State.Issues.Any() ? AzureDevOpsPullRequestStatusState.Failed : AzureDevOpsPullRequestStatusState.Succeeded, Description = context.State.Issues.Any() ? pullRequestDescriptionIfIssues : pullRequestDescriptionIfNoIssues }; context.AzureDevOpsSetPullRequestStatus( pullRequestSettings, pullRequestStatus); }
/// <summary> /// Initializes a new instance of the <see cref="AzureDevOpsPullRequestSystemSettings"/> class /// based on the instance of a <see cref="AzureDevOpsPullRequestSettings"/> class. /// </summary> /// <param name="settings">Settings containing the parameters.</param> public AzureDevOpsPullRequestSystemSettings(AzureDevOpsPullRequestSettings settings) : base(settings) { }