예제 #1
0
        private void DownloadBuild(CloudBuildPayload payload)
        {
            string url = payload.links.artifacts[0].files[0].href;

            Artifact.File file     = payload.links.artifacts[0].files[0];
            string        fileName = Program.configuration.buildLocation + "/" + payload.buildNumber + "-" + file.filename;

            if (!Directory.Exists(Program.configuration.buildLocation))
            {
                Directory.CreateDirectory(Program.configuration.buildLocation);
            }

            using (WebClient client = new WebClient())
            {
                client.DownloadFile(url, fileName);
            }

            Console.WriteLine("Download complete!");

            if (postProcessCallbacks.Count != 0)
            {
                Console.WriteLine("Executing Post Process Callbacks");
                foreach (var callback in postProcessCallbacks)
                {
                    callback.Invoke(fileName, payload);
                }
            }
        }
예제 #2
0
        public void ProcessBuild(string json)
        {
            CloudBuildPayload payload = JsonConvert.DeserializeObject <CloudBuildPayload>(json);

            Console.WriteLine(string.Format("Downloading File: {0}\nBuild Number {1}", payload.buildTargetName, payload.buildNumber));
            DownloadBuild(payload);
        }