java - 编写 Jira 插件:如何查找在给定日期后更改的问题?
问题描述
我正在为 Jira 编写一个插件。我需要找到在给定日期之后更改的问题。请告诉我,我该怎么做。
IssueManager 只能通过 id 和 id 列表查找问题。
解决方案
@Component
public class Utils{
@ComponentImport
private SearchProvider searchProvider;
@ComponentImport
private UserManager userManager;
@ComponentImport
private IssueManager issueManager;
@Inject
public Utils( IssueManager issueManager, UserManager userManager, SearchProvider searchProvider ){
this.issueManager = issueManager;
this.userManager = userManager;
this.searchProvider = searchProvider;
...
}
...
public List<Issue> getIssuesByDateUpdateAfter( Date dTime ) throws SearchException{
JqlQueryBuilder builder = JqlQueryBuilder.newBuilder();
builder.where().addDateCondition( IssueFieldConstants.UPDATED, Operator.GREATER_THAN_EQUALS, dTime );
return searchIssues( builder.buildQuery() );
}
public List<Issue> searchIssues( Query query ){
ApplicationUser user = userManager.getUserByName( username );
SearchQuery searchQuery = SearchQuery.create( query, user );
IssueIdCollector collector = new IssueIdCollector();
try{
ThreadLocalSearcherCache.startSearcherContext();
searchProvider.search( searchQuery, collector );
}catch( Exception e ){
e.getMessage();
}finally{
ThreadLocalSearcherCache.stopAndCloseSearcherContext();
}
return searchIssues(collector);
}
public List<Issue> searchIssues(IssueIdCollector collector){
Set<String> strIds = collector.getIssueIds();
List<Long> ids = new ArrayList<>();
for( String strId : strIds ){
ids.add( Long.parseLong( strId ) );
}
return issueManager.getIssueObjects( ids );
}
...
}
推荐阅读
- arrays - 删除字符串数组中的一个字母
- windows - 是否可以在单个推送消息中发送敬酒和徽章通知 - windows WNS
- sql - T-SQL:列出范围内的所有变量
- c# - 是否可以让 Visual Studio *仅* *使用给定参考的 HintPath
- jquery - jquery 在 sharepoint 中执行操作或刷新后正在工作
- c# - 应用关闭后调用函数
- javascript - 如何用jquery或javascript观察元素的宽度变化?
- ios - 从日期开始设置重复本地通知
- c# - 为什么 LINQ.Sum
> 返回 > ? LINQ.Sum 什么时候返回 null? - javascript - 如何从 API 中删除 JWT 身份验证?