HTTP-запрос TeamCity в контексте Kotlin DSL

Можно ли выполнить HTTP-запрос GET внутри файла settings.kts, используемого для реализации вашей конфигурации TeamCity с помощью Kotlin?

Если это возможно, то как этого можно достичь?

Если нет, то по каким причинам?

Спасибо


person Brauperle    schedule 11.04.2019    source источник
comment
вопрос не ясен. Что ты хочешь делать?   -  person Senior Pomidor    schedule 15.04.2019
comment
Я хотел бы запросить API внешнего сервера битбакета, чтобы TeamCity мог создавать проекты на основе результатов API, надеюсь, это понятнее.   -  person Brauperle    schedule 15.04.2019
comment
Вы должны быть в состоянии это сделать, вы можете, по крайней мере, открывать файлы в .teamcity и иметь право использовать внешние библиотеки. Я пытаюсь заполнить раскрывающийся список тегами из репозитория докеров. Отчитаюсь, если получится :)   -  person Kratz    schedule 26.06.2019


Ответы (1)


вы можете создавать проекты с помощью TeamCity REST API

Создайте новую конфигурацию сборки со всеми настройками: POST http://teamcity:8111/app/rest/buildTypes. Отправленный XML/JSON совпадает с полученным запросом GET. (Обратите внимание, что /app/rest/project/XXX/buildTypes по-прежнему использует нотацию предыдущей версии и принимает другой объект.)

Создайте новую пустую конфигурацию сборки:

POST plain text (name) to http://teamcity:8111/app/rest/projects/<projectLocator>/buildTypes 

Кроме того, вы можете создавать проекты с помощью Kotlin DSL, но для этого вам следует использовать пользовательский интерфейс.

package _Self.buildTypes

import jetbrains.buildServer.configs.kotlin.v2018_2.*
import jetbrains.buildServer.configs.kotlin.v2018_2.buildSteps.script

object Example : BuildType({
    name = "example"
steps {
    script {
        scriptContent = "ls -al"
    }
}
})
person Senior Pomidor    schedule 23.04.2019