使用 Teamcity REST API 创建 vcs root

Moh*_*eem 4 teamcity continuous-integration jetbrains-ide teamcity-8.0

我正在尝试使用 Teamcity REST API 创建一个 VCS Root。按照REST 文档,我将在 XML 下方发布到http://TeamcityServer/httpAuth/app/rest/vcs-roots

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vcs-root name="TestVCS" vcsName="svn" modificationCheckInterval="5" href="/httpAuth/app/rest/vcs-roots/id:TestVCS">
    <project id="TestProject" name="&lt;Root project&gt;" href="/httpAuth/app/rest/projects/id:TestProject"/>
    <properties>
        <property name="externals-mode" value="externals-full"/>
        <property name="labelingMessage" value="Labeled automatically by TeamCity"/>
        <property name="labelingPatterns" value="trunk=&gt;tags"/>
        <property name="svn-config-directory" value="C:\Windows\system32\config\systemprofile\AppData\Roaming\Subversion"/>
        <property name="svn-use-default-config-directory" value="true"/>
        <property name="url" value="https://svn-uat.net/TestProject"/>
        <property name="user" value="testuser"/>
        <property name="password" value="testpwd"/>
        <property name="working-copy-format" value="1.6"/>
    </properties>
    <vcsRootInstances href="/httpAuth/app/rest/vcs-root-instances?locator=vcsRoot:(id:TestVCS)"/>
</vcs-root>
Run Code Online (Sandbox Code Playgroud)

这将创建 VCS 根,但密码属性仍为空。我尝试使用 明确设置密码http://TeamcityServer/httpAuth/app/rest/vcs-roots/VCSId/properties/password,但即使这样似乎也没有为 VCS 根设置密码。

Moh*_*eem 5

所以我在Jetbrains Developer Community上找到了答案。这是因为出于安全原因,Teamcity 对 SVN 使用“secure:svn-password”,对 Perforce 使用“secure:passwd”,而不是简单的密码。所以我将我的 XML 更改为以下内容:

<property name="secure:svn-password" value="testpwd"/>
Run Code Online (Sandbox Code Playgroud)