[英]Create JIRA issue via SOAP API and PHP
我無法通過PHP中的SOAP API創建問題。 我嘗試了這個:
$soapClient = new SoapClient("http://jira:9090/rpc/soap/jirasoapservice-v2?wsdl");
$token = $soapClient->login('user', 'pass');
$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'=>''
);
$soapClient->createIssue($token, $issue);
但是,當我運行此腳本時,不會在JIRA中創建新問題。 有人可以幫我解決這個問題嗎?
確保:
user1
(在“問題”字段中)具有該項目的受讓人和報告者的權限(嘗試手動進行) user
(通過身份驗證)有權在此項目中創建新問題(與用戶手動登錄並嘗試創建問題) duedate'=>time()
對我來說工作正常。 實際上,在Jira 4.4.4下,我接受了您的代碼,更改了項目,報告人和被許可人的名稱,並且對我有用。
奇怪的是,如果出現問題,您應該得到一個錯誤,那么您如何嘗試執行php文件? 嘗試手動運行它以檢查錯誤。 為此,請使用以下標頭創建一個PHP文件:
#!/usr/bin/php
賦予它運行權限chmod +x myscript.php
並執行./myscript.php
。 如果從Web服務器運行它,請檢查/var/log/httpd/error_log
是否有錯誤。 確保已安裝SOAP:
[root@localhost]# cat /etc/php.d/soap.ini
; Enable soap extension module
extension=soap.so
如果發現任何錯誤,請更新問題。
您的問題查詢必須是一個對象
$issueQuery = new stdClass;
您所有的字段都必須在數組中
$customFields = array();
您的自定義字段必須是一個對象
$fieldOBJ = new stdClass;
$fieldOBJ->customfieldId = 'customfield_10237';
$fieldOBJ->key = '';
$fieldOBJ->values = array(utf8_encode($value));
將其添加到數組
$customFields[] = $fieldOBJ;
將自定義字段添加到問題查詢(和其他主要字段)
$issueQuery->customFieldValues = $customFields;
創建問題($ token是您的連接)
$issueCreated = $soapClient->createIssue($token, $demande);
而已! $ issueCreated將是返回的問題密鑰
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.