如何使用Sonatype Nexus脚本界面配置一系列任务,以刷新托管YUM存储库的索引?

时间:2019-03-22 05:48:54

标签: groovy nexus sonatype

我已经使用脚本示例存储库设置了环境,但是它不包含yum存储库或任务API的库,因此我还没有弄清楚如何创建任务实例并为其分配ID。

这是我到目前为止所拥有的:

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特定配置。

0 个答案:

没有答案