オープンソースJIRAのカレンダー





親愛なる行商人の皆さん、こんにちは! 今日は、JIRAで使用するカレンダーについてお話します。 少し前に更新しましたが、それについての記事は一度もなかったので、変更についてだけでなく、全体として書くことにしました。 カットの下の詳細。



何が欲しかった?





さらに、必要に応じて新しい機能を追加したいと思いますが、多かれ少なかれ適切なソリューションはすべてクローズドソースでした。



何を得たの?



カレンダーページには、ヘッダーをカウントしない2つのブロックが表示されます。 左側-イベント、右側-カレンダー自体。 カレンダーは、マイカレンダー、共有カレンダー、その他の3つのグループに分けられます。 最後のグループは、JIRA管理者のみに表示されます。 最初のグループはそれ自体を語り、2番目のグループには、グループまたはプロジェクトの役割を通じて共有されたカレンダーが含まれます。 3番目のグループでは、管理者には最初の2つのグループに含まれていないすべてのカレンダーが表示されます。 管理者は、すべてのカレンダーでほぼすべてを自由に行うことができます。削除、フィールドの編集、グループの変更、ボールの役割の設計などです。







作成/編集ウィンドウは、カレンダーを作成するための明らかなフィールドの単純なセットです。 必須は、名前、リクエストのソース、イベントの開始のみです。 ここで、使用可能なグループまたはプロジェクトの役割とカレンダーを共有することもできます。 右側のパネルでは、自分が共有しているカレンダーの表示を制御することもできます。 デフォルトでは、共有されているカレンダーは最初に非表示として表示されます。 これをクリックして変更できます。 色付きの正方形は、目に見えるカレンダー、色付きのフレーム-見えないことを意味します。



左側のパネルには、イベント自体があります。 レンダリングの問題の基礎として、jQueryプラグインFull Calendarを使用することにしました。 イベント自体には問題の概要のみが表示されますが、それぞれをクリックすると、別のポップアップで問題に関する情報が開き、この問題に切り替えることができます。







このポップアップにはデフォルトで表示されるフィールドがあります:アーティスト、著者、問題の説明。 カレンダーの作成者は、カレンダーの作成/編集ウィンドウの[フィールド]フィールドで残りのフィールドを構成できます。 JIRAで対応する問題を変更する権限があり、「イベントの開始」フィールドと「イベントの終了」フィールドが「作成済み」、「更新済み」、「解決済み」に設定されていない場合、イベントを移動および拡大できます。作成日、最終編集日、および問題の解決日にそれぞれ対応します。



技術部



フロントエンドでは、最新のAUIの1つを使用しましたこれは、 以前の投稿の 1つで説明されてます。 一方では、AUIライブラリのすべての最新コンポーネントを使用することは非常に便利ですが、他方では、後方互換性を確保するのは非常に面倒です。 Inline Dialog 2が登場するのはそれほど前ではなく、6.2より前のバージョンのJIRAでは使用できないとしましょう。 FullCalendarは、問題自体のレンダリングに使用されます。 バックエンド-e JIRA API +アクティブオブジェクトのデータストレージ。 JIRA APIを使用すると、イベント、イベントの開始と終了、問題へのアクセスの確認などに基づいてjqlを構築できます。 アクティブオブジェクトを使用すると、カレンダー自体に関するデータと、共有カレンダーを非表示にするか表示するかなどの優先ユーザー設定に関するデータの両方を便利に保存できます。 長い間、XMLにシリアル化する前に、PluginSettingクラスを使用してこの情報を抽出して保存しました。 前回のカレンダーの変更で、アクティブオブジェクトを使用することにしました。 1つ目は、シリアル化の必要がないこと、2つ目は、アクティブオブジェクトの操作が簡単になることです。



おわりに



このプラグインのさらなる開発を楽しみにしています。 特に、ポップアップイベントでカスタムフィールドを表示する機能を追加します。 ソースコードはgithubで表示できます。 JIRA 6.3+バージョンの更新されたカレンダーが利用可能です。



githubへのリンク-github.com/mailru/jira-plugins-mailrucal

マーケットプレイスへのリンク-marketplace.atlassian.com/plugins/ru.mail.jira.plugins.mailrucal



All Articles