2011-10-07 76 views
1

嗨,我已经使用了这个问题很多,并找不到答案。也许有人在这里可以帮助我。Jira soap api:无法更新任何问题

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

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

有没有人有一个想法,为什么会发生这种情况?或者我如何进一步排除故障/调试?

回答

3

嗯,我现在感觉很蠢。经过半天的努力找出为什么它不起作用,我终于看到了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);