Можно ли автоматизировать установку свойств Артефактора? - PullRequest
0 голосов
/ 13 февраля 2019

Artifactory, кажется, автоматически генерирует свойства для RPM, колес Python и т. Д. Могу ли я расширить эту функцию для своих собственных форматов файлов?

Я прочитал документацию, в которой рассказывается о REST API и т. Д., Но я хочучтобы Artifactory извлекал свойства прямо из файла, который я загружаю.

Пока нет - я спрашиваю, как.

1 Ответ

0 голосов
/ 13 февраля 2019

Логика, которая автоматически генерирует свойства для RPM и т. Д., Жестко закодирована в каждом типе пакета, который поддерживает Artifactory, и вы не можете добавлять пользовательские типы репозитория.

Что вы можете сделать - это написать пользовательский плагин , который запускается при каждой загрузке файла, читает файл и добавляет соответствующие свойства.Например:

storage {
    afterCreate { item ->
        if (!item.isFolder() && item.name.endsWith(".customext")) {
            def fstream = repositories.getContent(item.repoPath).inputStream
            // read fstream and generate properties
            repositories.setProperty(item.repoPath, propName, propVal)
        }
    }
}

Некоторые примечания:

  • Язык Groovy.Если вы не знакомы с Groovy, в крайнем случае вы можете притвориться, что это Java, так как большинство Java также является допустимым Groovy.
  • Пользовательская документация по плагину здесь
  • ПользовательAPI плагина Javadoc здесь здесь
  • Для справки, официально поддерживаемые плагины: здесь
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...