in teamcity-rest-client-impl/src/main/kotlin/org/jetbrains/teamcity/rest/coroutines/implementation.kt [1269:1298]
override suspend fun createVcsRoot(
id: VcsRootId,
name: String,
type: VcsRootType,
properties: Map<String, String>
): VcsRoot {
val vcsRootDescriptionXml = xml {
element("vcs-root") {
attribute("name", name)
attribute("id", id.stringId)
attribute("vcsName", type.stringType)
element("project") {
attribute("id", this@ProjectImpl.idString)
}
element("properties") {
properties.entries.sortedBy { it.key }.forEach {
element("property") {
attribute("name", it.key)
attribute("value", it.value)
}
}
}
}
}
val vcsRootBean = instance.service.createVcsRoot(vcsRootDescriptionXml.toApplicationXmlBody())
return VcsRootImpl(vcsRootBean, true, instance)
}