Jira:プラグインの作成。 フレームワーク機能

すべてにご挨拶。

この記事は、Webプログラミングの分野の初心者がJIRAでプラグインを作成する方法を学ぶのに役立ちます。 このシステムを使用して作業を始めたとき、私は最初に、十分に詳細なロシア語のガイドが1つもないという事実に直面しました。 そして、第二に、記事のほとんどは経験豊富な人々向けに設計されています。

まず、プラグインを作成する際の主なポイントとエラー、およびJIRAプラグインの構造を検討します。これにより、初心者のWebプログラマーのタスクが大幅に簡素化されます。



MavenとSDKのセットアップとインストール、プラグインの作成に必要なもの、およびIDEへの統合については、 Atlassian Webサイトに詳細に記述されているため、それらの目的について簡単に説明します。 Mavenは、プラグインの作成を実装するフレームワークです。 SDK(ソフトウェア開発キット)は、Mavenの機能を拡張し、プラグインの作成プロセスを簡素化し、JIRAでの作業に必要な多数のライブラリをMavenに追加します。



プラグイン作成



その場所のディレクトリを選択することで開始し(コマンドラインcd C:\ your_directory )、その後プラグインスケルトンatlas-create-jira-pluginコマンドで作成されます 。 設定の選択肢が提供されます。 名前、バージョンなどを選択するなどの簡単な操作の後、スケルトンになります。 スケルトンは、次の主要部分で構成されています。



Pom.xmlファイル


プラグインのルートにあります。 このxmlファイルには、プラグインの名前、バージョン、プラグインに関する情報(開発者など)、そして最も重要なこととして、必要なライブラリが含まれています。

上記のサイトのチュートリアルには十分な例がありますが、いくつかの問題領域の概要を説明します。

プラグインがatlas-mvn cleanパッケージまたはコマンドラインのatlas-runコマンドでビルドされておらず、構文エラーが表示されない場合、pom.xmlファイルにあります。

最も一般的なコマンドラインエラー:

1)jira-coreの依存関係はコメント解除されていません。これにより、ほとんどのjiraライブラリにアクセスでき、少なくとも標準機能を超えた何かを行う場合に必要です。

2)pom.xmlファイルにかなりのエラーはありませんが、多くの時間を費やしました。 自宅/職場/コーディングする場所にプロキシがある場合は、Maven構成ファイルでプロキシを慎重に構成します 。 これを行う方法-アトラシアンのWebサイトを参照してください。

3)必要なライブラリが登録されていません。 ここで問題が発生する可能性があります:Mavenでの外部ライブラリのインストールはMaven Webサイトで説明されていますが、Atlassian SDKを扱っている場合は、 mvn install: mvn.batファイルへのフルパスでインストールします。 : C:\ Atlassian \ atlassian-plugin-sdk \ apache-maven \ bin \ mvn install:install .....その後、%Atlassian_HOME%\ atlassian-plugin-sdkにあるMavenリポジトリにライブラリを追加する必要があります\リポジトリ



Atlassian-plugin.xmlファイル


src / main / resourcesにあります。

このファイルは、システムとプラグインのインストール時の相互作用を完全に担当します。 プラグインに含まれるモジュール、プラグインが使用するコンポーネントとリソース(ローカライズファイル、javascript、css、画像)について説明します。 すべての可能なモジュールはアトラシアンによって識別され、 その場所で完全なリストが再び表示されます。 これらのモジュールは、タスクの実装に十分です。 含めて、いくつかのJIRAクラスをオーバーライドできます。

また、初心者には完全に明確ではないもの、つまりJavaクラスと速度テンプレートの関係がこのファイルに記述されています。 Velocityはjspのようなページテンプレート言語です。 pascalに似た独自の単純な構文があります。 主な機能-Javaクラスから渡されるパラメーターに応じて、ページコードを部分的に(この場合)または完全に生成します。 さまざまな条件を設定したり、サイクルを実行したりできます。 さらに、速度コードはhtmlとjavascriptの両方と互換性があるため、強力なツールになります。

