2014-09-20 7 views
0

привет, я получаю следующую ошибку при попытке создать проблему в jira, используя rest api с созданием проблемы с php.Error (-ами): объект (stdClass) [1] public 'errorMessages' => array (size = 0) empty public 'errors' => object (stdClass) [2] public 'summary' => string 'Поле' summary 'не может быть установлено. Это не на соответствующем экране или неизвестно. ' (длина = 79) Публичное 'описание' => строка 'Поле' описание 'не может быть set. Это не на соответствующем экране или неизвестно. ' (Длина = 83) ` Я использую следующий исходный код:jira rest api ошибка при создании проблемы

<?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"; 
} 

?> 

поле с хххм заменены в целях безопасности. Я хочу знать, как я могу исправить эту ошибку.

ответ

0

В то время как я вижу, это было предложено почти год назад, я буду идти вперед и ответить:

«не на соответствующем экране, или неизвестный» ошибка происходит потому, что учетная запись вы используете не имеет разрешение на просмотр этих полей.

Войдите в свой экземпляр JIRA с учетными данными, которые вы предоставляете службе, и попытайтесь создать билет в той же очереди (проекте), которую используете в качестве значения $new_issue["fields"]["project"]["key"]. Это важно, так как разные очереди будут иметь разные разрешения. Когда в форме появляются поля для создания проблемы, вы, скорее всего, не увидите полей «summary» и «description». Используемая учетная запись должна быть добавлена ​​в группу «Администратор» (существуют другие группы с разными разрешениями, такие как Developer и Member).

Смежные вопросы