簡體   English   中英

通過SOAP API和PHP創建JIRA問題

[英]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中創建新問題。 有人可以幫我解決這個問題嗎?

確保:

  • 項目名稱正確
  • 存在問題類型3,並且包含所有這些字段
  • 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM