标题与描述均提到了“Jira搜索的一些方法”,这表明文章将聚焦于Jira平台上的高级搜索技巧。Jira是一款广泛应用于项目管理和软件开发领域的工具,其强大的搜索功能是提高工作效率的关键之一。以下是对该主题的深入解析: ### Jira搜索的基础 在深入探讨之前,我们先了解Jira搜索的基本概念。Jira支持多种查询语言,其中最常用的是JQL(Jira Query Language)。通过JQL,用户可以精确地定位到满足特定条件的问题,比如按项目、问题类型、状态、创建者或分配者等进行筛选。 ### Jira搜索的高级技巧 #### 1. 使用JQL构建复杂查询 JQL允许用户通过逻辑运算符(AND、OR、NOT)组合多个条件,实现更精细的搜索。例如,你可以搜索所有被标记为“高优先级”且“未解决”的问题。 #### 2. 利用预定义的搜索器 Jira内置了一些预定义的搜索器,如“我的问题”、“我分配的问题”等,这些搜索器能够快速定位到用户最关心的信息。但是,对于更复杂的定制需求,可能需要自定义搜索器。 #### 3. 自定义搜索器的实现 在部分代码片段中,我们看到了对`EnhancedMultiSelectSearcher`类的定义,这是一个扩展了`MultiSelectSearcher`的自定义搜索器示例。通过继承和重写方法,可以实现对多选字段更灵活的搜索逻辑。例如,`getViewHtml`和`getEditHtml`方法用于生成视图和编辑界面的HTML,而`isRelevantForQuery`则用于判断查询是否与当前搜索器相关。 #### 4. 集成Velocity模板引擎 代码片段中还提到了Velocity模板引擎的使用。Velocity是一种模板引擎,常用于动态生成HTML页面。在Jira的搜索器中,Velocity可用于根据不同的搜索条件动态生成搜索界面,提供更友好的用户体验。 ### 总结 掌握Jira的搜索技巧对于提升项目管理效率至关重要。无论是熟练运用JQL,还是自定义搜索器,亦或是集成模板引擎优化搜索界面,都是提升工作效率的有效手段。对于开发人员而言,理解如何自定义搜索器并利用模板引擎生成动态界面,将使他们能够更灵活地应对各种复杂查询需求,从而更好地服务于项目管理和软件开发流程。 Jira的搜索功能不仅包括基础的JQL查询,还有高级的自定义搜索器和模板引擎集成,这些都是IT专业人员在使用Jira时不可忽视的重要知识点。



























import com.atlassian.jira.util.JiraComponentLocator;
import com.atlassian.jira.issue.customfields.searchers.MultiSelectSearcher;
/**
* Workaround for http://forums.atlassian.com/message.jspa?messageID=257329110&tstart=0
*/
public class EnhancedMultiSelectSearcher extends MultiSelectSearcher {
public EnhancedMultiSelectSearcher()
{
super(new JiraComponentLocator(), JiraComponentFactory.getInstance());
}
}
searchHtml = getDescriptor().getSearchHtml(getSearchInformation().getField(),
new MultiSelectCustomFieldValueProvider(), searchContext,
fieldValuesHolder, displayParameters, action, null);
private SearchRenderer searchRenderer;
private SearchRenderer searchRendererSuper;
@Override
searchRendererSuper = super.getSearchRenderer(); //save the standart searchRenderer
if(searchRenderer == null)
searchRenderer = new SearchRenderer() {
public boolean isShown(User arg0, SearchContext arg1) {
return searchRendererSuper.isShown(arg0, arg1);
}
public boolean isRelevantForQuery(User arg0, Query arg1) {
return searchRendererSuper.isRelevantForQuery(arg0, arg1);
}
//this is shown in the show tab of the IssuNavigator
public String getViewHtml(User arg0, SearchContext searchContext,
FieldValuesHolder fieldValuesHolder, Map<?, ?> displayParameters,Action action) {
//Here populate your Velocity
// and use
String viewHtml = null;
try{
viewHtml = getDescriptor().getViewHtml(getSearchInformation().getField(),
new MultiSelectCustomFieldValueProvider(), searchContext, fieldValuesHolder,
displayParameters, action, velocityParams);
}
剩余7页未读,继续阅读


- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 采购电子商务平台(网上超市部分)操作手册.doc
- 工程进料台帐(QR7.4.1-05).docx
- 一号机深层搅拌桩原始记录表.doc
- 悬挑钢管脚手架在筒库顶板施工中的应用.doc
- 探讨信息技术与中职计算机专业课程整合.docx
- 基于正交试验设计下的卷积神经网络在图像识别上的研究与应用.docx
- 华科土木地基处理技术Chapter-5.ppt
- 毕业设计开题分析方案4-钢筋混凝土多层、多跨框架软件开发.doc
- C语言程序设计实习分析方案---学生信息管理系统.doc
- 企业组织结构设计与部门职能划分.doc
- 9001体系记录范本-表格-教年度教育培训计划表.doc
- 浅谈建筑装饰工程的投标报价和文件编制.doc
- 商务酒店暖通施工方案(精品工程项目).doc
- 单片机的智能充电器设计大学课程.doc
- EPC交钥匙项目合同.ppt
- 电缆沟砖砌体沟壁施工工艺及施工要点.doc


