如何使用Gitlab4J创建合并请求?

时间:2020-10-26 11:48:17

标签: java gitlab gitlab-api

我对项目进行了一些更改,并使用JGit提交了它们,我正在Gitlab上工作!通常,当我们手动执行此操作时,Gitlab会在存储库顶部生成一个弹出窗口,用于请求创建合并请求。我使用Gitlab4J克隆了我的存储库,我注意到还有一个用于合并请求的API,有人知道如何使用它吗?

1 个答案:

答案 0 :(得分:0)

我想出了办法,这是代码片段:

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()