/// <summary> /// You need to put this activity in a different agent that write the diagnostics log that you want to change. /// </summary> /// <param name="context"></param> protected override void Execute(CodeActivityContext context) { Thread.Sleep(30000); var findAndReplace = context.GetValue(FindAndReplaceStrings); _teamProjectUri = context.GetValue(TeamProjectUri); _buildUri = context.GetValue(BuildUri); var vssCredential = new VssCredentials(true); _fcClient = new FileContainerHttpClient(_teamProjectUri, vssCredential); var containers = _fcClient.QueryContainersAsync(new List<Uri>() { _buildUri }).Result; if (!containers.Any()) return; var agentLogs = GetAgentLogs(containers); if (agentLogs == null) return; using (var handler = new HttpClientHandler() { UseDefaultCredentials = true }) { var reader = DownloadAgentLog(agentLogs, handler); using (var ms = new MemoryStream()) { ReplaceStrings(findAndReplace, reader, ms); var response = UploadDocument(containers, agentLogs, ms); } } }