Ejemplo n.º 1
0
        public void Handle(VSTSRelease_v1 vstsRelease)
        {
            var client = new VstsClient
            {
                Connection = new VstsConnection
                {
                    Account  = vstsRelease.Account,
                    Project  = vstsRelease.Project,
                    UserName = vstsRelease.UserName,
                    Password = vstsRelease.Password,
                }
            };

            if (vstsRelease.DefinitionId == null)
            {
                var definition = client.GetReleaseDefinitionAsync(vstsRelease.ReleaseDefinitionName).Result;

                vstsRelease.DefinitionId = definition.Id;
            }

            var latestRelease = client.GetLatestReleaseAsync(vstsRelease.DefinitionId.Value).Result;

            var releaseDetails = client.GetReleaseDetailsAsync(latestRelease.Id).Result;

            RemoveEnvironments(vstsRelease, releaseDetails);

            AddEnvironments(vstsRelease, releaseDetails);
        }
Ejemplo n.º 2
0
        public async Task Handle(HealthCheckRequest <VSTSRelease_v1> request, CancellationToken cancellationToken)
        {
            var client = new VstsClient(new VstsConnection());

            request.DataContext.MapTo(client.Connection);

            if (request.DataContext.DefinitionId == null)
            {
                var definition = await client.GetReleaseDefinitionAsync(request.DataContext.ReleaseDefinitionName)
                                 .ConfigureAwait(false);

                request.DataContext.DefinitionId = definition.Id;
            }

            var latestRelease = await client.GetLatestReleaseAsync(request.DataContext.DefinitionId.Value)
                                .ConfigureAwait(false);

            var releaseDetails = await client.GetReleaseDetailsAsync(latestRelease.Id)
                                 .ConfigureAwait(false);

            RemoveEnvironments(request.DataContext, releaseDetails);

            AddEnvironments(request.DataContext, releaseDetails);
        }