NetBeans IDE の課題追跡の操作
NetBeans IDE では、課題追跡を操作して、課題の検索や更新、および新規課題の報告などの一般的なタスクを実行できます。プロジェクトがバージョン管理下にある場合、コミット処理の一部として課題を更新できます。このチュートリアルでは、IDE を使用して、バージョン管理されたリポジトリからサンプルプロジェクトを開きます。このプロジェクトを開いたあと、プロジェクトの課題の表示方法、新規課題の報告方法、課題に添付されたパッチファイルの適用方法、および変更をコミットするときに課題を解決する方法を確認します。また、このチュートリアルでは、IDE で外部の課題追跡を登録して使用する方法も示します。
統合された課題追跡を NetBeans IDE で使用する方法に関するビデオをご覧ください。
目次
このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
注: このチュートリアルには、Subversion バージョン管理システムが必要です。IDE での Subversion の使用に関する詳細については、Subversion のガイドツアーで Subversion の設定に関する節を参照してください。
サンプルプロジェクトを開く
デモの目的で、このチュートリアルでは、サンプルプロジェクトの Anagram Game を使用して、IDE で課題追跡を操作する方法について説明します。Anagram Game サンプルプロジェクトのソースは、Subversion リポジトリに NetBeans プロジェクトとして存在し、プロジェクトの Bugzilla 課題追跡があります。このチュートリアルで示すタスクは、サポートされる任意の課題追跡 (Bugzilla、JIRA) とバージョン管理システム (Subversion、Mercurial) で使用できます。
プロジェクトリポジトリの場所がわかっている場合は、「チェックアウト」ウィザードを使用して、リポジトリから直接ソースをチェックアウトできます。次の手順を実行し、「チェックアウト」ウィザードを使用して、プロジェクトソースを直接チェックアウトします。
- 「チーム」>「Subversion」>「チェックアウト」を選択して、「チェックアウト」ウィザードを開きます。
- 「リポジトリ URL」に「https://svn.kenai.com/svn/anagram-game~subversion」と入力します。「次へ」をクリックします。
- ウィザードで「参照」をクリックしてリポジトリフォルダを指定し、AnagramGame を選択します。「了解」をクリックします。
- ローカルリポジトリのローカルフォルダの場所を指定します。
- 「完了」をクリックします。
「完了」をクリックすると、IDE はローカルフォルダを Subversion リポジトリとして初期化し、プロジェクトソースをチェックアウトします。
- チェックアウトが完了するときに表示されるダイアログで、「プロジェクトを開く」をクリックします。
「プロジェクトを開く」をクリックすると、「プロジェクト」ウィンドウにプロジェクトが NetBeans プロジェクトとして開かれます。
注: このチュートリアルでは、スタックトレースを操作し、課題に添付されるパッチを適用する方法を説明します。これらのタスクを実行するには、プロジェクトソースをチェックアウトする必要があります。
課題追跡の登録
IDE では、サポートされている課題追跡をいくつでも登録できます。課題追跡を登録すると、課題追跡の名前が課題フォームとコミットダイアログボックスの「課題追跡」ドロップダウンリストに追加されるため、IDE 内から課題を表示、更新、および作成できます。「サービス」ウィンドウで、既存の Bugzilla または JIRA 課題追跡を IDE に登録できます。
注: JIRA 課題追跡を使用するには、アップデートセンターから JIRA サポートプラグインをダウンロードする必要があります。詳細については、NetBeans FAQ の「NetBeans JIRA プラグインを取得してインストールする方法」を参照してください。
次の手順を実行して、Anagram Game プロジェクトの課題追跡を登録します。
- 「サービス」ウィンドウで「課題追跡」ノードを右クリックして、「課題追跡を作成」を選択します。
- 課題追跡のコネクタを選択します。
(Anagram Game は Bugzilla 課題追跡を使用します。)
- 課題追跡として「AnagramGame」と入力します。
入力した名前は、IDE のウィンドウとダイアログで、課題追跡の特定に使用されます。
- 課題追跡の URL を指定します。
(Anagram Game の課題追跡の URL は http://kenai.com/bugzilla/ です)
- 「妥当性検査」をクリックして、課題追跡への接続をテストします。「了解」をクリックします。
「了解」をクリックすると、「サービス」ウィンドウの「課題追跡」ノードに、新しい課題追跡のノードが追加されます。
課題追跡を追加したあと、その追跡のノードを右クリックして、次のタスクを実行できます。
- 既存の課題の検索
- 新規課題の報告
- 課題追跡の詳細の編集
- 課題追跡のリストからの削除
「チーム」メニューからタスクを選択して、課題の検索と報告を行うこともできます。
課題の検索と表示
この節では、IDE の「課題を検索」ウィンドウを使用して、Anagram Game プロジェクトの未解決の課題の一覧を取得します。Anagram Game プロジェクトに関連付けられている課題追跡には、いくつかの課題の例が含まれています。「チーム」メニューからタスクを選択して、「課題を検索」ウィンドウを開くことができます。
課題の検索と検索クエリーの保存
この課題では、「課題を検索」フォームを使用してすべての新規 P1 課題を検索します。
- メインメニューから「チーム」>「課題を検索」を選択して、「課題を検索」ウィンドウを開きます。
または、「サービス」ウィンドウの課題追跡のノードを右クリックして、「課題を追跡」を選択できます。
- 「課題追跡」ドロップダウンリストから「Anagram Game」を選択します。
- 「製品」リストから「anagram-game」を選択します。
- 追加の検索条件を指定するには、「ステータス」として「NEW」および「優先順位」として「P1」を選択します。「検索」をクリックします。
「検索」をクリックすると、条件に一致するすべての課題が検索され、フォームの下部に結果が一覧表示されます。
- 「課題を検索」タブの下部にある「このクエリーを保存」をクリックします。
- 「クエリーを保存」ダイアログで、クエリーの名前として「New P1 issues」と入力します。「保存」をクリックします。
「保存」をクリックすると、IDE によってクエリー結果を表示する「クエリー」タブが開かれます。
クエリーの保存後、「私のクエリ」の横に表示された名前をクリックして、「課題を検索」タブからいつでもクエリーを再実行できます。一覧の課題をダブルクリックして、新しいタブに課題を開くことができます。
「クエリー」タブでは、次を実行して課題の一覧を変更できます。
- 列見出しをクリックして、課題が一覧表示される順序をソートします。
- 「フィルタ」ドロップダウンリストを使用して、表示されているる結果をフィルタします。
- 「再表示」をクリックして、課題の最新の一覧を取得します。
「クエリー」タブの「クエリーを変更」をクリックして、保存したクエリーの検索条件を変更します。
課題の表示と更新
この課題では、Anagram Game プロジェクトの課題の詳細を表示し、変更します。
検索結果の一覧で課題をダブルクリックすると、IDE で課題を表示し、更新できます。課題を表示するときには、プロジェクトのメンバーになったりログインしたりする必要はありませんが、解決のために課題を更新したり、コメントを追加したり、優先順位を変更したりするには、プロジェクトの課題追跡に登録してプロジェクトにログインしている必要があります。
Kenai プロジェクトのメンバーに追加されると、プロジェクトの課題追跡に自動的に登録され、課題の変更や新規課題の送信ができます。
- プロジェクトの課題の一覧を開きます。
- 課題 #257「Typo in StaticWordLibrary」をダブルクリックして、メインウィンドウに課題の詳細を表示します。
- 課題の詳細に任意の変更を加えてから、コメントを追加します。「変更を送信」をクリックします。
「変更を送信」をクリックすると、IDE が課題追跡に接続して課題の詳細を更新します。課題に変更を加えたユーザー、担当者、および課題内にコピーされたその他のアドレスに、電子メールが送信されます。
注: このチュートリアルでは、Anagram Game プロジェクトのメンバーではないため、この課題への変更は送信できません。
新規課題の報告
この節では、IDE から Anagram Game プロジェクトの新規課題を送信する方法を示します。
IDE では、「新規課題を報告」フォームを使用して、登録されている課題追跡に新規課題を送信できます。このフォームを開くには、メインメニューから「チーム」>「課題を報告」をクリックし、フォーム内のドロップダウンリストから課題追跡を選択します。
注: 課題を報告するには、課題追跡に登録していて、ログインしている必要があります。ログインしていない場合、課題を送信するときにログインを求めるメッセージが表示されます。
Anagram Game プロジェクトの新規課題を報告するには、次の手順を実行します。
- メインメニューから「チーム」>「課題を報告」を選択して、「新規課題を報告」ウィンドウを開きます。
- 「課題追跡」ドロップダウンリストから追跡を選択します。
- 「製品」ドロップダウンリストからプロジェクトを選択します。
- 課題の詳細、要約、および説明を指定します。「課題を送信」をクリックします。
「課題を送信」をクリックすると、課題追跡に課題が送信されます。
注: この例では、プロジェクトのメンバーではないため課題の送信はできません。
スタックトレースの操作
プロジェクトのソースコードを参照するスタックトレースが課題の説明に含まれている場合、課題から直接ローカルソースコード内の行に移動できます。課題にコピーされたスタックトレースは、出力ウィンドウ内のスタックトレースと同じ方法で使用できます。
注: スタックトレースからソースコード内の行に移動するには、プロジェクトソースがチェックアウトされていて、プロジェクトが IDE で開かれている必要があります。
- 課題 1446「Cannot start AnagramGame due to NullPointerException」を開きます。
Anagram Game プロジェクトの課題 1446 は、アプリケーションを実行すると NullPointerException がスローされることを示しています。
- 課題の説明で、スタックトレース内の次の行をクリックします。
com.toy.anagrams.ui.Anagrams$2.windowOpened(Anagrams.java:72)
課題の説明には、出力ウィンドウからコピーされたスタックトレースのコピーが含まれます。
スタックトレース内でこの行をクリックすると、ローカルファイルがエディタで開き、ソースコード内の指示された行に挿入カーソルが配置されます。
注: このチュートリアルの始めにソースをチェックアウトしたため、IDE でローカルファイルを開くことができます。
Anagram Game アプリケーションを起動して、出力ウィンドウに出力を表示すると、例外を再現できます。出力ウィンドウに、次のような出力が表示されるはずです。
パッチファイルを開いて適用する
この節では、添付されたパッチファイルを表示してから適用します。
課題 1446 では、Anagram Game アプリケーションを実行したときに NullPointerException が発生することが報告されています。課題には、NullPointerException の修正を含むパッチファイルが添付されています。パッチファイルが課題に添付されている場合は、課題ウィンドウから直接パッチを開いて適用できます。
- 課題 1446「Cannot start AnagramGame due to NullPointerException」を開きます。
- 課題に添付されているパッチファイルの名前をクリックします。
ファイル名をクリックすると、ファイルがエディタで開きます。パッチによって、StaticWordLibrary.java に次の変更が加えられることが確認できます。
- static WordLibrary DEFAULT;
+ final static WordLibrary DEFAULT = new StaticWordLibrary();
パッチファイルを閉じます。
- 課題のウィンドウで、添付されているパッチファイルの名前の横にある「適用」をクリックして、「パッチを適用」ダイアログボックスを開きます。
- 「パッチを適用」ダイアログで、Anagram Game プロジェクトを展開してソースパッケージディレクトリを選択します。「適用」をクリックします。
注: パッチを適用する場合には、パッチが作成されたルートの場所に応じて、ソースパッケージディレクトリまたはファイルを選択する必要があります。この場合は、パッチを適用するときのルートの場所に、ソースパッケージディレクトリを指定する必要があります。
「適用」をクリックすると、パッチが適用され、StaticWordLibrary.java が修正されます。ファイルをエディタで開いて変更を確認できます。「プロジェクト」ウィンドウを見ると、ファイルが修正済みとマークされていることが確認できます。
バージョン管理との統合
この節では、Anagram Game プロジェクトのソースに対して変更をコミットする処理の一部として、課題を更新します。
IDE では、ソースコードのバージョン管理のサポート (Subversion または Mercurial を使用) と、サポートされている課題追跡が統合されています。統合サポートによって、登録済みの課題追跡にある課題を、コミット処理の一部として更新できます。
Kenai には、ホストされているプロジェクトで利用できるサービスの 1 つに、専用のバージョン管理リポジトリがあります。Kenai プロジェクトの Anagram Game を開いてプロジェクトソースをチェックアウトすると、プロジェクトが自動的にプロジェクトの課題追跡に関連付けられます。
NetBeans IDE での Subversion の使用方法の詳細については、「Subversion のガイドツアー」を参照してください。
Kenai でのバージョン管理システムのサポートの詳細については、ソースコード管理に関する Kenai のドキュメントを参照してください。
この課題では、コミット処理の一部として課題を更新する方法を示します。
- 「プロジェクト」ウィンドウで、「ソースパッケージ」ノードの下の「com.toy.anagrams.lib」パッケージを展開します。
Anagram Game は、すでにバージョン管理リポジトリ内にあります。リポジトリにコミットする必要のある、変更済みのソースファイルの名前は、青で表示されます。ディレクトリに付いたバッジは、そのディレクトリにコミットする必要のあるファイルが含まれていることを示します。
- StaticWordLibrary.java ファイルを右クリックし、「Subversion」>「コミット」をクリックして「コミット」ダイアログを開きます。
- コミットを説明する「コミットメッセージ」を入力します。
- 「コミット」ダイアログで「課題を更新」パネルを展開します。
- ドロップダウンリストから Anagram Game プロジェクトの課題追跡を選択します (選択されていない場合)。
- 「課題」フィールドに「1446」と入力します。
コミットしようとしている StaticWordLibrary.java への変更は、課題 1446 でレポートされた例外を修正するものです。
課題フィールドに、課題 ID (1446) または課題の説明に含まれているテキストの一部 (NullPointerException) を入力します。入力したテキストに一致する課題の一覧が表示されます。
- 「修正済みとして解決」チェックボックスを選択します。
「修正済みとして解決」を選択すると、課題のステータスが「解決」に変更されます。
- (省略可能)「コミットメッセージと課題に詳細を追加する」を選択し、詳細を追加します。「変更」をクリックして、追加の詳細の書式設定の方法を変更できるダイアログを開くことができます。
- 「コミット」をクリックします。
「コミット」をクリックすると、リポジトリに対する変更がコミットされ、課題が更新されます。ログインしていない場合は、ユーザー名とパスワードの入力を求めるメッセージが表示されます。
注: この例では、プロジェクトのメンバーではないため変更のコミットはできません。
このチュートリアルでは、IDE を使用して課題追跡を操作する方法を説明しました。Bugzilla と JIRA の課題追跡の統合サポートにより、IDE から課題の表示、更新、および報告ができるようになりました。チームサーバーでホストされているプロジェクト、およびチームサーバーでホストされている課題追跡に関連付けられているプロジェクトの場合は、チームダッシュボードからプロジェクトの課題を操作できます。
ほかの種類のプロジェクトの場合は、IDE に Bugzilla および JIRA 課題追跡を登録したあと、「チーム」メニューの項目を使用して課題の表示と報告を行うことができます。
関連項目
共同作業環境での NetBeans IDE の使用方法の詳細については、次のチュートリアルを参照してください。