2016-08-09 10 views
3

Logstash Input Plugin execを使用して定期的にコマンドを実行し、JIRAデータを取得しています。 maxResults = 99999に設定しても、1000個の結果しか返されません。ここに私のコードは今ある:JIRAで1000を超える結果を照会できないのはなぜですか?

input { 
    exec { 
     command => "curl -u username:password https://mycompany.atlassian.net/rest/api/latest/search?project=project&maxResults=8500" 
     interval => 300 
     type => "issues" 
    } 


} output { 
    elasticsearch { 
     hosts => "localhost:9200" 
     index => "jira" 
    } 
} 

など、2000年、私はあなたの周り10幹部を実行した場合、そのオンライン見つけ、あなたが0にstartAtを設定し、1000年、あなたの周り10000応答を取得します。これは、8000リクエストを取得する1つのexecより速いのですか? 1 execで1000以上の回答を返すにはどうすればよいですか?撮影

答えて

2

@ alpertの答えは正しいですが、もう少し詳しく説明します。

JIRAのREST API(およびほとんどの残りのAPI)は、APIのクライアントがアプリケーションに負荷をかけすぎることを防ぐためにページネーションをサポートしています。つまり、1回のREST呼び出しですべての問題データを取り込むことはできません。あなたが唯一のページングクエリを使用して最大1000問題の「ページ」を取得することができます

startAtmaxResultsパラメータ。 ページ区切りセクションhereを参照してください。

JIRAスタンドアロンサーバを実行すると、JIRAから返される結果の最大数を微調整できますが、クラウドインスタンスの場合はこれは不可能です。詳細はKB articleを参照してください。

あなたのlogstash設定は、プロジェクトのすべてのJIRAの問題を定期的にElasticSearchにダンプしていることを示しています。あなたがやろうとしていることを達成するためのよりよい方法が、JIRA GET/REST API呼び出しを使用するよりもおそらくあります。 ElasticSearchでこのデータをどのように使用していますか?

おそらく、JIRAの中で必要なことを行う方法があります。あるいは、JIRAのすべてのデータをエクスポートするより便利な方法を探すことができます。 export functionalityを使用します。

1
<?php 
$username="JIRA Email"; 
$password="JIRA Password";   
$handle = curl_init(); 
$project_url="https://jirasite.atlassian.net/rest/api/2/search?jql=project='project id'&maxResults=100"; 
$project_url=trim($project_url); 
curl_setopt($handle, CURLOPT_CUSTOMREQUEST, "GET"); 
curl_setopt_array($handle, array(
    CURLOPT_URL => $project_url, 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_FOLLOWLOCATION => true, 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_HTTPHEADER => array("content-type:application/json"), 
    CURLOPT_HEADER => true, 
    CURLOPT_SSL_VERIFYPEER => false, 
    CURLOPT_ENCODING => '', 
    CURLOPT_HTTPAUTH => CURLAUTH_BASIC, 
    CURLOPT_USERPWD => $username . ':' . $password 
    )); 
    $response = curl_exec($handle); 
    print_r($response); 

> 応答ヴィレは { "展開" すること: "スキーマ名"、 "startAt":0、 "maxResults" 100、 "合計":52、 "問題":[{」 「展開」:............

関連する問題