我正在尝试使用Teamcity REST API创建VCS Root。在REST Documentation之后,我将在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="<Root project>" 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=>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>
这会创建VCS root,但password属性仍为空。我尝试使用http://TeamcityServer/httpAuth/app/rest/vcs-roots/VCSId/properties/password
显式设置密码,但即使这样也无法设置VCS根目录的密码。
答案 0 :(得分:4)
所以我在Jetbrains Developer Community找到答案。这是因为出于安全原因,Teamcity使用&#34; secure:svn-password&#34;对于SVN和&#34; secure:passwd&#34;对于Perforce而不是简单的密码。所以我将XML改为:
<property name="secure:svn-password" value="testpwd"/>