public HeuristicResult findResponsibleUser()

in src/main/java/jetbrains/buildServer/investigationsAutoAssigner/heuristics/BrokenFileHeuristic.java [46:67]


  public HeuristicResult findResponsibleUser(@NotNull HeuristicContext heuristicContext) {
    final HeuristicResult emptyResult = new HeuristicResult();
    SBuild sBuild = heuristicContext.getBuild();

    final BuildPromotion buildPromotion = sBuild.getBuildPromotion();
    if (!(buildPromotion instanceof BuildPromotionEx)) return emptyResult;

    SelectPrevBuildPolicy prevBuildPolicy = SelectPrevBuildPolicy.SINCE_LAST_BUILD;
    List<SVcsModification> vcsChanges = ((BuildPromotionEx)buildPromotion).getDetectedChanges(prevBuildPolicy, false)
                                                                          .stream()
                                                                          .map(ChangeDescriptor::getRelatedVcsChange)
                                                                          .filter(Objects::nonNull)
                                                                          .collect(Collectors.toList());
    try {
      return processTestsAndBuildProblems(heuristicContext, vcsChanges);

    } catch (HeuristicNotApplicableException ex) {
      LOGGER.debug("Heuristic \"BrokenFile\" is ignored as " + ex.getMessage() + ". Build: " +
                   LogUtil.describe(heuristicContext.getBuild()));
      return emptyResult;
    }
  }