/// <summary> /// Returns the <see cref="VssCredentials"/> corresponding to a <see cref="IPrcaCredentials"/> object. /// </summary> /// <param name="credentials"><see cref="IPrcaCredentials"/> credential instance.</param> /// <returns><see cref="VssCredentials"/> instance.</returns> public static VssCredentials ToVssCredentials(this IPrcaCredentials credentials) { credentials.NotNull(nameof(credentials)); switch (credentials.GetType().Name) { case nameof(TfsNtlmCredentials): return(new VssCredentials()); case nameof(TfsBasicCredentials): var basicCredentials = (TfsBasicCredentials)credentials; return(new VssBasicCredential(basicCredentials.UserName, basicCredentials.Password)); case nameof(TfsOAuthCredentials): var oAuthCredentials = (TfsOAuthCredentials)credentials; return(new VssOAuthAccessTokenCredential(oAuthCredentials.AccessToken)); case nameof(TfsAadCredentials): var aadCredentials = (TfsAadCredentials)credentials; return(new VssAadCredential(aadCredentials.UserName, aadCredentials.Password)); default: throw new PrcaException("Unknown credential type."); } }
/// <summary> /// Initializes a new instance of the <see cref="TfsPullRequestSettings"/> class. /// </summary> /// <param name="repositoryUrl">Full URL of the Git repository, /// eg. <code>http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository</code>. /// Supported URL schemes are HTTP, HTTPS and SSH. /// URLs using SSH scheme are converted to HTTPS.</param> /// <param name="pullRequestId">ID of the pull request.</param> /// <param name="credentials">Credentials to use to authenticate against Team Foundation Server or /// Visual Studio Team Services.</param> public TfsPullRequestSettings(Uri repositoryUrl, int pullRequestId, IPrcaCredentials credentials) { repositoryUrl.NotNull(nameof(repositoryUrl)); credentials.NotNull(nameof(credentials)); this.RepositoryUrl = repositoryUrl; this.PullRequestId = pullRequestId; this.Credentials = credentials; }
/// <summary> /// Initializes a new instance of the <see cref="TfsPullRequestSettings"/> class. /// </summary> /// <param name="repositoryUrl">Full URL of the Git repository, /// eg. <code>http://myserver:8080/tfs/defaultcollection/myproject/_git/myrepository</code>. /// Supported URL schemes are HTTP, HTTPS and SSH. /// URLs using SSH scheme are converted to HTTPS.</param> /// <param name="sourceBranch">Branch for which the pull request is made.</param> /// <param name="credentials">Credentials to use to authenticate against Team Foundation Server or /// Visual Studio Team Services.</param> public TfsPullRequestSettings(Uri repositoryUrl, string sourceBranch, IPrcaCredentials credentials) { repositoryUrl.NotNull(nameof(repositoryUrl)); sourceBranch.NotNullOrWhiteSpace(nameof(sourceBranch)); credentials.NotNull(nameof(credentials)); this.RepositoryUrl = repositoryUrl; this.SourceBranch = sourceBranch; this.Credentials = credentials; }
public static IPullRequestSystem TfsPullRequests( this ICakeContext context, Uri repositoryUrl, int pullRequestId, IPrcaCredentials credentials) { context.NotNull(nameof(context)); repositoryUrl.NotNull(nameof(repositoryUrl)); credentials.NotNull(nameof(credentials)); return(context.TfsPullRequests(new TfsPullRequestSettings(repositoryUrl, pullRequestId, credentials))); }
public static IPullRequestSystem TfsPullRequests( this ICakeContext context, Uri repositoryUrl, string sourceBranch, IPrcaCredentials credentials) { context.NotNull(nameof(context)); repositoryUrl.NotNull(nameof(repositoryUrl)); sourceBranch.NotNullOrWhiteSpace(nameof(sourceBranch)); credentials.NotNull(nameof(credentials)); return(context.TfsPullRequests(new TfsPullRequestSettings(repositoryUrl, sourceBranch, credentials))); }