2017-05-17 12 views

Antwort

1

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> 
+0

Kann ich PowerShell-Skripte verwenden, um diese auszuführen? – ANIL

+0

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

+0

Danke :) Ich werde es versuchen Dies. – ANIL

Verwandte Themen