@raiserle の助けを借りてコードを更新しました (ありがとう)。
以下のコードは、ユーザーが問題を作成する権限を持っていない場合、または接続の問題がある場合にエラー メッセージを表示できるようにしますproject_id
。
ただし、問題が作成されている場合はSimpleXMLObject
、の助けを借りてコンテンツが表示されvar_dump
ます。
コードは次のとおりです。
// ----------------------------
// Instanciate a redmine client
// --> with ApiKey
$client = new Redmine\Client('http://localhost:8080/redmine/', '210940249ksdjfksdh32');
// ----------------------------
// [OPTIONAL] set the port
// (it will try to guess it from the url)
$client->setPort(8080);
// ----------------------------
$ret = $client->api('issue')->create(array(
'project_id' => '',
'subject' => $subject,
'description' => $description,
'assigned_to_id' => $assingto,
'tracker_id' => $trackerId,
'watcher_user_ids' => $watcherId,
));
if( $ret instanceof SimpleXMLElement ){
//look in the Object
var_dump($ret);
}
else{
if( $ret === true ){
echo "success";
}
else{
echo "error";
}
}
エラーに応じて、簡単な成功メッセージまたはエラー メッセージを作成できます。
サーバーの応答/戻りのサンプルは次のとおりです。件名を指定しなかった場合、サーバーは次のエラーを返します。
object(SimpleXMLElement)#8 (2) {
["@attributes"]=>
array(1) {
["type"]=>
string(5) "array"
}
["error"]=>
string(22) "Subject can't be blank"
}
問題が正常に作成された場合のサーバー応答の例を次に示します。
object(SimpleXMLElement)#8 (17) {
["id"]=>
string(3) "340"
["project"]=>
object(SimpleXMLElement)#6 (1) {
["@attributes"]=>
array(2) {
["id"]=>
string(1) "9"
["name"]=>
string(26) "Some Project name"
}
}
["tracker"]=>
object(SimpleXMLElement)#9 (1) {
["@attributes"]=>
array(2) {
["id"]=>
string(1) "4"
["name"]=>
string(6) "Some tracker name"
}
}
["status"]=>
object(SimpleXMLElement)#10 (1) {
["@attributes"]=>
array(2) {
["id"]=>
string(1) "1"
["name"]=>
string(4) "New"
}
}
["priority"]=>
object(SimpleXMLElement)#11 (1) {
["@attributes"]=>
array(2) {
["id"]=>
string(1) "2"
["name"]=>
string(6) "Normal"
}
}
["author"]=>
object(SimpleXMLElement)#12 (1) {
["@attributes"]=>
array(2) {
["id"]=>
string(2) "22"
["name"]=>
string(7) "author name"
}
}
["assigned_to"]=>
object(SimpleXMLElement)#13 (1) {
["@attributes"]=>
array(2) {
["id"]=>
string(2) "10"
["name"]=>
string(6) "Some name"
}
}
["subject"]=>
string(16) "test api (xml) 2"
["description"]=>
string(25) "some dummy content"
["start_date"]=>
string(10) "2014-04-17"
["due_date"]=>
object(SimpleXMLElement)#14 (0) {
}
["done_ratio"]=>
string(1) "0"
["estimated_hours"]=>
object(SimpleXMLElement)#15 (0) {
}
["spent_hours"]=>
string(3) "0.0"
["created_on"]=>
string(20) "2014-04-17T15:52:07Z"
["updated_on"]=>
string(20) "2014-04-17T15:52:07Z"
["closed_on"]=>
object(SimpleXMLElement)#16 (0) {
}
}
どんな助けでも大歓迎です。正しい道に私を導くだけです。それ以外の場合、kbsali はコードの使用法について多くを語っていません。コードからサーバーの応答を取得する方法があるかどうかはわかりません。明らかにコードはサーバーの応答を取得しますが、どうすればそれに到達できるかわかりません。誰かがそれが私の問題を確実に解決する方法を理解すれば.
github の kbsali redmine-php-api の URL は次のとおりです: https://github.com/kbsali/php-redmine-api