TeamCity REST API ist gut geeignet für solche Sachen.
Um neues Projekt erstellen Sie POST-Anfrage XML-Beschreibung des neuen Projektes enthalten senden curl
mit:
curl -v -u USER:PASSWORD http://teamcity:8111/app/rest/projects --header "Content-Type: application/xml" --data-binary
"<newProjectDescription name='New Project Name' id='newProjectId'><parentProject locator='id:project1'/></newProjectDescription>"
wo USER
und PASSWORD
sind die Anmeldeinformationen eines gültigen Teamcity Benutzer, teamcity:8111
ist die Teamcity-Server-URL .
Alternativ kann JSON verwendet werden. „Content-Type: application/json“ Header sollte könnte zur Verfügung gestellt und fordert Körper so etwas wie
{
"name":"New Project Name",
"id":"newProjectId0000",
"parentProject": {
"locator":"id:FooProject"
}
}
einen neuen VCS-Stamm erstellen sein wird shoul Sie VCS Wurzel XML oder JSON (die, wie für eine GET-Anforderung abgerufen POST für VCS-Stammdetails) zu http://teamcity:8111/httpAuth/app/rest/vcs-roots
. Ein Beispiel XML:
<vcs-root id="vcsRoot_id_whatever" name="auto-generated-1" vcsName="jetbrains.git">
<project id="FooProject"/>
<properties count="10">
<property name="agentCleanFilesPolicy" value="ALL_UNTRACKED"/>
<property name="agentCleanPolicy" value="ON_BRANCH_CHANGE"/>
<property name="branch" value="refs/heads/master"/>
<property name="teamcity:branchSpec" value="+:*"/>
<property name="url" value="https://github.com/JetBrains/teamcity-docker-agent.git"/>
<property name="usernameStyle" value="USERID"/>
</properties>
</vcs-root>
Kann ich PowerShell-Skripte verwenden, um diese auszuführen? – ANIL
Ja, Sie können 'Invoke-RestMethod' verwenden, siehe die Dokumentation hier: https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.utility/Invoke-RestMethod – cyberskunk
Danke :) Ich werde es versuchen Dies. – ANIL