0

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 で新しい問題が作成されません。誰かがこの問題を手伝ってくれますか?

4

2 に答える 2

1

次のことを確認してください。

  • プロジェクト名は正しい
  • 課題タイプ番号 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

エラーが見つかった場合は、質問を更新してください。

于 2012-08-30T14:35:17.903 に答える
0

課題クエリはオブジェクトでなければなりません

$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 は、返された課題キーになります

于 2012-10-04T15:05:34.987 に答える