0

最近Severity、Tracプロジェクトでフィールドの使用を開始することを決定しました。ただし、EclipseへのMylynプラグインのクエリエディターにフィールドを表示する方法がわかりません。何を試しても、フィールドはありません。

これはWebインターフェイスに表示され、Mylynでタスクを開くと、そこで重大度を設定できます(したがって、ある時点でMylyn属性が使用されていることを認識します)が、クエリダイアログには表示されません。

私は持っています

  • すべてのタスクに重大度が設定されていることを確認しました。
  • Eclipseを再起動しました
  • リポジトリと同期
  • 「リポジトリから属性を更新」を数回押します
  • Mylynを再インストールしました

成功せずに。これ以上試すことはありますか?

明確化:これはチケットの編集に関するものではありません。これは、タスクリストで右クリック->[新しいクエリ...]を使用してリポジトリからチケットをクエリすることです

これは私が見るフォームがどのように見えるかです:

ここに画像の説明を入力してください

どこかに重大度のフィールドも必要です。

4

3 に答える 3

1

TracQueryPage.java のソースを取得し、「重大度」のリストを追加する必要があります。

  1. http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.6.2/org.eclipse.mylyn.trac/ui/3.4.2/org/eclipse/mylyn/internal/trac/ ui/wizard/TracQueryPage.java?av=f

  2. Eclipse で空のプラグイン プロジェクトを作成します (例: trac-connector-patch という名前)。

  3. プラグイン フォルダーで org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400.jar を見つけ、MANIFEST.MF をプラグイン プロジェクトの META-INF フォルダーにコピーします。「Name:」と「SHA1-Digest:」で始まるすべての行を削除し、Bundle-Symbolic-Name を次のように変更します。

    Bundle-SymbolicName: org.eclipse.mylyn.trac.ui-patched;singleton:=true

  4. TracQueryPage.java のソースをソース フォルダにコピーします。

    src\org\eclipse\mylyn\internal\trac\ui\wizard\TracQueryPage.java

  5. プロジェクトのビルド パスを修正します。

    • org.eclipse.mylyn.internal.trac.ui および org.eclipse.mylyn.internal.trac.ui.editor の MANIFEST.MF からエクスポートを削除します。
    • コンテキスト メニュー「PDE ツール -> クラスパスの更新」を使用します。
    • org.eclipse.swt にまだエラーがある場合は、eclipse プラグイン フォルダーから swt jar を外部 jar としてプロジェクト ビルド bpath (例: org.eclipse.swt.win32.win32.x86_64_3.7.1.v3738a.jar) に追加します。
  6. TracQueryPage を変更する

    // add a new list search field
    private ListSearchField severityField;
    ...
    
    protected Control createTicketAttributes(Composite control) {
        Composite group = new Composite(control, SWT.NONE);
        GridLayout layout = new GridLayout();
    
        layout.numColumns = 5; // add a column
    
        group.setLayout(layout);
        GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
        gd.horizontalSpan = 1;
        group.setLayoutData(gd);
    
        Label label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Status);
    
        label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Resolution);
    
        label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Type);
    
        label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Priority);
    
        label = new Label(group, SWT.LEFT);
        label.setText("Severity"); // TODO use a property
    
        statusField = new ListSearchField("status"); //$NON-NLS-1$
        statusField.createControls(group, STATUS_HEIGHT);
    
        resolutionField = new ListSearchField("resolution"); //$NON-NLS-1$
        resolutionField.createControls(group, STATUS_HEIGHT);
    
        typeField = new ListSearchField("type"); //$NON-NLS-1$
        typeField.createControls(group, STATUS_HEIGHT);
    
        priorityField = new ListSearchField("priority"); //$NON-NLS-1$
        priorityField.createControls(group, STATUS_HEIGHT);
    
        // add the severityField
        severityField = new ListSearchField("severity"); //$NON-NLS-1$
        severityField.createControls(group, STATUS_HEIGHT);
    
        return group;
    }
    
    private void updateAttributesFromRepository(final boolean force) {
        ...
    
        statusField.setValues(client.getTicketStatus());
        resolutionField.setValues(client.getTicketResolutions());
        typeField.setValues(client.getTicketTypes());
        priorityField.setValues(client.getPriorities());
    
        // also update the severities
        severityField.setValues(client.getSeverities());
    
        componentField.setValues(client.getComponents());
        versionField.setValues(client.getVersions());
        milestoneField.setValues(client.getMilestones());    
    }
    
  7. これで、プラグイン jar をパスする準備ができました (例: org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400.jar):

    • 変更したクラスで TracQueryPage.class を上書きします
    • MANIFEST.MF から TracQueryPage.class の "Name:" および "SHA1-Digest:" 行を削除します。
  8. プラグインをパッチを適用したプラグインに置き換えます。そしてEclipseを再起動します。

  9. または、既にパッチが適用されたプラグインをダウンロードします: http://franke.ms/download/org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400-patched.zip

于 2012-05-23T08:05:07.747 に答える
0

コードを見ると、重大度に基づいてクエリを実行することはできないようです。https://bugs.eclipse.org/bugsで機能リクエストを開くことをお勧めします。パッチを提供するとさらに良いでしょう。:)

于 2012-01-23T20:56:53.923 に答える
-1

フォーム エディターにラベル付きフィールドはありませんが、名前の横にアイコンがあります。そのアイコンをクリックすると、重大度を定義できます。

ここに画像の説明を入力

于 2012-01-12T09:16:58.483 に答える