-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Accepting Merge Requests on project without pipeline fails with 405 Method Not Allowed
#240
Comments
See also related issue to this property, which also renders Marge bot useless in our deployment scenario at the moment (due to this gitlab API bug) |
I was going to post that it might related ;) |
I was just working up an issue to Gitlab myself on the exact same report, double checking before submitting and seeing your issue freshly created. Nice writeup of the problem, had to debug a few scenarios. |
We are also seeing this issue with our CI at: https://gitlab.com/freedesktop-sdk/freedesktop-sdk |
Sorry for the delay, I'm planning on working on this now. I'll change the |
Passing this value as True makes gitlab assume that the MR must have a pipeline, which means if it's doesn't, then the MR will be denied. Instead we should use the value of project.only_merge_if_pipeline_succeeds, As this will mean the gitlab logic will be correct: If the MR requires a pipeline to merge then we'll only merge if a pipeline succeeds If the MR doesn't needs a pipeline to succeed (i.e. has this setting on the project off) then we won't pass the parameter and hence the merge will be allowed Fixes issue smarkets#240
Passing this value as True makes gitlab assume that the MR must have a pipeline, which means if it's doesn't, then the MR will be denied. Instead we should use the value of project.only_merge_if_pipeline_succeeds, As this will mean the gitlab logic will be correct: If the MR requires a pipeline to merge then we'll only merge if a pipeline succeeds If the MR doesn't needs a pipeline to succeed (i.e. has this setting on the project off) then we won't pass the parameter and hence the merge will be allowed Fixes issue smarkets#240
Passing this value as True makes gitlab assume that the MR must have a pipeline, which means if it's doesn't, then the MR will be denied. Instead we should use the value of project.only_merge_if_pipeline_succeeds, As this will mean the gitlab logic will be correct: If the MR requires a pipeline to merge then we'll only merge if a pipeline succeeds If the MR doesn't needs a pipeline to succeed (i.e. has this setting on the project off) then we won't pass the parameter and hence the merge will be allowed Fixes issue #240
Fixed in #251. |
Looks like an API change on gitlab.com on the the Accept MR, however I cannot find the related issue in release notes.
We have a new project currently with no pipeline configured. The settings
General/Merge Requests/ - Pipeline must succeed
is NOT checked for this project.The following curl requests fails:
Changing the
merge_when_pipeline_succeeds
to false successfully accepts the request.This property is currently hardcoded to true:
marge-bot/marge/merge_request.py
Line 162 in b1c9e0a
The text was updated successfully, but these errors were encountered: