2015-08-20 41 views
1

我在尋找XMLRPC關鍵字來找出BUGZILLA項目的用戶列表。如何在登錄後使用XMLRPC獲取bugzilla項目的用戶列表

這裏是我的代碼,登錄工作正常,我可以使用幾個關鍵字來找出我需要的:Bug.search,Bug.fields。

public function loginBz($url,$login,$password,$getResult) 
{ 
    set_time_limit(0); 
    $URI = $url; 
    $xml_data = array(
    'login' => $login, 
    'password' => $password, 
    'remember' => 1 
    ); 
    $ch = curl_init(); 
    $file_cookie = tempnam ("/tmp", "CURLCOOKIE"); 
    $options = array(
    //CURLOPT_VERBOSE => true, 
    CURLOPT_URL  => $URI, 
    CURLOPT_POST => true, 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_HTTPHEADER => array('Content-Type: text/xml', 'charset=utf-8') 
    ); 

    curl_setopt($ch, CURLOPT_TIMEOUT,60); 
    curl_setopt_array($ch, $options); 
    $request = xmlrpc_encode_request("User.login", $xml_data); 
    // var_dump($request); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, $file_cookie); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $server_output = curl_exec($ch); // Array([id] => 1) for example 

    $response = xmlrpc_decode($server_output); 

    //print_r ($response); 
    if($getResult) 
     return $response; 
    else 
     return $ch; 
} 

public function getFieldsBz($product,$component,$ch){ 
    $xml_data = array(
    'product'  => $product, 
    'component' => '$component' 
    ); 

    $request = xmlrpc_encode_request("Bug.user", $xml_data); // create a request for filing bugs 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request); 
    $server_output = curl_exec($ch); // Array([id] => 1) for example 
    $response = xmlrpc_decode($server_output); 

    return $response;  
} 

我一直在尋找進入BugZilla API,但沒有找到我所需要的:用戶列表的產品的Bz。 有誰知道我在哪個關鍵字xmlrpc_encode_request(關鍵字,array_filter)

這將有助於:)

回答

0

首先沒有一個叫Bug.user方法,請參閱https://www.bugzilla.org/docs/4.4/en/html/api/Bugzilla/WebService/Bug.html的完整列表。 有一種名爲User.get的方法,請參見https://www.bugzilla.org/docs/4.4/en/html/api/Bugzilla/WebService/User.html#get 有一個參數稱爲組,它可以根據您如何設置Bugzilla安全性來執行所需操作。 您可以使用https://xmlrpc.devzing.com/進行實驗,或者如果您升級到Bugzilla 5.x,則可以使用新的REST API。 https://www.bugzilla.org/docs/5.0/en/html/api/Bugzilla/WebService/Server/REST.html

相關問題