public TestableJobStatusReportingHelper(VstsMessage vstsMessage, ILogger traceLogger, ITaskClient mockTaskHttpClient, IReleaseClient releaseClient, MockBuildClient mockBuildClient, string timeLineRecordName = null)
     : base(vstsMessage, traceLogger, timeLineRecordName)
 {
     this.mockTaskHttpClient = mockTaskHttpClient;
     this.releaseClient      = releaseClient;
     this.mockBuildClient    = mockBuildClient;
 }
예제 #2
0
 public TestableServiceBusQueueMessageHandler(IServiceBusQueueMessageListener serviceBusQueueMessageListener, IVstsScheduleHandler <TestVstsMessage> handler, ServiceBusQueueMessageHandlerSettings settings, ILogger logger, ITaskClient taskClient, IBuildClient buildClient, IJobStatusReportingHelper jobStatusReportingHelper, IReleaseClient releaseClient)
     : base(serviceBusQueueMessageListener, handler, settings, logger)
 {
     this.taskClient               = taskClient;
     this.buildClient              = buildClient;
     this.releaseClient            = releaseClient;
     this.jobStatusReportingHelper = jobStatusReportingHelper;
 }
 public VstsArtifactsHelper(IBuildClient buildClient, IReleaseClient releaseClient, IGitClient gitClient, Guid projectId, string repoName)
 {
     this.buildClient   = buildClient;
     this.releaseClient = releaseClient;
     this.gitClient     = gitClient;
     this.projectId     = projectId;
     this.repoName      = repoName;
 }
예제 #4
0
 public ReleasesController(ILogger <ReleasesController> logger,
                           IReleaseClient releaseClient,
                           IMapper mapper)
 {
     _logger        = logger;
     _mapper        = mapper;
     _releaseClient = releaseClient;
 }
        public static async Task <bool> IsReleaseValid(IReleaseClient releaseClient, Guid projectId, int releaseId, CancellationToken cancellationToken)
        {
            try
            {
                var release = await releaseClient.GetReleaseAsync(projectId, releaseId, cancellationToken).ConfigureAwait(false);

                if (release != null && release.Status == ReleaseStatus.Active)
                {
                    return(true);
                }
            }
            catch (VssServiceException ex)
            {
                if (!ex.Message.Contains("does not exist"))
                {
                    throw;
                }
            }

            return(false);
        }
예제 #6
0
        internal static async Task <bool> IsSessionValid(VstsMessage vstsMessage, IBuildClient buildClient, IReleaseClient releaseClient, CancellationToken cancellationToken)
        {
            var projectId = vstsMessage.ProjectId;

            if (vstsMessage.VstsHub == HubType.Build)
            {
                var buildId = vstsMessage.BuildProperties.BuildId;
                return(await BuildClient.IsBuildValid(buildClient, projectId, buildId, cancellationToken).ConfigureAwait(false));
            }

            if (vstsMessage.VstsHub == HubType.Release)
            {
                var releaseId = vstsMessage.ReleaseProperties.ReleaseId;
                return(await ReleaseClient.IsReleaseValid(releaseClient, projectId, releaseId, cancellationToken).ConfigureAwait(false));
            }

            throw new NotSupportedException(string.Format("VstsHub {0} is not supported", vstsMessage.VstsHub));
        }
 public ReleaseService(IReleaseClient _releaseClient)
 {
     releaseClient = _releaseClient;
 }
예제 #8
0
 public AppGetUpdateService(IReleaseClient releaseClient, Lazy <IInstallService> installService, Logger logger)
 {
     _releaseClient  = releaseClient;
     _installService = installService;
     _logger         = logger;
 }