2012-08-02 11 views
5

¿Es posible crear una nueva configuración de compilación para un proyecto existente a través de REST api (método POST) en Teamcity?
Si es así, ¿cómo crear? (algunas pautas)Crear configuración de compilación mediante REST en Teamcity

Gracias

+0

Oye, ¿has logrado hacer esto? En caso afirmativo, ¿podría mostrar y explicar un ejemplo? – carlspring

+0

Hola ... todo lo que se da como respuesta por Arpit tiene todos los requisitos necesarios. Puede consultarlo. – Jeevi

Respuesta

-4

Bueno, puede hacer referencia a this para empezar:

+4

Si realmente lo mira, verá que no hay forma de mencionar cómo crear una configuración de compilación mediante la API REST. – carlspring

2

No, no está implementado en la API REST. Eche un vistazo a this

No hay forma de crear una configuración de compilación. Puede agregar pasos de compilación y configurarlos, pero no parece implementarse en absoluto en la API. Estuve peleando con esto yo misma anoche. Si encuentras una manera de hacerlo, házmelo saber.

Además, podría echar un vistazo a estos notes que he reunido sobre la API REST de Teamcity. (No es que estén respondiendo esta pregunta, pero algunos de ellos podrían ser bastante útiles).

3

Ahora es posible en 8.x REST. Usted puede hacer algo como:

POST plain text (name) to http://teamcity:8111/httpAuth/app/rest/projects/<projectLocator>/buildTypes 

Por encima se copia de 8.x REST. Compruebe 8.x REST para más detalles.

4

Es posible en 8.x, no tienen la necesidad de preocuparse por las versiones anteriores.

Aquí hay una muy simple fragmento de pitón que copiar una configuración de construcción existente en un proyecto determinado usando esto como una guía http://confluence.jetbrains.com/display/TCD8/REST+API#RESTAPI-BuildConfigurationAndTemplateSettings.

import requests 

xml = """<newBuildTypeDescription name='NewBuildConfigName' 
      sourceBuildTypeLocator='ExistingBuildConfigNameThatYouWantToCopy' 
      copyAllAssociatedSettings='true' shareVCSRoots='false'/> 
     """ 
headers = {'Content-Type': 'application/xml'} # set what your server accepts 

print requests.post('http://YOURTEAMCITYWEBADDRESS:YOURTEAMCITYPORT/httpAuth/app/rest/projects/id:PROJECTIDWHERENEWBUILDCONFIGSHOULDBECREATED/buildTypes', data=xml, headers=headers, auth=('TeamCityUserName','TeamCityPassword')).text 
+0

Esto funciona en la versión 8 y 9. He intentado esto – rixmath

Cuestiones relacionadas