如何使用API(curl)编辑github问题?(特别是:关闭)
我计划将在另一个(国产)系统中跟踪的几百个bug迁移到GitHub的发布系统中。这些bug中的大多数都是在过去关闭的。我可以使用github的API创建问题,例如如何使用API(curl)编辑github问题?(特别是:关闭),api,curl,github,Api,Curl,Github,我计划将在另一个(国产)系统中跟踪的几百个bug迁移到GitHub的发布系统中。这些bug中的大多数都是在过去关闭的。我可以使用github的API创建问题,例如 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"
}'
。。。然而,这将给我留下一大堆悬而未决的问题。如何关闭这些?我尝试在创建时关闭,例如:
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"
}'
。。。但结果是产生了一个未决问题(即“状态”被忽略)
在我看来,我应该能够“编辑”一个问题来结束它()。。。但我无法理解相应的curl命令应该是什么样子。有什么指导吗
额外积分:我真的希望能够指定一个“关闭”日期,以与当前系统中捕获的实际关闭日期一致。目前还不清楚这是否可能
谢谢 使用命令行将大量问题迁移到github?你疯了吗 总之,使用php和hhb_curl from, 这对我来说很有效,不幸的是无法设置“closed_at”日期(api忽略了它),但我可以使用标签模拟它,然后它看起来像 ,在将其移植到命令行时,代码应该为您提供一些工作:
<?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());
根据hanshenrik的建议,正确的修改过的curl命令是:
curl -u $GITHUB_TOKEN:x-oauth-basic https://api.github.com/repos/my_organization/my_repo/issues/5 -d '{
"state": "closed"
}'
我没有理解他回答中提到的文档:
/回购/:所有者/:回购/发行/:编号
转化为
(我现在知道以“:”开头的字段是变量)
作为记录,我计划编写对curl的调用脚本。:) 注意:GitHub CLI
gh
也是一个不错的选择: