public async Task <AnalysisResult> Run(string firstCommit, string lastCommit) { var solution = await _solutionProvider.GetSolution(); var modifiedDocumentsNames = await _commitScanner.GetModifiedDocuments(firstCommit, lastCommit); var documentsAffected = solution.Projects.SelectMany(p => p.Documents) .Where(doc => modifiedDocumentsNames.Any(m => doc.FilePath.Contains(m))); var usages = await _analyzer.FindAffectedEndpoints(documentsAffected, solution); return(new AnalysisResult() { CompletedAt = DateTime.UtcNow, AffectedEndpoints = usages.ToArray(), }); }