2016-12-20 4 views
2

私は別の(ホームロール)システムで追跡された数百のバグをGitHubの問題システムに移行する予定です。これらのバグの多くは過去に閉鎖されていました。 githubのAPIを使用して問題を作成できます(例:API(カール)を使用してgithubの問題を編集するにはどうすればよいですか? (特に:close)

curl -u $GITHUB_TOKEN:x-oauth-basic https://api.github.com/repos/my_organization/my_repo/issues -d '{ 
    "title": "test", 
    "body": "the body" 
}' 

...しかし、これは私に多大な未解決の問題を残します。それらを閉じるには?私は:例えば、単に作成時に閉じ

curl -u $GITHUB_TOKEN:x-oauth-basic https://api.github.com/repos/my_organization/my_repo/issues -d '{ 
    "title": "test", 
    "body": "the body", 
    "state": "closed" 
}' 

を試してみた...しかし、結果は(すなわち、「状態」が無視される)未解決の問題を作成することです。

それを閉じるために問題を「編集」できなければならないように見えますが(https://developer.github.com/v3/issues/#edit-an-issue)、対応するカールコマンドの外観はわかりません。どんな指導?

余分なクレジット:実際にはは、現在のシステムでキャプチャされた実際の休業日に同意するために、「閉鎖」日付を割り当てることが好きです。これが可能であることは明らかではありません。

ありがとうございます!

答えて

1

コマンドラインでgithubに複数の問題を移行しますか?ばかじゃないの?

とにかく、これは私のために働いた 、https://github.com/divinity76/hhb_.inc.php/blob/master/hhb_.inc.phpからPHPとhhb_curlを使用して、残念ながら「closed_at」の日付を(それがAPIによって無視された)設定できませんでしたが、私はラベルを使用して、それをエミュレートすることができ、それはのように見えました

enter image description here

、コードはあなたのラインを命令することを移植するときに動作するように何かを与える必要があります。posti前行:

<?php 
declare(strict_types = 1); 
require_once ('hhb_.inc.php'); 
$hc=new hhb_curl(); 
define('BASE_URL','https://api.github.com'); 
$hc->_setComfortableOptions(); 
$data=array(
     'state'=>'closed', 
     'closed_at'=> '2011-04-22T13:33:48Z',// << unfortunately, ignored 
     'labels'=>array(
       'closed at 2011-04-22T13:33:48Z' // << we can fake it using labels... 
     ) 
); 
$data=json_encode($data); 
$hc->setopt_array(array(
     CURLOPT_CUSTOMREQUEST=>'PATCH', 
     // /repos/:owner/:repo/issues/:number 
     // https://github.com/divinity76/GitHubCrashTest/issues/1 
     CURLOPT_URL=>BASE_URL.'/repos/divinity76/GitHubCrashTest/issues/1', 
     CURLOPT_USERAGENT=>'test', 
     CURLOPT_HTTPHEADER=>array(
       'Accept: application/vnd.github.v3+json', 
       'Content-Type: application/json', 
       'Authorization: token <removed>' 
     ), 
     CURLOPT_POSTFIELDS=>$data,  
)); 
$hc->exec(); 
hhb_var_dump($hc->getStdErr(),$hc->getResponseBody()); 

(i "はトークン認証" を修正hanshenrikによって示唆されるようにStackOverflowのOFC)

1

でそれをngの、正しい変更curlコマンドは次のとおりです。

curl -u $GITHUB_TOKEN:x-oauth-basic https://api.github.com/repos/my_organization/my_repo/issues/5 -d '{ 
"state": "closed" 
}' 
私は彼の答えで参照文書を理解することができなかったのだ

: /リポジトリ/:所有者/:レポ/問題/:数 は https://api.github.com/repos/my_organization/my_repo/issues/5 に変換(私は今、フィールドが始まることを理解し、「:」の変数です)

記録のためには、私は、呼び出しがカールするスクリプトに計画しています。 :)

関連する問題