Jira soap api: не могу обновить никаких проблем - PullRequest
1 голос
/ 07 октября 2011

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

Я использую SOAP для взаимодействия с нашей локальной установкой JIRA.У меня нет проблем с получением проблем, добавлением рабочих журналов, продвижением рабочего процесса, созданием проблем.Но когда я пытаюсь отредактировать проблему, ничего не происходит.

Обычно, когда я делаю SOAP-вызов updateIssue, он проходит без ошибок, но возвращенные проблемы не содержат отправленных изменений.(однако «обновленное» поле, которое содержит метку времени последнего обновления, изменится соответственно) Я думал, что это проблема с разрешениями, но если я попробую тот же вызов обновления, когда вошел в систему как пользователь без прав для редактирования этой проблемы, я получу сообщение об ошибке, что,Я полностью потерян здесь.Я проверил файлы журналов, но там тоже ничего не нашел.

У кого-нибудь есть идеи, почему это может произойти?Или как я могу устранить неполадки / отладить его дальше?

1 Ответ

3 голосов
/ 07 октября 2011

Ну, я чувствую себя глупо сейчас. После полдня попыток выяснить, почему это не работает, я наконец изучил WSDL:)

И, как ни странно, формат, в который я отправлял изменения, был неверным. Правильная структура третьего параметра в PHP выглядит следующим образом:

$data = array('fields'=>array('id'=>'assignee','values'=>array($username)));

$this->jira->updateIssue($this->jiraAuth,$issueKey, $data);

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

$issue=array(
'type'=>3,
'priority'=>3,
  'project'=>'XXX',
'duedate'=>time(),
'components'=>'',
'versions'=>'',
'fixVersions'=>'',
  'assignee'=>'user1',
  'reporter'=>'user1',
'environment'=>'',
'description'=>'test',
'summary'=>'test',
'timetracking'=>'',
'attachment'=>'',
'labels'=>''

);
return $this->jira->createIssue($this->jiraAuth,$issue); 
...