Hola a todos!
Los complementos de tempo para Atlassian Jira se instalan en una gran cantidad de instancias de Jira tanto en la nube como en los servidores. Tuve que combinar los datos de la nube y el servidor Jira y volver a configurar los datos combinados en la nube. Además de los datos estándar de Jira, también necesitaba combinar los datos del complemento Tempo. En este artículo, te contaré cómo hice la unión y la migración de los datos de Tempo.
Datos de tempo que migré:
- Cuentas Tempo (cuentas)
- Equipos Tempo (equipos)
- Los valores de los campos Cuenta y Equipo para todos los ishui en Jira
- Registros de trabajo
El proceso de integración y migración:
Elegí dos Jira con la siguiente configuración: Jira Software 7.11.2 y Jira Service Desk 3.14.2. Luego eliminé la copia de seguridad de Jira Cloud y la instalé en primera instancia, luego eliminé la copia de seguridad de Jira Server y la instalé en la segunda instancia. Después de eso, transferí los datos de la segunda instancia a la primera usando el complemento
Configuration Manager (aunque sería posible usar el complemento
Project Configurator ).
Como resultado, descubrí que en primera instancia, donde los datos combinados ya estaban ubicados, listos para ser transferidos a la nube, faltaban los siguientes datos del complemento Tempo:
- Información de la cuenta Tempo
- datos sobre equipos Tempo
- valores en el ish para los campos Cuenta y Equipo
- autores de registros de trabajo ish que se descargaron de Jira Cloud
Fue necesario completar estos datos durante la migración.
Cómo migré los datos del complemento Tempo
Cuentas
Tuve suerte con las cuentas. El complemento Tempo tiene una funcionalidad incorporada para exportar e importar cuentas.
Todo lo que tenía que hacer era exportar las cuentas de Jira Cloud y Jira Server a archivos antes de instalar los datos combinados en Jira Cloud y luego, después de cargar los datos combinados en Jira Cloud, importar estos archivos a Cloud.
Solo había un problema: algunas de las claves de cuenta en Jira Cloud y Jira Server eran las mismas, por lo que necesitaba cambiar estas claves en uno de sus archivos. De lo contrario, al importar datos de la cuenta con las mismas claves, las cuentas se actualizarán o archivarán, pero ninguna de estas opciones me convenía.
Equipos
Con los equipos fue más difícil. No hay una funcionalidad integrada para transferir comandos. Por lo tanto, tuve que usar Tempo Rest Api para obtener datos sobre los comandos y luego crear estos comandos en Jira Cloud.
Usé las siguientes llamadas de descanso:
- equipos : para recibir datos sobre equipos y crear equipos
- membresía del equipo : para agregar miembros del equipo
- team_links : para agregar un enlace a un equipo en un proyecto o tablero
También quería usar la API de descanso temporal para establecer los permisos del comando, pero encontré un error en esta API.
Establecer los valores correctos en los campos Cuenta y Equipo para todos
Como no había información sobre el significado de los campos Cuenta y Equipo en la instancia combinada de Jira, tuve que guardar esta información antes de migrar.
Para Jira Cloud, utilicé
Jira Rest Api para buscar todos los elementos que tienen rellenados los campos Cuenta o Equipo. Luego guardé todos estos ishs con valores de campo en un archivo.
Para Jira Server, utilicé la API Java de Jira para obtener los valores de los campos Cuenta y Equipo.
Como resultado, obtuve dos archivos con información sobre cuentas y comandos para ish de Jira Cloud y Jira Server.
El problema era que después de migrar los datos combinados a Jira Cloud y crear las cuentas y los equipos, el equipo y las ID de las cuentas no coincidían con las ID antiguas, por lo que cuando configuré el equipo correcto y los valores de la cuenta para Ishu, tuve que reasignar los antiguos. Identificación en los nuevos.
Para actualizar los campos Cuenta y Equipo, utilicé la
API estándar de
Jira Core Rest para actualizar Ishu .
Registros de trabajo
No hubo problemas con los registros de trabajo que provienen de ish con Jira Server. Todo se pospuso sin correcciones, pero hubo problemas con los registros sobre trabajar desde ish con Jira Cloud.
Esto se debe al hecho de que cuando se agrega un registro de trabajo en Jira Cloud usando el complemento Tempo, este registro se agrega del usuario del complemento Tempo y no del usuario que hace este registro. Por lo tanto, para obtener el usuario correcto, debe obtenerlo de la base de datos del complemento Tempo.
Por esta razón, tuve que obtener los usuarios correctos de los registros de trabajo de Jira Cloud antes de realizar la migración.
Esto se hizo de la siguiente manera:
- Encontré todo en Jira Cloud, donde el usuario del registro de trabajo era un usuario del complemento Tempo. Hice esto usando la llamada estándar de Jira Core Rest .
- Luego obtuve todos los registros de trabajo de identificación de Jira de los recibidos por Ish en el paso 1 con la ayuda de esta llamada de descanso .
- Luego recibí datos del complemento Tempo para todos los registros de trabajo obtenidos en el paso 2 y guardados en un archivo. Recibí datos usando Tempo Rest Api .
Luego, después de instalar la copia de seguridad con los datos combinados, eliminé todos los registros de trabajo que se agregaron del usuario estándar del complemento Tempo y agregué los registros del archivo que recibí en el paso 3.
También es mejor establecer el campo Estimación restante al agregar un registro de trabajo a opcional. En este caso, no será necesario obtener el valor actual del campo Estimación restante para cada vez que agregue una entrada de trabajo.
Problemas inesperados
1. Cuando instala el complemento Tempo Timesheets en Jira Cloud, se crea una conexión entre Jira Cloud y la base de datos Tempo, que es necesaria para que cuando reciba datos del complemento Tempo, obtenga los datos para su instancia de Jira.
El problema es que si restaura Jira Cloud desde la copia de seguridad, entonces esta conexión ya no es visible desde Jira Cloud y, por lo tanto, debe reinstalar el complemento Tempo, por lo que se forma una nueva conexión entre Jira Cloud y Tempo. Sin embargo, el enlace anterior existe realmente en la base de datos Tempo.
Como resultado, cuando comienza a trabajar con ish, los datos se extraen a través de las conexiones antiguas y nuevas, y la conexión antigua es primaria (es decir, si en la base de datos Tempo anterior hay un comando con la misma identificación que en la nueva, entonces el nombre de este comando se extraerá de la antigua DB Tempo). Pero si ingresa a la Administración de equipos y cuentas a través de la interfaz de usuario del administrador, entonces veremos los datos correctos de la última conexión. Y si creamos un Informe de Tempo personalizado, también veremos los datos correctos. Por lo tanto, la conexión anterior debe eliminarse, y puede eliminarla solo contactando al soporte de Tempo. El verdadero apoyo de Tempo funcionó muy rápido por lo que le estoy agradecido.
2. Después de migrar los registros de trabajo con Jira Server, algunos registros de trabajo tenían una fecha de deducción un día antes de lo necesario. Esto se debió a la zona horaria del usuario y la fecha de débito. Tuve que escribir un programa para encontrar todos esos registros de trabajo y cambiar la fecha.
En general, esto es todo lo que necesita hacer y saber para transferir con éxito los datos del complemento Tempo. Espero que esta información sea útil.