Я использую python, чтобы сделать что-то похожее на это:
curl -X POST -u admin:admin123 --header 'Content-Type: application/json' http://localhost:8081/service/rest/v1/script -d '{"name":"test","type":"groovy","content":"repository.createYumProxy('\''test'\'', '\''http://repository:8080/'\'')"}'
curl -X POST -u admin:admin123 --header "Content-Type: text/plain" 'http://127.0.0.1:8081/service/rest/v1/script/test/run'
точный сценарий, который я публикую (более читаемый здесь, чем со всеми этими экранированными кавычками):
repository.createYumProxy('{name}', '{url}');
configuration = repository.repositoryManager.get('{name}').configuration.copy();
configuration.attributes['proxy'] = [
remoteUrl : "{url}",
contentMaxAge : 0,
metadataMaxAge : 0
]
configuration.attributes['negativeCache'] = [
timeToLive : 1.0
]
repository.repositoryManager.update(configuration)
часть, которая отсутствовала в моем случае, была repositoryManager.update()
.Как указано в заявке:
Я думаю, что важный элемент (-ы), отсутствующий в вашем скрипте, заключается в том, что вы не обновляете repositoryManager с новой (скопированной) конфигурацией (что приводит к остановке хранилища /запустить и, следовательно, перезагрузить конфигурацию)