Я не PHP-разработчик, но я думаю, что этот код:
arrayToObject(array("id" => "10769", "name" => "component name")
Результаты таковы:
{
id: '10769',
name: 'component name'
}
Я прав?
Какойприведет к тому, что это будет отправлено в JIRA как массив RemoteFieldValue:
{components: [{
id: '10769',
name: 'component name'
}]}
Если это так, я не думаю, что именно этого ожидает jira.Я полагаю, что ожидается:
[
{id: 'components',value:'component name'}
]
Помните, что в Java нет ассоциативных массивов.Так что конструкция $ myIssue ['components'] [] ничего не значит для Java.Java также не поддерживает многомерные массивы разных типов.
Обновление:
Попробуйте это (или что-то в этом роде, мой код не тестируется):
<?php
class RemoteFieldValue {
var $id;
var $values = array();
function __construct($idIn, $valuesIn) {
$this->id = $idIn;
$this->values = $valuesIn;
}
}
$rfv = new RemoteFieldValue('components', array("id" =>"componentid_goes_here"));
$rfvArray = array($rfv);
$soap->updateIssue($auth,"ISSUEKEY", $rfvArray);
?>
Когда я собрал службу JIRA в ColdFusion, я реализовал каждыйОбъект JIRA (Пользователь, Проблема, RemoteFieldValue и т. Д.) Как объект ColdFusion.Я подозреваю, что вы могли бы также сделать это с ассоциативными массивами и массивами, но я нахожу это чище, и это облегчает адаптацию к тому, что ожидает сервис JIRA SOAP.