/*package*/ static Collection<String> toNames(Collection<GHLabel> labels) { List<String> r = new ArrayList<String>(); for (GHLabel l : labels) { r.add(l.getName()); } return r; } }
/*package*/ static Collection<String> toNames(Collection<GHLabel> labels) { List<String> r = new ArrayList<String>(); for (GHLabel l : labels) { r.add(l.getName()); } return r; } }
private void updateLabels(Collection<GHLabel> labels) { this.labels = new HashSet<>(); for (GHLabel label : labels) { this.labels.add(label.getName()); } }
public static boolean hasLabel(Collection<GHLabel> labels, String label) { if (labels != null) { for (GHLabel ghLabel : labels) { if (Objects.equal(label, ghLabel.getName())) { return true; } } } return false; }
public static boolean hasLabel(Collection<GHLabel> labels, String label) { if (labels != null) { for (GHLabel ghLabel : labels) { if (Objects.equal(label, ghLabel.getName())) { return true; } } } return false; }
private void _addLabels(Collection<String> names) throws IOException { List<String> newLabels = new ArrayList<String>(); for (GHLabel label : getLabels()) { newLabels.add(label.getName()); } for (String name : names) { if (!newLabels.contains(name)) { newLabels.add(name); } } setLabels(newLabels.toArray(new String[0])); }
private void checkBlackListLabels() { Set<String> labelsToIgnore = helper.getBlackListLabels(); if (labelsToIgnore != null && !labelsToIgnore.isEmpty()) { try { for (GHLabel label : pr.getLabels()) { if (labelsToIgnore.contains(label.getName())) { LOGGER.log(Level.INFO, "Found label {0} in ignore list, pull request will be ignored.", label.getName()); shouldRun = false; } } } catch (Error e) { LOGGER.log(Level.SEVERE, "Failed to read blacklist labels", e); } catch (IOException e) { LOGGER.log(Level.SEVERE, "Failed to read blacklist labels", e); } } }
/** * Returns issue label for release notes. * @param issue issue. * @return issue label for release notes * @throws IOException if an I/o error occurs. */ private static String getIssueLabelFrom(GHIssue issue) throws IOException { final Collection<GHLabel> issueLabels = issue.getLabels(); final Optional<GHLabel> label = issueLabels.stream() .filter(input -> Arrays.binarySearch(Constants.ISSUE_LABELS, input.getName()) >= 0) .findFirst(); return label.map(GHLabel::getName).orElse(""); } }
private void _addLabels(Collection<String> names) throws IOException { List<String> newLabels = new ArrayList<String>(); for (GHLabel label : getLabels()) { newLabels.add(label.getName()); } for (String name : names) { if (!newLabels.contains(name)) { newLabels.add(name); } } setLabels(newLabels.toArray(new String[0])); }
private void checkWhiteListLabels() { Set<String> labelsMustContain = helper.getWhiteListLabels(); if (labelsMustContain != null && !labelsMustContain.isEmpty()) { boolean containsWhiteListLabel = false; try { for (GHLabel label : pr.getLabels()) { if (labelsMustContain.contains(label.getName())) { LOGGER.log(Level.INFO, "Found label {0} in whitelist", label.getName()); containsWhiteListLabel = true; } } if (!containsWhiteListLabel) { LOGGER.log(Level.INFO, "Can't find any of whitelist label."); shouldRun = false; } } catch (Error e) { LOGGER.log(Level.SEVERE, "Failed to read whitelist labels", e); } catch (IOException e) { LOGGER.log(Level.SEVERE, "Failed to read whitelist labels", e); } } }
@Override public GitHubPRCause check(@Nonnull GitHubPRDecisionContext prDecisionContext) throws IOException { TaskListener listener = prDecisionContext.getListener(); GHPullRequest remotePR = prDecisionContext.getRemotePR(); final PrintStream logger = listener.getLogger(); for (GHLabel ghLabel : remotePR.getRepository().getIssue(remotePR.getNumber()).getLabels()) { for (String labelPatternStr : label.getLabelsSet()) { Pattern labelPattern = Pattern.compile(labelPatternStr); if (labelPattern.matcher(ghLabel.getName()).matches()) { logger.println(DISPLAY_NAME + ": Pull request has label: " + labelPatternStr); LOGGER.info("Pull request has '{}' label.", labelPatternStr); return prDecisionContext.newCause("PR has label: " + labelPatternStr, isSkip()); } } } return null; }
@Override public GitHubPRCause check(@Nonnull GitHubPRDecisionContext prDecisionContext) throws IOException { TaskListener listener = prDecisionContext.getListener(); GHPullRequest remotePR = prDecisionContext.getRemotePR(); if (remotePR.getState().equals(GHIssueState.CLOSED)) { return null; // already closed, skip check? } GitHubPRCause cause = null; Collection<GHLabel> remoteLabels = remotePR.getRepository().getIssue(remotePR.getNumber()).getLabels(); Set<String> existingLabels = new HashSet<>(); for (GHLabel ghLabel : remoteLabels) { existingLabels.add(ghLabel.getName()); } existingLabels.retainAll(label.getLabelsSet()); if (existingLabels.isEmpty()) { final PrintStream logger = listener.getLogger(); LOG.debug("{}:{} not found", DISPLAY_NAME, label.getLabelsSet()); logger.println(DISPLAY_NAME + ": " + label.getLabelsSet() + " not found"); cause = prDecisionContext.newCause(label.getLabelsSet() + " labels not exist", isSkip()); } return cause; }
@Override public GitHubPRCause check(@Nonnull GitHubPRDecisionContext prDecisionContext) throws IOException { TaskListener listener = prDecisionContext.getListener(); GHPullRequest remotePR = prDecisionContext.getRemotePR(); if (remotePR.getState().equals(GHIssueState.CLOSED)) { return null; // already closed, skip check? } GitHubPRCause cause = null; Collection<GHLabel> remoteLabels = remotePR.getRepository().getIssue(remotePR.getNumber()).getLabels(); Set<String> existingLabels = new HashSet<>(); for (GHLabel ghLabel : remoteLabels) { existingLabels.add(ghLabel.getName()); } if (existingLabels.containsAll(label.getLabelsSet())) { final PrintStream logger = listener.getLogger(); logger.println(DISPLAY_NAME + ": " + label.getLabelsSet() + " found"); cause = prDecisionContext.newCause(label.getLabelsSet() + " labels exist", isSkip()); } return cause; }
@Override public GitHubPRCause check(@Nonnull GitHubPRDecisionContext prDecisionContext) throws IOException { TaskListener listener = prDecisionContext.getListener(); GitHubPRPullRequest localPR = prDecisionContext.getLocalPR(); GHPullRequest remotePR = prDecisionContext.getRemotePR(); if (remotePR.getState().equals(GHIssueState.CLOSED)) { return null; // already closed, skip check? } if (isNull(label)) { LOG.error("Label is null. Bad configured event: {}", getDescriptor().getDisplayName()); throw new IllegalStateException("Label is null. Bad configured event: " + getDescriptor().getDisplayName()); } //localPR exists before, checking for changes if (localPR != null && localPR.getLabels().containsAll(label.getLabelsSet())) { return null; // label existed before exiting } GitHubPRCause cause = null; Collection<GHLabel> labels = remotePR.getRepository().getIssue(remotePR.getNumber()).getLabels(); Set<String> existingLabels = new HashSet<String>(); for (GHLabel curLabel : labels) { existingLabels.add(curLabel.getName()); } if (existingLabels.containsAll(label.getLabelsSet())) { final PrintStream logger = listener.getLogger(); logger.println(DISPLAY_NAME + ": state has changed (" + label.getLabelsSet() + " labels were added"); cause = prDecisionContext.newCause(label.getLabelsSet() + " labels were added", false); } return cause; }
for (GHLabel remoteLabel : labels) { for (String checkedLabel : label.getLabelsSet()) { if (checkedLabel.equals(remoteLabel.getName())) { hasRemote = true; break;