atlassian-plugin.xmlでカスタムフィールドモジュールを作成する例を考えてみましょう。これは、atlassian-plugin.xmlファイルと速度テンプレートの構築の原則を理解するのに最適です。 次に、次のコードがあります。

<customfield-type name="MyCF" i18n-name-key="my-first-cf" key="MyCf" class="com.example.cf"> <description key="field-desc">The new field</description> <resource name="view" type="velocity" location="/templates/view.vm"/> <resource name="edit" type="velocity" location="/templates/edit.vm"/> </customfield-type>
      
      





もっと詳しく考えてみましょう。

name-インストールされたプラグインを表示するときに表示されるモジュールの名前

i18n-name-key -JIRAが.propertiesファイルで人間が読めるモジュール名を検索するためのキー(特に内部化、つまりプラグインを複数の言語に翻訳する場合)

class-フィールドの動作を定義するJavaクラス。 フィールドの値を表示/編集しようとするたびに、このメソッドの一部のメソッドが実行され、値の有効性をチェックするメソッドもあります。 ただし、これは別の話です。

説明 -すべては名前付きで、説明のみ

そして、おそらく、最も興味深いリソースです。 ここでは、カスタムフィールドの場合、速度ファイルが常に示されます。これは、フィールドの編集、フィールドの表示、「クエリの検索」でのフィールドの表示、xml形式での出力時のフィールドの表示など、さまざまな状況でフィールドを表示する役割を果たします。



速度ファイル


デフォルトでは、値はカスタムフィールドの速度ファイルに転送されます。$ value-現在の値、$ customfiled-フィールドオブジェクト$ fieldLayoutItem-フィールド特性。 速度ファイル内には#headerおよび#footerオブジェクトへの呼び出しがありますが、これらはめったに触れられません。通常は、間にあるもので動作を構成するのに十分です。 最も単純な例では、1つのhtmlで十分なので、javascriptを有効にする必要があります。 さて、複雑なフィールドには、すべてが一緒に必要になります。新しいパラメーターの速度、条件、速度サイクルへの転送、上記とhtmlおよびjavascriptの巧妙な組み合わせ。



.Propertiesファイル


プラグインを国際化するために、既に説明したとおり、これらは使用されます。

リソースのリストでそれを示し、異なる末尾(ロシア連邦-MyProject_ru_RU.propertiesの場合)でコピーを作成し、選択した言語に応じて出来上がり、インターフェースは私の例では英語からロシア語に変わります。



プラグインモジュールの作成



ここではすべてが簡単です。atlas-create-jira-plugin-moduleコマンドを使用すると、既存のプロジェクトに新しいモジュール(customfield、rest、projectタブ)を追加できます。 このコマンドはatlassian-plugin.xmlを変更し、新しいJavaクラスと速度ファイルを追加します。 プロジェクトへの移行後にcdコマンドで実行されます。 正確に言うと 、常に都市のテンプレートへのパスがatlassian-plugin.xmlに正しく記述されています。 すべてのモジュールをこの方法で追加できるわけではなく、一部のモジュールは手動で追加する必要があることに注意してください。



Eclipseにインポートするためのプロジェクトの準備





推奨されるアトラシアン開発環境としてEclipseを使用しています。 .projectファイルは、atlas-mvn eclipse:eclipseコマンドの作成に役立ちます。 pom.xmlに基づいて、mavenおよびアトラシアンのリポジトリから必要なライブラリもロードします。



更新:Intellij IDEAでプラグインをビルドしようとした後、IDEAが私の選択であることに気付きました。 .pomファイルで定義された依存関係のほとんどは(cmdのコマンドなしで)自動的にロードされるため、時間と神経が大幅に節約されます。



フィニッシュライン





そして最後に、上記のすべてを実行してコードを記述した後、コマンドラインでatlas-mvn cleanパッケージを作成してプラグインバージョンを収集するか、またはatlas-runでプラグインを収集してローカルJiraを起動し、さらなる開発およびテストプロセスを楽しむことができます。



All Articles