2017-06-23 4 views
3

/api/2/projectは、JSON形式のJIRAインスタンス内のすべてのプロジェクトを簡単に返します。すべてのJIRAの問題を(GET経由で)フェッチできますか?検索ノードに移動しますか?

問題についても同じことをしたいのですが、これは存在しないようです。

/api/2 /は、このような大量ダンプを行う標準的な方法ですか?これを定期的にデータベースに更新する最良の方法は何ですか?私は検索(更新日> [データベースの最後のエントリ])のような何かをしてからページ分割をしますか?確かに、これを最初に試してみることはできませんが、私はこれにオンラインで類似のガイドを見ません(私はJira自身のドキュメントをチェックしました。

EDIT:検索のように見えるのは、実際には「問題のダンプ」であり、ドキュメントに反してコレクションにデフォルトではなく、実際に問題を作成したり、リストを作成したりする問題ノードではありません。私はおそらく更新されたルートに行きます> [最後の日付はDBにある]

答えて

2

ごくわずかな問題がなければ、一度にすべてをフェッチすることはできません。 できることは、ステップごとに検索を実行することです。

たとえば、1324個のJIRAの問題があるとします。あなたはこの数倍に似た検索を実行する必要があり、それらのすべてをretriveするために:

/rest/api/2/search?&maxResults=100&startAt=0 

これは、他の人を取得する方法0 から始まる最初の100のJIRAの問題をretriveでしょうか?

検索を実行すると、totalという名前のフィールドが返されます。そのフィールドは、システム内のJIRAの全問題数(1324件)です。

次のクエリは次のようになります。すべての問題が返されるまで

/rest/api/2/search?&maxResults=100&startAt=100 

は、100で毎回startAtの値をインクリメント、この操作を繰り返します。

+0

Gotcha ---そうだと思った。 startAt = 0は、最終更新日までにすべてのJiraチケットの増分ロードにはあまり役に立ちません。まあ、それはおそらく - あなたはupdate_time ascで注文することができると思いますが、ページ2のチケットが更新されて、今はページ1000になっているとどうなりますか? 'ページロジック'は何とか動的に更新されますか?おそらく最もよく避けるべきで、ちょうど '最後のアップデート時間をつかむだけで、今すぐクエリの時間を更新してください' – user45867

関連する問題