Пример #1
0
        public async Task HandleAsync(WebHookModel model, string wwwroot)
        {
            var buildStatusUrl   = $"{_options.CloudUrl}{model.Links.Api_Self.Href}";
            var buildStatusModel = await _buildStatusService.GetBuildStatusModelAsync(buildStatusUrl, _options.ApiKey);

            var downloadUrl = $"{buildStatusModel.Links.Download_Primary.Href}";

            using (var stream = await _downloadService.DownloadAsStreamAsync(downloadUrl))
            {
                var zipDirectory = GetZipDirectory(wwwroot);

                if (!Directory.Exists(zipDirectory))
                {
                    Directory.CreateDirectory(zipDirectory);
                }

                var path = Path.Combine(zipDirectory, $"{buildStatusModel.Build}.zip");

                SaveZipFile(stream, path);
                UnzipFileToWwwRoot(path, wwwroot);
            }
        }