Exemplo n.º 1
0
        public static async Task <string> DownloadAndImportAsync(IVsoConnectionInfo connectionInfo, ILogSink logger, string teamProject, string buildNumber, string buildDefinitionName, IOperationExecutionContext context, string artifactName)
        {
            var downloader = new ArtifactDownloader(connectionInfo, logger);

            using (var artifact = await downloader.DownloadAsync(teamProject, buildNumber, buildDefinitionName, artifactName).ConfigureAwait(false))
            {
                logger.LogInformation("Downloading artifact file from VSO and importing into BuildMaster artifact library...");

                var shim = new BuildMasterContextShim(context);

                await SDK.CreateArtifactAsync(
                    applicationId : shim.ApplicationId,
                    releaseNumber : shim.ReleaseNumber,
                    buildNumber : shim.BuildNumber,
                    deployableId : shim.DeployableId,
                    executionId : null,
                    artifactName : artifact.Name,
                    artifactData : artifact.Content,
                    overwrite : true
                    ).ConfigureAwait(false);

                logger.LogInformation($"{artifact.Name} artifact imported.");

                return(artifact.BuildNumber);
            }
        }
Exemplo n.º 2
0
        public TfsRestApi(IVsoConnectionInfo connectionInfo, ILogger log)
        {
            if (connectionInfo == null)
            {
                throw new ArgumentNullException(nameof(connectionInfo));
            }

            this.connectionInfo = connectionInfo;
            this.log            = log ?? Logger.Null;
        }
Exemplo n.º 3
0
        public ArtifactDownloader(IVsoConnectionInfo connectionInfo, ILogger log)
        {
            if (connectionInfo == null)
            {
                throw new ArgumentNullException(nameof(connectionInfo));
            }
            if (string.IsNullOrEmpty(connectionInfo.TeamProjectCollectionUrl))
            {
                throw new InvalidOperationException("The base URL property of the TFS credentials or the Url property of the Import/Download VSO Artifact operation must be set.");
            }

            this.connectionInfo = connectionInfo;
            this.logger         = log ?? Logger.Null;
        }
Exemplo n.º 4
0
 public TfsRestApi(IVsoConnectionInfo connectionInfo, ILogger log)
 {
     this.connectionInfo = connectionInfo ?? throw new ArgumentNullException(nameof(connectionInfo));
     this.log            = log;
 }