JIRA用のプラグインの開発はどこから始めますか?

強力でカスタマイズ可能なバグ/タスクトラッカーJIRA(またはConfluence)を使用すると、時間が経つにつれて、必要な機能がサイトに表示される標準プラグインから取得できない場合があることがわかります。 このため、新しいレベルに行く必要があります:独自の開発。 この時が来ると、疑問が生じます。どこから始めればいいのでしょうか? JIRAとConfluenceのライブラリには多くの依存関係がありますが、それらをリンクして適切なライブラリを作成する方法はありますか? どこでそれをすべてするのですか?
この記事ではプラグインの作成方法については説明しません。なぜなら、それぞれのアプローチには異なるアプローチが必要だからです。 開発用のプラットフォームを準備する方法のみを説明します。

開発には、Java、速度、Weber html、css、jsの知識が必要です。 IDE for Java(この場合はEclipseを使用)での経験、tomcat、mysql、およびインストールされたJIRAトラッカーとの友情。開発されたプラグインがテストされます。
すべての作業はOS Gentoo 2008で実行されます。すでにインストールされています:

注: MySQLデータベースを使用してJIRAをインストールする場合は、mysql-connector-javaをインストールしてMySQLデータベースサーバーでの操作を構成することを忘れないでください。Linuxでは、 Windowsおよび/usr/share/tomcat-5.5/common/lib/)
注2:インストール済みのJDKが1.5以上であることを確認してください

2. Maven2のインストール


Gentooのインストールはポートから行われます: emerge -av maven-bin 、現在バージョン2.0.9がインストールされており、プラグイン開発の要件に適合しています。 Widnowsの場合は、 http ://maven.apache.org/download.htmlにアクセスする必要があります。
プラグインのビルド時にMavenが依存関係を見つけるためには、すべてが保存されている場所を示す必要があります。 $ HOME / .m2ディレクトリに、 settings.xmlファイルを配置します 。 このファイルの例は、ページhttp://confluence.atlassian.com/display/DEVNET/Example+settings.xmlで説明できます

3.プラグインスケルトンの作成


それで、JIRA(および、一般的に、アトラシアンのすべてのアプリケーション)のプラグインの開発が始まる最初の段階に到達しました:アーキテクチャスケルトンの作成。 一般に、ここではすべてがささいなものです。キーのセットを使用してmvnコマンドを実行する必要があります。 アプリケーションのプラグインアーキテクチャのスケルトンを作成するために必要なすべてのコマンドは、 http//confluence.atlassian.com/display/DEVNET/Atlassian+Plugin+Archetypesページにあります 。 この場合、JIRAは次のセットを実行する必要があります。
mvn archetype:create \
-DarchetypeGroupId=com.atlassian.maven.archetypes \
-DarchetypeArtifactId=jira-plugin-archetype \
-DarchetypeVersion=15 \
-DremoteRepositories=https://maven.atlassian.com/repository/public/ \
-DgroupId=$MY_PACKAGE -DartifactId=$MY_PLUGIN

さらに、IDEがこれが自分のプロジェクトであることを理解できるように、作成されたフォルダーでコマンドmvn eclipse:eclipseを実行します。
Mavenのライブラリーがある場所をEcpliseに指定する必要がある場合、これを行うには、次を実行します。
mvn -Declipse.workspace = <eclipse-workspaceへのパス>
実際、Eclipseのワークスペースフォルダーにプラグインスケルトンを作成する手順を簡素化するために、必要なコマンドを配置するatchetype.shファイルを作成しました。 次に、パッケージ名と作成したプラグインの名前を入力する必要がある変数$ MY_PACKAGE$ MY_PLUGINを入力し、IDEのプロジェクト作成コマンドを追加しました。
#!/bin/sh
if [ -z "$1" ]; then
echo "archetype <package_name> <plugin_name>"
else
MY_PACKAGE=$1
fi
if [ -z "$2" ]; then
echo "archetype <package_name> <plugin_name>"
else
MY_PLUGIN=$2
fi
mvn archetype:create \
-DarchetypeGroupId=com.atlassian.maven.archetypes \
-DarchetypeArtifactId=jira-plugin-archetype \
-DarchetypeVersion=15 \
-DremoteRepositories=https://maven.atlassian.com/repository/public/ \
-DgroupId=${MY_PACKAGE} -DartifactId=${MY_PLUGIN}
cd ./${MY_PLUGIN}
mvn eclipse:eclipse

./archetype.sh <パッケージ名> <プラグイン名>を実行するだけで、構造全体が作成されます。 初めて起動した場合は、JIRAまたはConfluence用に開発されたプラグインの標準的な依存関係で必要とされるjarライブラリーという小さなファイルが何十もダウンロードされます。

4.開発が始まります


次に、完成したプロジェクトをEclipseにインポートします。 そして、将来的にJIRAまたはConfluenceの新しいプラグインを作成するために、生産的なプログラミングを開始できます。

ライブラリをMavenリポジトリに追加する


場合によっては、ライブラリをMavenリポジトリに追加する必要があります。たとえば、javax.mailは自動的にダウンロードされません。 ライセンス契約が必要です。 javax.mail-1.3.2の場合:フォルダーに移動します: $ HOME / .m2 / repository / javax / mail / mail / 1.3.2のmail-1.3.2.pomファイルで、必要なライブラリのダウンロード元とダウンロード先のリンクを見つけます彼女とアーカイブ。 アーカイブには、必要なドキュメントとmail.jarが含まれています。 次に、コマンドでリポジトリに追加します: mvn install:install-file -DgroupId = javax.mail -DartifactId = mail -Dversion = 1.3.2 -Dpackaging = jar -Dfile = <path to the library> mail.jar 。 他のライブラリの場合、 -DgroupId-DartifactId-Dversionキーのデータを変更する必要があります

プラグインアセンブリ


プラグインの作成後、インストールする前に、プラグインをコンパイルする必要があります。mvn source:jar install -Dmaven.test.skip = true、プロジェクトフォルダー実行し、ターゲットフォルダーでjarを取得します。 結果のjarをWEB_INF / libにコピーし、tomcatを再起動します。 すべてが正常な場合、管理→システム→プラグインセクションで、作成されたプラグインを見つけることができます。 エラーの可能性がある場合:ログを見て修正します。

Source: https://habr.com/ru/post/J64384/


All Articles