如何通过 OTRS REST URL 获取多个工单 ID 的工单详细信息

Posted

技术标签:

【中文标题】如何通过 OTRS REST URL 获取多个工单 ID 的工单详细信息【英文标题】:how to get ticket details of multiple ticket IDs through OTRS REST URL 【发布时间】:2018-04-29 16:01:35 【问题描述】:

目前我将此 URL 用于单票 ID:http:///otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/2020?UserLogin=abc&Password=abc123&DynamicFields=1

如何将多个票证 ID 传递到此 URL..

【问题讨论】:

【参考方案1】:

你不能。您应该只在代码中使用循环,并为每个 TicketID 调用 Web 服务。

【讨论】:

是的,我们可以做到。只需提供逗号分隔的票证 ID。谢谢你的回复【参考方案2】:

这里是otrs6 rest api的例子,带有ticketget的通用接口

<?php

require_once 'otrs6composer/vendor/autoload.php';

Unirest\Request::defaultHeader("Accept", "application/json");
Unirest\Request::defaultHeader("Content-Type", "application/json");
Unirest\Request::verifyPeer(true);

function otrs_ticket_detail_listing($ticket) 

$title = "";
$state = "";
$type = "";
$queue = "";
$output = "";

$TicketNr = $ticket;
$BaseURL2 = 'http://10.247.142.10/otrs/nph-genericinterface.pl/Webservice/TicketConGeneric/TicketGet';
$BaseURL1 = 'http://10.247.142.10/otrs/nph-genericinterface.pl/Webservice/TicketConGeneric/Session/SessionCreate';
$headers = [];
$body = json_encode(
    [
        "UserLogin" => "root@localhost",
        "Password"  => "nic123",
    ]
);

/**
 * SessionCreate
 *
 * http://doc.otrs.com/doc/api/otrs/stable/Perl/Kernel/GenericInterface/Operation/Session/SessionCreate.pm.html
 */
$response = Unirest\Request::post($BaseURL1, $headers, $body);

if (!$response->body->SessionID) 
    print "No SessionID returnd \n";
    exit(1);

$SessionID = $response->body->SessionID;



/**
 * TicketGet
 *
 * http://doc.otrs.com/doc/api/otrs/stable/Perl/Kernel/GenericInterface/Operation/Ticket/TicketGet.pm.html
 */
$param = [
    'SessionID' => $SessionID,
];
$ArticleGet = Unirest\Request::get($BaseURL2."/".$TicketNr, $headers, $param);



return $ArticleGet;
//var_dump($response);





?>

【讨论】:

@Partho63 只需调用该函数并传递 tickedId 即可获得 json

以上是关于如何通过 OTRS REST URL 获取多个工单 ID 的工单详细信息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Rest 在 SharePoint 中获取多个模板类型列表

有哪些开源的工单系统

如何在java中的rest url中发送多个值

将多个参数之一发送到 REST API 并使用它

django rest框架:在视图中获取url路径变量

通过 APIM 使用 Azure 功能的 REST URL