没有具有开发人员级别访问权限的 "accept merge request" 按钮

No "accept merge request" button with developer level access

尽管具有 "Developer" 级别访问权限,但我在 gitlab 中没有看到 "Accept Merge Request" 按钮。取而代之的是这条消息:

Ready to be merged automatically

Ask someone with write access to this repository to merge this request.

根据文档,具有 "Developer" 访问权限的用户可以 "manage merge requests",但在这种情况下这似乎不可能。我有两个 "Developer" 级别的用户看到了这个问题,其中一个用户首先将项目推送到 gitlab 实例。我假设他必须有写入权限?

版本信息如下

GitLab 7.14.3
GitLab Shell 2.6.5
GitLab API v3
Ruby 2.1.6p336
Rails 4.1.11 

如果需要更多信息,请告诉我。

开发者可以接受合并请求。但是,这也取决于项目的配置方式。

开发者可以在以下情况下接受合并请求:

  1. 合并目标不是受保护的分支。
  2. 合并目标是受保护的分支,如果 owner/maintainer 已选中受保护分支设置上的 'Developers can push' 复选框。

如果开发人员看到您描述的消息,可能是因为分支受保护并且 'Developers can push' 框未选中。

来自 Gitlab 文档:“...如果您设置特定的批准者,则只有他们才能批准合并请求。如果您不这样做,任何拥有开发者权限或更高权限的人都可以批准合并请求..."

因此,也许该项目有特定的批准人。

https://about.gitlab.com/2015/07/29/feature-highlight-merge-request-approvals/

此功能应该在 gitlab >=8.1 的版本中可用,其中除了 'developer can push'

之外还有一个额外的 "developer can merge" flag/checkbox

https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4892

有了这个,您可以保护分支(通过取消选中 'developer can push')并允许开发人员合并(通过选中 'developer can merge')

如前所述,默认情况下不允许合并开发人员角色。

因此,更改 Settings > Repository > Protected Branches > Protected branch table 其中 Allowed to merge table 单元格具有正确的角色、用户等