Привет я получаю следующее сообщение об ошибке при попытке создать проблему в jira, используя остальные API с php.Error (s) создание проблемы:
Объект (StdClass) [1]
public ‘errorMessages’ =>
массив (размер = 0)
пустой
публичные «ошибки» =>
Объект (StdClass) [2]
public ‘summary’ => string ‘Поле’ summary ‘не может быть установлено. это
не на соответствующем экране или неизвестно. (Длина = 79)
public ‘description’ => string ‘Field’ description ‘не может быть
задавать. Его нет на соответствующем экране или неизвестно. (Длина = 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 заменены по соображениям безопасности.
Я хочу знать, как я могу исправить эту ошибку.
Хотя я вижу, что об этом спрашивали почти год назад, я продолжу и отвечу:
Ошибка «отсутствует на соответствующем экране или неизвестна», поскольку используемая учетная запись не имеет разрешения на просмотр этих полей.
Войдите в свой экземпляр JIRA, используя учетные данные, которые вы предоставляете службе, и попробуйте создать заявку в той же очереди (проекте), которую вы используете в качестве значения $new_issue["fields"]["project"]["key"]
, Это важно, так как разные очереди будут иметь разные разрешения. Когда в форме появятся поля для создания проблемы, вы, скорее всего, не увидите поля «сводка» и «описание». Используемую учетную запись необходимо будет добавить в группу администраторов (есть другие группы с разными разрешениями, такие как разработчик и участник).
Других решений пока нет …