public String getSourceRepository() { if (builder.getTrigger().getUseHttpUrl()) { return sourceProject.getHttpUrl(); } else { return sourceProject.getSshUrl(); } }
public Optional<GitLabIssue> getIssue(String projectName, Integer matchedIssue) throws GitChangelogIntegrationException { GitlabAPI gitLabApi = GitlabAPI.connect(hostUrl, apiToken); GitlabProject project; try { project = gitLabApi.getProject(projectName); } catch (Exception e) { throw new GitChangelogIntegrationException( "Unable to find project \"" + projectName + "\". It should be \"tomas.bjerre85/violations-test\" for a repo like: https://gitlab.com/tomas.bjerre85/violations-test", e); } Integer projectId = project.getId(); String httpUrl = project.getHttpUrl(); try { List<GitlabIssue> issues = cache.get(new GitLabProjectIssuesCacheKey(hostUrl, apiToken, projectId)); for (GitlabIssue candidate : issues) { if (candidate.getIid() == matchedIssue) { return Optional.of(createGitLabIssue(httpUrl, candidate)); } } return Optional.absent(); } catch (Exception e) { throw new GitChangelogIntegrationException(e.getMessage(), e); } }
public Optional<GitlabProject> resolveProject(ProjectState projectState, GitRemote remote, GitRepository repository) { String remoteProjectName = remote.getName(); String remoteUrl = remote.getFirstUrl(); if(projectState.getProjectId(remoteUrl) == null) { try { Collection<GitlabProject> projects = settingsState.api(repository).getProjects(); for (GitlabProject gitlabProject : projects) { if (gitlabProject.getName().toLowerCase().equals(remoteProjectName.toLowerCase()) || urlMatch(remoteUrl, gitlabProject.getSshUrl()) || urlMatch(remoteUrl, gitlabProject.getHttpUrl())) { Integer projectId = gitlabProject.getId(); projectState.setProjectId(remoteUrl, projectId); return Optional.of(gitlabProject); } } } catch (Throwable throwable) { throw new GitLabException("Cannot match project.", throwable); } } else { try { return Optional.of(settingsState.api(repository).getProject(projectState.getProjectId(remoteUrl))); } catch (Exception e) { projectState.setProjectId(remoteUrl, null); } } return Optional.empty(); }
public Collection<ProjectDto> loadProjects(GitlabServer server) throws Throwable { ApiFacade apiFacade = api(server); Collection<ProjectDto> projects = getProjects(); if(projects == null) { projects = new ArrayList<>(); } for (GitlabProject gitlabProject : apiFacade.getProjects()) { ProjectDto projectDto = new ProjectDto(); projectDto.setName(gitlabProject.getName()); projectDto.setNamespace(gitlabProject.getNamespace().getName()); projectDto.setHttpUrl(gitlabProject.getHttpUrl()); projectDto.setSshUrl(gitlabProject.getSshUrl()); projects.add(projectDto); } this.setProjects(projects); return projects; }
final String remoteUrl = authSsh ? gitlabProject.getSshUrl() : gitlabProject.getHttpUrl();