python gitlab api 合并请求失败,出现 gitlab.execeptions.GitlabMRClosedError 405

Posted

技术标签:

【中文标题】python gitlab api 合并请求失败,出现 gitlab.execeptions.GitlabMRClosedError 405【英文标题】:python gitlab api merge request fails with gitlab.execeptions.GitlabMRClosedError 405 【发布时间】:2021-10-27 11:00:45 【问题描述】:

我已经完成了创建分支、发出合并请求、提交和合并请求的所有设置,但在最后一步似乎失败了。提交通过 gitlab,但合并请求失败,标题异常。

以下示例;

import gitlab
gl = gitlab.Gitlab.from_config()
project = gl.projects.get(...)
branch = project.branches.create(...)

mr_data = dict(source_branch=branch.name, target_branch='master', title='title')
merge_request = project.mergerequests.create(mr_data)
action = dict(action='create', file_path='test.txt', content='test')
data = dict(branch=branch.name, commit_message='test', actions=[action])
commit = project.commits.create(data)

merge_request.merge()    <<< fails here

奇怪的是,当我稍后尝试从控制台合并请求时,它合并得很好。有什么想法可能是这里的问题吗?

【问题讨论】:

【参考方案1】:

最后,这似乎是gitlab服务器跟不上python脚本。只需在提交和合并之间添加 time.sleep(1) 似乎就可以解决问题。

【讨论】:

以上是关于python gitlab api 合并请求失败,出现 gitlab.execeptions.GitlabMRClosedError 405的主要内容,如果未能解决你的问题,请参考以下文章

在 GitLab 中创建合并请求失败

为啥我在 Gitlab 合并请求中收到“由于未验证用户而导致管道失败”和“分离的合并请求管道”?

使用 Gitlab API 命令合并合并请求

在项目中搜索来自 Gitlab API 的多个用户 ID 的合并请求

创建新的合并请求线程时引用的 GitLab line_code 是啥

为 GitLab 编写脚本以自动合并合并请求