Я настроил свою среду, используя пример репозитория сценариев, но он не включает библиотеки для репозитория yum или API задач, поэтому я не понял, как создать экземпляр задачи и назначить ему идентификатор .
Вот что у меня есть:
import groovy.json.JsonSlurper
import org.sonatype.nexus.scheduling.TaskConfiguration
import org.sonatype.nexus.scheduling.TaskInfo
import org.sonatype.nexus.scheduling.TaskScheduler
import org.sonatype.nexus.scheduling.schedule.Schedule
TaskScheduler taskScheduler = container.lookup(TaskScheduler.class.getName())
parsed_args = new JsonSlurper().parseText(args)
Schedule manualSchedule = taskScheduler.scheduleFactory.manual()
TaskInfo existingTask = taskScheduler.listsTasks().find { TaskInfo taskInfo ->
taskInfo.name == parsed_args.name
}
if (existingTask && !existingTask.remove()) {
throw new RuntimeException("Could not remove currently running task : " + parsed_args.name)
}
TaskConfiguration yumRefreshTask = taskScheduler.createTaskConfigurationInstance('repository.yum.rebuild.metadata')
taskScheduler.scheduleTask(yumRefreshTask, manualSchedule)
Проблема в том, что я не могу найти способ передать специфичные для YUM конфигурации для этого типа Задачи.