private Vertex getOrCreateIssue(final String project, final Issue issue) { final String issueId = project + ":" + issue.getNumber(); return getOrCreateVertexHelper(IdCols.ISSUE, issueId, VertexType.ISSUE, issueidx); }
public List<Comment> getIssueComments(final IRepositoryIdProvider repo, final Issue issue) { return getComments(repo, issue.getNumber()); }
public Collection<IssueEvent> getIssueEvents(final IRepositoryIdProvider repo, final Issue issue) { Collection<IssueEvent> events = null; try { events = service.getIssueEvents(repo, issue); } catch (IOException e) { log.error("Exception fetching events for issue {}:{}", new Object[]{repo.generateId(), issue.getNumber(), e}); } return events; } }
/** * Edit issue * * @param repoId * @param repository * @param issue * @return created issue * @throws IOException */ private Issue editIssue(String repoId, Issue issue) throws IOException { if (issue == null) throw new IllegalArgumentException("Issue cannot be null"); //$NON-NLS-1$ StringBuilder uri = new StringBuilder(SEGMENT_REPOS); uri.append('/').append(repoId); uri.append(SEGMENT_ISSUES); uri.append('/').append(issue.getNumber()); Map<Object, Object> params = createIssueMap(issue, false); String state = issue.getState(); if (state != null) params.put(FILTER_STATE, state); return client.post(uri.toString(), params, Issue.class); }
private Vertex getOrCreateIssue(final Repository repo, final Issue issue) { final String issueId = repo.generateId() + ":" + issue.getNumber(); return getOrCreateVertexHelper(IdCols.ISSUE, issueId, VertexType.ISSUE, issueidx); }
/** * {@link #saveRepositoryIssues(String, Collection)} modified for v3 api * * @param repo * @param issues * @return */ public Map<String, Vertex> saveRepositoryIssues( final Repository repo, final Collection<Issue> issues) { final Vertex proj = getOrCreateRepository(repo); final HashMap<String,Vertex> mapper = new HashMap<String,Vertex>(); for (Issue issue : issues) { String issueId = repo.generateId() + ":" + issue.getNumber(); Vertex issuenode = saveIssue(repo, issue); createEdgeIfNotExist(null, proj, issuenode, EdgeType.ISSUE); mapper.put(issueId, issuenode); } return mapper; }
String issueId = repo.generateId() + ":" + issue.getNumber(); if (!needsUpdate(savedIssues.get(issue.getNumber()), true)) { log.debug("Skipping fetching comments for issue {} - recently updated {}", issueId, savedIssues.get(issue.getNumber())); continue; log.debug("Pulling comments for issue: {} - last update: {}", issueId, savedIssues.get(issue.getNumber())); try { String issueId = repo.generateId() + ":" + issue.getNumber(); if (!needsUpdate(savedIssues.get(issue.getNumber()), true)) { log.debug("Skipping fetching events for issue {} - recently updated - {}", new Object[]{issueId, savedIssues.get(issue.getNumber())}); continue; } else { log.warn("issue {} - last updated: {}", issue.getNumber(), savedIssues.get(issue.getNumber())); log.debug("Pulling events for issue: {} - {}", new Object[]{issueId, savedIssues.get(issue.getNumber())}); try { Collection<IssueEvent> evts = imv3.getIssueEvents(repo, issue);
@Override public ExecutionDecision resolve() { Validate.notNull(gitHubIssue, "GitHub issue must be specified."); Validate.notNull(annotation, "Annotation must be specified."); // Execute test if detector failed because GitHub issue is not related to specified environment. if (!(new DetectorProcessor().process(annotation))) { return ExecutionDecision.execute(); } final String gitHubStatus = gitHubIssue.getState(); if (gitHubStatus == null || gitHubStatus.length() == 0) { return ExecutionDecision.execute(); } if (annotation.force()) { return ExecutionDecision.execute(FORCING_EXECUTION_REASON_STRING); } if (gitHubGovernorConfiguration.getForce()) { return ExecutionDecision.execute(FORCING_EXECUTION_REASON_STRING); } if (gitHubStatus.equals(GITHUB_CLOSED_STRING)) { return ExecutionDecision.execute(); } return ExecutionDecision.dontExecute(String.format(SKIPPING_EXECUTION_REASON_STRING, gitHubIssue.getNumber(), gitHubStatus)); }
boolean isNewIssue = true; if (duplicate != null) { issueService.createComment(repoID, duplicate.getNumber(), generateGitHubIssueBody(environmentDetails, false)); newGibHubIssue = duplicate; isNewIssue = false; final long id = newGibHubIssue.getNumber(); final String htmlUrl = newGibHubIssue.getHtmlUrl(); final String message = ErrorReportBundle.message(isNewIssue ? "git.issue.text" : "git.issue.duplicate.text", htmlUrl, id);
setProperty(issuenode, PropertyName.NUMBER, issue.getNumber());