4

スプリントの開始日と終了日を Jira データベースから抽出しようとしています。これは簡単な作業のように思えますが、実際には (少なくとも私が知る限り) そうではありません。

これを理解しようとしているときに、1つの解決策を見つけましたが、これが唯一の方法だと考えるのに問題があるほど面倒で難しいようです。

これが私が見つけたものです:

スプリントはネイティブの Jira 式ではなく、Greenhopper プラグインは projectversion テーブルを使用してスプリントを表します。

projectversion テーブルには、名前、所属するプロジェクト、リリース日など、スプリントに関する情報が含まれています。リリース日はスプリントの終了日と考えることができますが、開始日がありません。

スプリントを連続して実行する場合、スプリントの開始日を前のスプリントのリリース日プラス 1 日に設定できますか? しかし、それは本当に良い解決策ではありません。

そこで、Jira データ モデルを検索したところ、スプリントの開始日を示す最良かつ唯一の参照はプロパティ構造にありました。

プロパティを定義して値を割り当てることができます。この構造体のメイン テーブルである propertyentry テーブルに、次のようなエントリが見つかりました。

ID     ENTITY_NAME     ENTITY_ID     PROPERTY_KEY                          propertytype    
-----  --------------  ------------  ------------------------------------  ------------
 10288  GreenHopper     10010         CONFIGURATION                         6               
 10304  GreenHopper     10012         CONFIGURATION                         6               
 10312  GreenHopper     10013         CONFIGURATION                         6               
 10449  GreenHopper     10014         CONFIGURATION                         6   

そのため、GreenHopper は、キーが CONFIGURATION に設定されたプロパティを追加しました。etity_id フィールドは project.id を参照し、構成プロパティはプロジェクト構成です。property_type は 6 に設定されており、propertytext テーブルで値を探すように指示されています。

propertytext テーブルに格納された値は、プロジェクトに関するさまざまな情報を含む XML 文字列としてそれ自身を明らかにします。その中には、次のようなエントリがあります。

<entry>
  <string>BURNDOWN_START_DATE_10074</string>
  <long>1316988000000</long>
</entry> 

そこにそれがある。私が見つけたスプリントの開始日に最も近いもの。プロパティ テーブルの xml 文字列に隠されています。

私の質問は、これがスプリントの開始日を見つける唯一の方法ですか?

4

6 に答える 6

2

Jira SOAP/REST APIを介してスプリントの終了日と開始日を取得する方法がないようです。

以下を使用して、スプリントの開始日と終了日を抽出できます。 com.pyxis.greenhopper.jira.configurations.ProjectConfiguration#getVersionStartDate com.pyxis.greenhopper.jira.configurations.ProjectConfiguration#getVersionEndDate

このクラスを使用するには、Jira プラグインを作成します - Atlassian Plugin SDK を使用した開発

別のオプションは、GreenHopper モジュールを作成することです - GreenHopper 開発者ドキュメント

于 2011-12-15T02:42:55.750 に答える
2

回避できる場合は、JIRA データベースに直接アクセスすることはお勧めしません。rest/greenhopper/1.0/rapid/charts/sprintreport.json?rapidViewId=652&sprintId=577 などの文書化されていない JIRA Agile REST API では、rapidViewId がボード ID であり、スプリント情報を提供します。これと他の REST リソースは、 http: //jira-python.readthedocs.org/en/latest/ の jira-python ライブラリで確認できます。

于 2013-12-24T16:33:56.013 に答える
1

最近、特定のプロジェクトの日付を含むスプリントのリストを取得するタスクが与えられました。最初に、Project テーブルからプロジェクト ID を見つけ、テーブル customfield/customfieldvalue からフィールド Sprint のカスタムフィールド ID を見つける必要がありました。

これが結果です

select 
    p.pname as "Project Name",
    s.NAME as "Sprint Name", 
    from_unixtime(s.START_DATE / 1000) as "Start Date", 
    from_unixtime(s.END_DATE / 1000) as "End Date",
    from_unixtime(s.COMPLETE_DATE / 1000 ) as "Complete Date"
from
    customfieldvalue as c, 
    jiraissue as i, 
    project as p, 
    AO_60DB71_SPRINT as s
where 
    p.id = <project ID> and p.id = i.project and
    c.issue = i.id and c.customfield = <customfield ID> and
    c.stringvalue = s.id
group by s.name 
;

私たちのmysqlサーバーは異なるタイムゾーンにあるため、出力時間を変更する必要がありました.

...
    from_unixtime(s.START_DATE / 1000) - interval 1 hour as "Start Date", 
...

多分それは誰かを助けるでしょう

于 2014-02-24T13:38:37.370 に答える
1

アジャイル Jira でスプリントの開始日と終了日を見つける最も簡単な方法は、jiraschema.AO_60DB71_SPRINTテーブルをヒットすることです。これは を big int として格納start_dateend_dateます。何らかの理由で、Jira はこれらの日付形式を int データ型として保存します。int を date データ型に変換するには、MS Sql のクエリを次に示します。必要に応じて、他のデータベースに簡単に変更できます。

###This query pulls start_date, end_date, completed_date of all non active sprints in MS SQL.###

select ID, Name SprintName
,START_DATE / 60 / 60 / 24 / 1000  + CAST('12/31/1969' as datetime)+1 StartDate
,END_DATE / 60 / 60 / 24 / 1000  + CAST('12/31/1969' as datetime)+1 EndDate
,COMPLETE_DATE / 60 / 60 / 24 / 1000  + CAST('12/31/1969' as datetime)+1 CompletedDate
FROM
 AO_60DB71_SPRINT as sprint
where COMPLETE_DATE is not null
于 2013-12-24T07:45:03.817 に答える
1

SELECT * FROM a0_60db71_sprint

これはjavaではなく、 MySQLに関する質問です。

JIRA MySQL データベースに接続し、一致するテーブルを探します*_sprint

上の表のフィールドは次のとおりです。

  • Closed (boolean)
  • ID (key)
  • Start_Date (timestamp)
  • End_Date (timestamp)
  • Complete_Date (timestamp).
于 2013-01-16T17:05:42.127 に答える