java - 如何使用 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()
推荐阅读
- angular - 如何仅使用 Angular Material 使我的应用程序响应?
- javascript - 使用 document.querySelector 应用样式
- javascript - 使用 MySQL 在 Node.js 中实现 async/await 和 Promise
- ruby-on-rails - 引用两个模型的模型的 Rails 迁移
- ajax - Ajax post call 似乎工作,仍然抛出错误?
- javascript - 如何使用 javascript 修复 div 元素内的鼠标指针?
- opencv - 在 OpenCv 中使用 SolvePnP 时的断言错误
- c# - Newtonsoft.Json System.InvalidOperationException:不允许同步操作
- sql - 查找给定课程的所有先决条件
- python - 在 django 调试模式下,浏览器中未显示的正确 url 列表