Jira soap api:无法更新任何问题

时间:2011-10-07 12:15:55

标签: php api soap jira

嗨,我已经搜索了这个问题了很多,但找不到答案。也许有人在这里可以帮助我。

我正在使用SOAP与我们的本地JIRA安装进行交互。我在获取问题,添加工作日志,进度工作流程,创建问题方面没有任何问题。但是当我尝试编辑问题时,没有任何事情发生。

基本上,当我对updateIssue进行SOAP调用时,它没有错误,但返回的问题不包含我发送的任何更改。 (但是“更新”字段,其中包含上次更新的时间戳将相应更改)我认为这是一个权限问题,但如果我以无权编辑此问题的用户身份登录时尝试相同的更新调用,我会收到错误消息。我完全迷失在这里。我已经检查了日志文件,但也找不到任何东西。

有谁知道为什么会发生这种情况?或者我该如何进一步排除/调试它?

1 个答案:

答案 0 :(得分:3)

我现在感觉很蠢。经过半天试图弄清楚它为什么不起作用后我终于研究了WSDL:)

我发送的更改格式的格式是不正确的。 PHP中第3个参数的正确结构如下所示:

$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);