问题描述
我对项目进行了一些更改,并使用JGit提交了它们,我正在Gitlab上工作!通常,当我们手动执行此操作时,Gitlab会在存储库顶部生成一个弹出窗口,用于请求创建合并请求。我使用Gitlab4J克隆了我的存储库,我注意到还有一个用于合并请求的API,有人知道如何使用它吗?
解决方法
我想出了办法,这是代码片段:
GITLAB.getMergeRequestApi().createMergeRequest(
projectIdOrPath,sourceBranch,targetBranch,title,description,assigneeId)
如果您想使用本地存储库恢复projectIdOrPath
,则可以添加使用JGit和Gitlab4J ProjectApi的以下代码段:
private Project getProject(Git localRepo) throws GitLabApiException {
return GITLAB.getProjectApi().getProjects().parallelStream()
.filter(p -> p.getHttpUrlToRepo()
.equals(localRepo.getRepository().getConfig().getString("remote","origin","url")))
.findAny().orElse(null);
}
对于assigneeId
,您可以使用以下代码片段获取该代码片段,该代码片段使用批准者的用户名:
GITLAB.getUserApi().getUser(approver).getId()