2016-12-20 35 views
2

我打算將另一個(家庭版)系統中跟蹤的幾百個錯誤遷移到GitHub的問題系統中。這些錯誤大部分都是在過去關閉的。我可以使用github的API來創建一個問題,例如如何使用API​​(curl)編輯github問題? (尤其是:關閉)

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)......但我無法弄清楚相應的curl命令應該是什麼樣子。任何指導?

額外信貸:我會真的喜歡能夠分配一個「封閉」的日期,以同意在我們當前系統中捕獲的實際封閉日期。目前尚不清楚這是否可行。

謝謝!

回答

1

用命令行將一堆問題遷移到github?你瘋了嗎?

無論如何,使用PHP和hhb_curl從https://github.com/divinity76/hhb_.inc.php/blob/master/hhb_.inc.php, 這個工作對我來說,不幸的是不能設置「closed_at」日期(它是由API忽略不計),但我可以把它使用標籤效仿,那麼它看起來像

enter image description here

,代碼應該給你的東西移植它命令行時上工作:

<?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()); 

(我修改了「授權:令牌」線波斯蒂前納克它計算器OFC)

1

正如hanshenrik建議,正確的改變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 (我現在明白了,開始與田「:」是變量)

爲了記錄在案,我打算腳本調用捲曲。 :)

相關問題