こんにちは、GitHub v3を使用しています。リポジトリに新しいバイナリ ファイルを追加したいと考えています。KnpLabs php-github-apiを使用して、
- 現在のコミット オブジェクトを取得する
- それが指しているツリーを取得する
- その特定のファイル パスに対してツリーが保持する BLOB オブジェクトのコンテンツを取得する
- 何らかの方法でコンテンツを変更し、その新しいコンテンツを含む新しい blob オブジェクトを投稿して、blob SHA を取得します
- そのファイル パス ポインターを新しいブロブ SHA に置き換えた新しいツリー オブジェクトを投稿し、ツリー SHA を取得します。
などなど。しかし、5ポイントで私は例外を得ました
server error
このコードを形成する
$comit=$client->api('git')->commits()->show($userName,$reposit,'master');
$basetree=$client->api('git')->trees()->show($userName,'appwiz',$comit['commit'] ['tree']['sha']);
$newBlob=$client->api('git')->blobs()->create($userName,$reposit,array('content'=> "gitapi",'encoding'=>'base64'));
$client->authenticate($userName,$password,Github\Client::AUTH_HTTP_PASSWORD);
$treeData = array(
'tree'=>
array( array('path'=>'/'
,'mode'=>'040000'
,'type'=>'tree'
,'content'=>'folder')
)
);