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

问题描述

我对项目进行了一些更改,并使用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()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...