2012-02-24 20 views
10

Un poco de historia.Iniciar TeamCity Compilar a través de REST Llamar

En mi entorno tenemos un gran número de pequeñas soluciones .NET cada una en sus propios repositorios de Subversion (500+). No somos una tienda de TFS y estamos evaluando la mudanza de nuestro proceso de CI de cosecha propia a TeamCity.

En lugar de tener estos más de 500 sondeos de nuestro servidor Subversion cada 5-10 minutos más o menos, me gustaría iniciar una compilación de Project a través de una llamada http REST post-commit-hook (como lo hace nuestra solución actual). Entonces quisiera que TeamCity actualice desde SVN y comience el proceso de compilación. es posible?

Veo que TeamCity tiene una API REST, solo que la documentación es escasa. No estoy seguro de cómo este ejemplo se relaciona con nada que haya configurado. ¿Qué es bt7? ¿Cómo se relaciona con los proyectos que he configurado?

http://buildserver:8111/httpAuth/action.html?add2Queue=bt7 
+0

Hacer cola en una compilación mediante REST api estará disponible en TeamCity 8.1 (de acuerdo con [TeamCity Issue Tracker] (http://youtrack.jetbrains.com/issue/TW-14941)). – botchniaque

Respuesta

2

bt7 es su buildTypeId que es una ID única para cada configuración de compilación (trabajo). Cada proyecto puede tener muchas configuraciones de compilación.

Si hace clic en un proyecto y luego haga clic en una configuración de construcción específica, su URL será algo así como ...

http://teacmtiyserver/viewType.html?buildTypeId=bt208

Si quieres hacer cola una configuración de construcción para funcionar, simplemente averigüe su buildTypeId mirando la URL y luego probablemente pueda intentar ejecutarla presionando la URL que utilizó.

+0

Ahora que tengo el ID del tipo de compilación, necesito hacer la llamada. No parece que las credenciales de aprobación funcionen correctamente. El 'http: // username: password @ buildserver: 8111/httpAuth/action.html? Add2Queue = bt7' no lo está iniciando. – ZaChickster

+0

No estoy seguro de cómo tendrá que configurar el HttpAuth para que funcione correctamente con una URL como esa. Intenta usar HTTPS tal vez? Si eso no funciona, tal vez comience otra pregunta, o haga algo de Google ... –

+0

Gracias por la ayuda. Lo conseguí para trabajar. Pensé que publiqué otro comentario sobre ese hecho, pero no debo haberlo enviado correctamente. También he verificado que al iniciar una nueva compilación, sondea SVN para conocer los últimos cambios. Todo está bien. – ZaChickster

5

bt7 es un identificador de tipo de compilación. Cada configuración de construcción tiene uno. Puede obtener la lista completa usando la API REST de la siguiente manera

http://buildserver:8111/httpAuth/app/rest/buildTypes 

También puede ver el tipo de construcción en la url si hace clic en cualquiera de las configuraciones de construcción en su página de equipo. Verá un parámetro url como buildTypeId = bt7

Cuestiones relacionadas