Esta integración es bidireccional: puede importar problemas desde su bug tracker para crear historias iceScrum y puede actualizar automáticamente los problemas en su bug tracker cuando se actualicen las historias correspondientes.
No olvide habilitar la App correspondiente a su Bug Tracker. Luego, abra la configuración de su proyecto e ingrese información de conexión válida para crear una «configuración» de bug tracker:
Luego, haga clic en «Probar conexión». Si la conexión falla, se mostrará un mensaje de error debajo, pero una mirada más cercana a los registros (icescrum.log y catalina.out) le dará más información sobre el problema.
Si la conexión tiene éxito, se mostrarán campos adicionales. Se buscarán proyectos remotos y tendrá que elegir el que desea integrar con su proyecto iceScrum (para Trac, solo hay un proyecto posible para una URL determinada).
No olvide hacer clic en «Crear» cuando haya terminado.
Puede actualizar la información de conexión en las configuraciones existentes.
Si desea detener todas las importaciones y sincronizaciones automáticas, puede deshabilitar la configuración o eliminarla.
Para crear reglas de importación y sincronización, usará campos y valores que se obtienen del bug tracker. Se recuperan automáticamente en la primera conexión y se almacenan en caché en iceScrum. Si desea utilizar las últimas versiones de estos campos, haga clic en «Actualizar campos remotos».
Esta integración requiere un punto final XML-RPC en su servidor Bugzilla. Está habilitado por el módulo XMLRPC::Lite Bugzilla Perl (alternativamente, parece que Test::Taint podría hacer el trabajo).
Puede verificar que su servidor Bugzilla tenga el módulo XMLRPC::Lite Perl instalado marcando esta URL en su navegador: http://bugzilla.yourserver.com/xmlrpc.cgi, debería mostrar una página en blanco. También puede probar este comando cURL que devuelve la versión de su servidor Bugzilla:
curl http://bugzilla.yourserver.com/xmlrpc.cgi -H "Content-Type: text/xml" -d "<?xml version='1.0' encoding='UTF-8'?><methodCall><methodName>Bugzilla.version</methodName><params></params></methodCall>"
Si se devuelve un error, entonces hay un problema en su servidor Bugzilla, probablemente relacionado con módulos faltantes. Puede iniciar sesión como root en su servidor Bugzilla y verificar los módulos instalados:
./checksetup.pl --check-modules
Debería tener XMLRPC::Lite y todos los módulos necesarios instalados. Si no es el caso, aquí se explica cómo instalar un módulo (repetir para cada módulo requerido):
./install-module.pl XMLRPC::Lite
Luego verifique que esté correctamente instalado con:
./checksetup.pl --check_modules
Si falla una instalación, puede estar relacionada con una biblioteca de analizador XML faltante: XML::Parser. La instalación de este módulo a través de CPAN puede fallar, así que aquí es cómo puede instalarlo con apt-get (en los sistemas operativos basados en Debian):
sudo apt-get install libxml-parser-perl
Esta integración requiere un punto final XML-RPC en su servidor Trac. Lo proporciona el plugin XML-RPC (ver http://trac-hacks.org/wiki/XmlRpcPlugin).
Puede instalar el complemento con el comando siguiente:
sudo easy_install -Z -U http://trac-hacks.org/svn/xmlrpcplugin/trunk
Luego, debe habilitarlo en su archivo de configuración trac.ini:
[components] tracrpc.* = enabled
Puede verificar que este plugin esté instalado correctamente al marcar esta URL en su navegador: http://yourTracServer.com/YourProject/rpc. Debería mostrar la documentación de la API RPC, incluyendo la versión de API. La integración de iceScrum requiere la versión de API 1.1.2 o superior (esta no es la versión de Trac). Esta página también muestra los permisos necesarios para cada acción.
El usuario de Trac utilizado por iceScrum debe tener los siguientes permisos (elija uno):
Los permisos pueden heredarse de grupos como «autenticado» o «anónimo».
Si usa el módulo de inicio de sesión del plugin AccountManager, lea las siguientes instrucciones:
Para usar la API XML-RPC, iceScrum necesita autenticarse a través de medios automáticos. El módulo de inicio de sesión de Trac HTTP predeterminado (trac.web.auth.loginmodule) permite la autenticación automática, mientras que el módulo de inicio de sesión de AccountManager HTML (acct_mgr.web_ui.loginmodule) no lo hace. Afortunadamente, el plugin HttpAuthPlugin plugin reinstala la autenticación HTTP en rutas específicas. Aquí están las instrucciones para usarlo:
1. Instala HttpAuthPlugin :
easy_install -Z -U http://trac-hacks.org/svn/httpauthplugin/trunk/
2. Habilite el plugin entrac.ini
[components] httpauth.* = enabled
3. Configure la ruta para la autenticación HTTP en trac.ini
[httpauth] paths = /login/xmlrpc
4. Configure Apache para que no separe la información de autorización (en httpd.conf):
WSGIPassAuthorization On
Con respecto a Redmine, solo tiene que habilitar los servicios web REST cuando inicie sesión con una cuenta de administrador, de la manera siguiente:
Administración> Configuración> Autenticación> Habilitar el servicio web REST
o Administración> Configuración> API> Habilitar el servicio web REST
El usuario de Redmine que iceScrum utilizará necesita los permisos «Guardar consultas», «Ver problemas» y «Editar problemas» en los proyectos que desee integrar. Si desea que iceScrum recupere campos personalizados o usuarios de Redmine, entonces el usuario deberá ser un administrador (esto puede parecer excesivo, pero Redmine parece requerirlo).
Tenga en cuenta que al crear la configuración, no obtendrá un error si ingresa credenciales incorrectas. En lugar de fallar, Redmine proporcionará la lista de proyectos públicos que están disponibles para usuarios anónimos. Por lo tanto, asegúrese de que los proyectos coincidan con los proyectos asociados al usuario iceScrum Redmine antes de guardar la configuración.
La URL de Redmine para utilizar en la configuración del bug tracker iceScrum es la URL base del servidor de Redmine, sin ningún recurso. Generalmente es la URL de la página de bienvenida de Redmine.
API Jira REST
La API REST de Jira es requerida por esta integración. Debería estar habilitado por defecto en tu instancia de Jira.
Usuario Jira
El usuario de Jira que iceScrum utilizará necesita permisos suficientes según lo que desee hacer. Los usos básicos requieren explorar problemas y proyectos y problemas de actualización. La mayoría de los más avanzados requieren resolver problemas, cerrar problemas y cambiar el destinatario del problema y el reportero.
Al crear la configuración, si ingresa una contraseña incorrecta varias veces seguidas, la autenticación de este usuario a través de la API se desactivará y obtendrá un mensaje de error «403 prohibido». En tal caso, deberá autenticarse a través de la aplicación Jira e ingresar un CAPTCHA para volver a habilitar la autenticación API.
Transiciones
La API REST de Jira carece de soporte adecuado para las transiciones, por lo que nos disculpamos por las limitaciones que encontrará en esta integración.
Si desea obtener una buena lista de transiciones disponibles, entonces el usuario iceScrum Jira tendrá que ser un administrador. En este caso, se mostrarán todas las transiciones, agrupadas por flujo de trabajo, para todos los flujos de trabajo de su servidor Jira (porque Jira no proporciona ninguna forma de filtrar los flujos de trabajo asociados a un proyecto específico). De lo contrario, tendrá que ingresar el nombre de la transición a mano, que es más propenso a errores. En ambos casos, la transición se activará de acuerdo con su nombre y solo su nombre (no hay verificación de id. Técnica ni verificación de flujo de trabajo) por lo que debe coincidir con el nombre que se muestra en Jira cuando inicie sesión como el usuario iceScrum Jira (asegúrese de que use el mismo idioma).
Si las reglas de sincronización definidas en una historia dada para un estado dado incluyen una actualización de transición y si la transición está asociada con una pantalla, iceScrum automáticamente intentará completar la pantalla de acuerdo con las otras reglas. Las reglas restantes se ejecutarán a través de una actualización regular. Tenga en cuenta que las actualizaciones provistas con la transición pueden ser anuladas por Funciones de publicación definidas en la transición.
Los esquemas de flujo de trabajo permiten definir diferentes flujos de trabajo según el tipo de problema. Tenga cuidado al definir las reglas de transición: las transiciones deben estar disponibles para todos los tipos de problemas que serán importados en su configuración iceScrum Jira. Si tiene que administrar tipos de problemas que tienen flujos de trabajo diferentes, le recomendamos que cree una configuración Jira de iceScrum para cada tipo de problema.
Con respecto a Mantis, solo tiene que habilitar el modulo PHP: php-soap
Una vez que su conexión está configurada, puede crear reglas de importación para importar problemas desde su bug tracker a iceScrum. Se importarán como historias iceScrum.
Puede filtrar los problemas para importar según los campos remotos:
Entonces puede personalizar las nuevas historias:
Finalmente, configure la importación:
No olvide de hacer clic en «Crear». Puede crear tantas reglas de importación como sea necesario.
Las importaciones manuales se pueden desencadenar desde el Area de ensayo y la Pila del producto haciendo clic en el botón Actualizar en la barra de herramientas de estas Pilas. En el Area de ensayo, solo se activarán las reglas para las historias «sugeridas». En la Pila del producto, solo se activarán las reglas para las historias «Aceptadas».
Las historias importadas se crean de acuerdo con los datos importados (los valores pueden truncarse para ajustarse a los campos iceScrum) y su configuración personalizada. Algunos campos reciben valores «especiales»:
Las reglas de importación se pueden actualizar o eliminar.
Cuando las historias importadas cambian de estado en iceScrum, puede actualizar automáticamente el problema correspondiente gracias a las reglas de sincronización. Solo las historias que se han importado de un bug tracker pueden desencadenar actualizaciones de problemas remotos a través del proceso de sincronización.
Primero, elija el estado que desencadena la actualización. Luego, elija el campo remoto para actualizar y su nuevo valor. Algunos valores de campo se recuperan de su bug tracker. Puede actualizarlos desde la pestaña «Configuración».
Para los campos de texto, puede ingresar una cadena con variables opcionales cuyo valor depende del contexto de la historia:
Para usar estos valores dinámicos, envuélvalos en ${…}, p. ${story.name} … ${user.username}.
Se pueden actualizar o eliminar las reglas de sincronización.