我们最近决定开始使用Trac项目中的Severity
字段。但是,我无法想办法让字段出现在Eclipse的Mylyn插件的查询编辑器中 - 无论我尝试什么,该字段都不存在。
它确实显示在Web界面中,如果我在Mylyn中打开一个任务,我可以在那里设置一个严重性(所以在某些时候Mylyn 了解该属性正在被使用)但它没有出现在查询对话框中。
我有
没有成功。还有什么可以尝试的?
澄清:这与编辑故障单无关。它是关于从存储库中查询票证,使用右键单击任务列表 - > “新查询...”。
这就是我看到的形式:
我也希望某处有一个严重的字段。
答案 0 :(得分:1)
您必须获取TracQueryPage.java的来源并添加“严重性”列表。
在Eclipse中创建一个空的插件项目(例如命名为trac-connector-patch)
在插件文件夹中找到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
将TracQueryPage.java的源代码复制到源文件夹中
src \ org \ eclipse \ mylyn \ internal \ trac \ ui \ wizard \ TracQueryPage.java
修复项目构建路径:
修改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());
}
现在您已准备好路径插件jar(例如org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400.jar):
用修补的插件替换插件。并重启eclipse。
或者下载已修补的插件:http://franke.ms/download/org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400-patched.zip
答案 1 :(得分:0)
查看代码,似乎无法根据严重性进行查询。您可能需要在https://bugs.eclipse.org/bugs打开功能请求。如果您提供补丁,情况会更好。 :)
答案 2 :(得分:-1)
表单编辑器中没有带标签的字段,但名称旁边有一个图标。单击该图标可以定义严重性。