1

JIRA REST API では、問題を発生させる方法が少なくとも 2 つあります。

  • /jira/rest/api/2/issue/{issueIdOrKey}
  • /rest/api/2/search?jql

私は自分のプロジェクトで両方を使用していますupdatedが、同じ問題のフィールドに対してわずかに異なる結果を返します。

  • キーで取得: 2014-07-18T17:53:02。594 +0300
  • 検索: 2014-07-18T17:53:02。000 +0300

何らかの理由で、検索応答のミリ秒が設定されていません。私にはバグのように見えますが、構成設定か何かがあるのでしょうか?

PS: 最新の JIRA バージョン (6.2.6) を使用しています。

4

2 に答える 2

1

JQL 検索結果は通常、ミリ秒単位の精度でタイムスタンプを保存する Lucene インデックスから直接取得されますが、実際の問題を取得すると、データベース内jiraissue テーブルから直接日付が取得されます。構成されたデータベース)。

EDITED : 上記の精度を読み間違えているようです: 問題を取得することによって返されるタイムスタンプはミリ秒 (対ナノ秒) のみを返し、JQL クエリは整数秒 (対ミリ秒) のみを返すため、上記のリンクされた Lucene データ型は関係ありません。

ただし、答えは同じです。JQL は Lucene から結果を取得しますが、Issue fetch はデータベースから直接値を取得します。Lucene インデックスがミリ秒を返さない理由をさらに調査すると、 の JIRA ソースで、JIRA はフィールドを Lucene でインデックス可能な値に変換するようにBaseFieldIndexer.indexDateField呼び出します。このメソッドは、フィールドを整数の秒数に明示的に変換し (プロセス内のミリ秒を切り捨てます)、インデックス作成のために数値を String 表現に変換します。LuceneUtils.dateToString(date)createddateToString

于 2014-07-21T17:55:02.813 に答える
0

奇数!これを 6.2 インスタンスで確認したところ、違いもありました。

JQL: 更新: 2014-07-11T19:34:04.000-0500 キー: 更新: 2014-07-11T19:34:04.768-0500

検索から問題のリストを返すコードは、ミリ秒をクリアする別の日付フォーマッタを使用しているに違いありませんが、単一の問題からデータを返すコードはそれを行いません。それに影響する構成設定については知りません。

ms に基づいて何かをチェックしているコードは賢明ではないように思われるため、 http://jira.atlassian.com/browse/JRA Minorでマイナー バグとして報告することをお勧めします。

于 2014-07-18T20:06:23.127 に答える