Пишу плагин для Jira.
Для поиска по проекту использую IssueManager, там есть методы поиска только по id, списку id, можно получить список id задач по проекту... но нет методов поиска по атрибутам задачи.
Подскажите как можно найти все задачи которые были обновлены после заданной даты.
если я правильно понял суть, то можно получить запросы используя ScriptRunner и JQL
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.issue.search.SearchQuery
import com.atlassian.jira.jql.parser.JqlQueryParser
import com.atlassian.jira.jql.query.IssueIdCollector
import com.atlassian.jira.issue.Issue;
import java.util.List;
def query = "project = \"Test\""
List<Issue> issues = getIssuesByJQL(query)
def List getIssuesByJQL(String jql) {
def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
def issueManager = ComponentAccessor.getIssueManager()
def user = ComponentAccessor.getUserManager().getUserByName("loginTest");
def query = jqlQueryParser.parseQuery(jql)
def iManager = ComponentAccessor.getIssueManager();
IssueIdCollector collector = new IssueIdCollector()
SearchQuery searchQuery = SearchQuery.create(query, user)
searchProvider.search(searchQuery, collector)
return collector.getIssueIds().collect { iManager.getIssueObject(it as Long) }
}
Вот пример, по сути Вам остается только подставить нужный проект, JQL и юзера
Нашел решение, данной задачи - привожу решение может кому-нибудь будет интересно
@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 );
}
...
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне нужно сделать запись звука с микрофона (маленькие фрагменты ~1с) и конвертировать его в stringтакже нужно сделать это в фоне и зациклить чтобы...
Как отключить редактирование значений ячеек, но оставить возможность выделять строку в jTable?
Не могу решить проблему, тест 8 и 15 выполняются не правильноМожете дать подсказку что не так
Я решил сделать небольшое веб-приложение на Spring BootПланировщик задач для пользователей