嗨我在尝试使用rest api和php.Error(s)创建问题时在jira中创建问题时遇到以下错误: 对象(stdClass的)[1] public' errorMessages' => 数组(大小= 0) 空 公共错误' => 对象(stdClass的)[2] 公共'摘要' =>字符串'字段'摘要'无法设定。它是 不在适当的屏幕上,或未知。' (长度= 79) 公共'描述' =>字符串'字段'描述'不可能是 组。它不在适当的屏幕上,或未知。' (长度= 83) ` 我使用以下源代码:
<?php
define('JIRA_URL', 'xxxxxxxx');
define('USERNAME', 'xxxxxxxxx');
define('PASSWORD', 'xxxxxxxx');
function post_to($resource, $data) {
$curlname=CURLOPT_POST;
$curlvalue=1;
$jdata = json_encode($data);
$ch = curl_init();
curl_setopt_array($ch, array(
$curlname => $curlvalue,
CURLOPT_URL => JIRA_URL . '/rest/api/latest/' . $resource,
CURLOPT_USERPWD => USERNAME . ':' . PASSWORD,
CURLOPT_POSTFIELDS => $jdata,
CURLOPT_HTTPHEADER => array('Content-type: application/json'),
CURLOPT_RETURNTRANSFER => true
));
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result);
}
function create_issue($issue) {
return post_to('issue', $issue);
}
$new_issue = array(
'fields' => array(
'project' => array('key' => 'xxx'),
'summary' => 'Test via REST',
'description' => 'Description of issue goes here.',
'issuetype' => array('name' => 'Task')
)
);
$result = create_issue($new_issue);
if (property_exists($result, 'errors')) {
echo "Error(s) creating issue:\n";
var_dump($result);
} else {
echo "New issue created at " . JIRA_URL ."/browse/{$result->key}\n";
}
?>
出于安全原因,替换了xxxx的字段。 我想知道如何纠正这个错误。
答案 0 :(得分:-1)
虽然我在近一年前看到这个问题,但我会继续回答:
由于您使用的帐户无权查看这些字段,因此出现“未在适当的屏幕上或未知”错误。
使用您提供给服务的帐户凭据登录JIRA实例,并尝试在您使用的同一队列(项目)中创建一个票证作为$new_issue["fields"]["project"]["key"]
的值。 这很重要,因为不同的队列会有不同的权限。当表单出现创建问题的字段时,您可能看不到“摘要”和“说明”字段。您正在使用的帐户需要添加到Administrator组(还有其他具有不同权限的组,例如Developer和Member)。