示例#1
0
        /// <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.");
            }
        }
示例#2
0
        /// <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;
        }
示例#3
0
        /// <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)));
        }