private static VSOCodePushed CreateVSOCodePushedRequest(string commitId, string commitDate) { var push = new VSOCodePushed() { Resource = new GitPush() { Commits = new GitCommit[] { new GitCommit() { CommitId = commitId, Committer = new GitUserDate() { Date = DateTime.ParseExact(commitDate, "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'", CultureInfo.InvariantCulture), Email = "*****@*****.**" } } }, Repository = new GitRepository() { Id = new Guid("0ad49569-db8b-4a8a-b5cc-f7ff009949c8") } } }; return(push); }
/// <summary> /// Processes a push message by copying files from Git to a destination repository. /// Reports any errors and successfully copied files. /// </summary> /// <param name="data">The deserialized push message</param> /// <returns></returns> public async Task <IHttpActionResult> PostAsync(VSOCodePushed data, CancellationToken token) { _parameters = new HeaderParameters(Request.Headers, HEADER_ROOT, HEADER_SOURCE_CONNECTIONSTRING, HEADER_DESTINATION_CONNECTIONSTRING); if (!_parameters.AnyMissing) { var request = JsonConvert.SerializeObject(data, Formatting.Indented); _errorReport.Request = request; _changesReport.Request = request; _pushEvent = data; _token = token; var result = await HandleSynchronizePushAsync(); await SendExceptionReportAsync(); await SendChangesReportAsync(); return(result); } else { return(BadRequest("Missing headers")); } }