2016-06-30 13 views
2

マージリクエストのmerge_when_build_succeeds属性をGitlab APIで設定したいと思います。 docsでは、オプションのmerged_when_build_succeedsパラメータがtrueの場合、MR'llはビルドが成功した後にのみ受け付けられることになります。Gitlab API、ビルドが成功するとマージする

このmerged_when_build_succeedsパラメータをAPIに提供する方法を教えてください。私は成功せず、次のcurlのコマンドを試してみました:

# In the request's body 
[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" -d merged_when_build_succeeds=true "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge" 
{"message":"405 Method Not Allowed"} 

# In the URL 
[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge?merged_when_build_succeeds=true" 
{"message":"405 Method Not Allowed"} 

# I tried this also, maybe the __merged__ is a mistake in the docs 
[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" -d merge_when_build_succeeds=true "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge" 
{"message":"405 Method Not Allowed"} 

# In the URL 
[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge?merge_when_build_succeeds=true" 
{"message":"405 Method Not Allowed"} 

# Some other CURL parameters 
[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" -H "Content-Type: multipart/form-data;" -F "merge_when_build_succeeds=true" "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge" 
{"message":"405 Method Not Allowed"} 

# Some other CURL parameters 
[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" -H "Content-Type: multipart/form-data;" -F "merged_when_build_succeeds=true" "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge" 
{"message":"405 Method Not Allowed"} 

新機能、がオンになっている「だけビルドが成功した場合、マージ要求をマージすることができるように」。この機能を無効にすると、ビルドが完了する前に、以前の呼び出しの呼び出しによってMRがマージされます。https://snag.gy/06nOEm.jpg

プライベートトークンとURLが正しい。私は、MRの情報照会できます

[email protected]:~$ curl -X GET --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" "http://localhost:8080/api/v3/projects/1/merge_requests/9" 
{"id":9,"iid":9,"project_id":1,"title":"enters","description":"","state":"opened","created_at":"2016-06-29T15:36:15.235Z","updated_at":"2016-06-29T15:36:15.235Z","target_branch":"master","source_branch":"features/long_build_05","upvotes":0,"downvotes":0,"author":{"name":"Vilmos Nagy","username":"vilmos.nagy","id":2,"state":"active","avatar_url":"http://www.gravatar.com/avatar/4f94d9571ec83f42a85651291296f503?s=80\u0026d=identicon","web_url":"http://172.21.0.3/u/vilmos.nagy"},"assignee":null,"source_project_id":2,"target_project_id":1,"labels":[],"work_in_progress":false,"milestone":null,"merge_when_build_succeeds":false,"merge_status":"can_be_merged","subscribed":false,"user_notes_count":0} 

をし、ビルドが成功した後、私はMRを受け入れることができます:

[email protected]:~$ curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge" 
{"id":9,"iid":9,"project_id":1,"title":"enters","description":"","state":"merged","created_at":"2016-06-29T15:36:15.235Z","updated_at":"2016-06-29T16:13:41.242Z","target_branch":"master","source_branch":"features/long_build_05","upvotes":0,"downvotes":0,"author":{"name":"Vilmos Nagy","username":"vilmos.nagy","id":2,"state":"active","avatar_url":"http://www.gravatar.com/avatar/4f94d9571ec83f42a85651291296f503?s=80\u0026d=identicon","web_url":"http://172.21.0.3/u/vilmos.nagy"},"assignee":null,"source_project_id":2,"target_project_id":1,"labels":[],"work_in_progress":false,"milestone":null,"merge_when_build_succeeds":false,"merge_status":"can_be_merged","subscribed":true,"user_notes_count":0} 

あなたは私を助けて、私に与えられたAPIの正しい呼び出しを与えることができるの?

ありがとうございます!

Vilmos

答えて

2

ドキュメントが間違っている、パラメータが実際に(「マージ」の「D」なし)merge_when_build_succeedsと呼ばれているようです。

curl -X PUT --header "PRIVATE-TOKEN: zvzK7CNzx9WviV5iChyg" -d merge_when_build_succeeds=true "http://localhost:8080/api/v3/projects/1/merge_requests/9/merge"(「405メソッドは許可されていません」はおそらく、MRが既にマージされているか、競合しているなどの理由によるものです)。 https://gitlab.com/gitlab-org/gitlab-ce/issues/19448

+0

感謝を:

は、私はあなたがドキュメントが固定されている場合を知りたい場合は従うことができ、問題を作成しました!私は次の日に再びこれを見るつもりです( '-d merge_when_build_succeeds = true')。もっと役に立つものを返信します。 :-) –

関連する問題