2016-11-04 20 views
1

GitHub APIを使用してプルリクエストをマージしようとしています。GitHub APIに有効なPUTリクエストを送信していますが、GitHubがプルリクエストをマージしていません

{"message":"Not Found","documentation_url":"https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button"} 

何が起こった?:正しいパラメータのI入力はしかし、これは私が得る応答である

def merge_pull_request(github_profile_name, repo_name, pull_request_number, personal_access_token) 
    uri = URI("https://api.github.com/repos/#{github_profile_name}/#{repo_name}/pulls/#{pull_request_number}/merge?personal_access_token=#{personal_access_token}") 
    Net::HTTP.start(uri.host, uri.port, 
     :use_ssl => uri.scheme == 'https') do |http| 
     request = Net::HTTP::Put.new uri 

     response = http.request request # Net::HTTPResponse object 

     puts response.body 
    end 
end 

+0

Ruby GitHubライブラリを使って、あなた自身のロールを張ってテストすることができます。 – tadman

答えて

1

GitHub APIの応答は誤解を招きます。実際に何が起こっているのは、自分の個人用アクセストークンがでないとプルリクエストをマージするです。これは私の愚かなエラーだった...私の個人的なアクセストークンは、 "ユーザースコープ"のためだけに許可されていましたが、 "レポスコープ"のチェックボックスをクリックするのを忘れました。 「スコープ」とは、GitHubが特定のフィールドにアクセスできるかどうか(ユーザーのプロファイルを制御する機能やプルリクエストをマージする機能など)を定義する方法であり、必要に応じて個人のアクセストークンのスコープを適切に管理することが非常に重要です動作するGitHub API。

個人用アクセストークンに関するプロファイル情報にアクセスするには、[設定] - > [個人用アクセストークン]に移動し、パーソナルアクセストークンを編集して「スコープ」を付与して取り消すことができます。

関連する問題