Azure DevOps Integrazione: Rapporto di convalida dei dati

La sincronizzazione bidirezionale dei dati implica che entrambi i sistemi possono essere inaccessibili per periodi di tempo diversi e che i dati possono non essere sincronizzati. Con il rapporto di convalida dei dati, è possibile individuare gli elementi non sincronizzati correttamente e correggere le conseguenze direttamente dal rapporto.

Chi può accedere al rapporto?

Gli amministratori di Targetproccess, in quanto hanno accesso a Impostazioni di Targetprocess -> Integrazioni e quindi alla scheda Rapporto di convalida dei dati in ogni profilo di integrazione a livello di problema.

Quali errori possono essere individuati e risolti?

Il rapporto consente di individuare tre gruppi di errori o conseguenze improprie della sincronizzazione.

  1. Campi in conflitto: campi non sincronizzati in tutte le coppie di problemi collegati.
  2. Elementi persi e non importati: problemi che corrispondono alle impostazioni di integrazione e che possono essere importati.
  3. Coppie non valide: coppie in cui uno dei problemi non esiste o il suo ID/Tipo è cambiato e i problemi sono stati persi durante la sincronizzazione.

Ambiti del rapporto

Ambito di rilevamento dei campi non sincronizzati

La prima opzione Identifica i conflitti tra i campi degli elementi sincronizzati analizza tutti i temi condivisi e rileva le corrispondenze dei valori dei campi tra Targetprocess e Azure DevOps:Ambito di rilevamento dei campi non sincronizzati

Se si nota che una scansione sta richiedendo troppo tempo, è possibile terminare una scansione di Data Validation Report in corso e restringere l'ambito.

Nota: se si annulla una scansione, questa si interrompe immediatamente e tutti gli elementi scansionati prima dell'annullamento non saranno più accessibili. Inoltre, qualsiasi rapporto generato parzialmente non sarà disponibile per la visualizzazione o il download.
interrompere la scansione

Per le integrazioni più grandi si consigliano filtri aggiuntivi. È possibile utilizzare i filtri DSL come nelle schede Targetprocess e negli elenchi e scansionare i conflitti solo nelle entità selezionate.

Ad esempio, potrebbe essere ?ModifyDate == '20-Jul-2023'per scoprire se ci sono dei disallineamenti nei dati aggiornati al 20 luglio 2023 in Targetprocess.

Oppure potrebbe essere un fitler WIQL per selezionare gli elementi da scansionare dal punto di vista di Azure DevOps. Ricordarsi di utilizzare solo il contenuto della clausola WHERE:

[System.AreaPath] UNDER 'ADO_Project\ADO_Team'selezionare l'ambito per la scansione
Scheda Elementi in conflitto

Nel caso in cui una coppia in conflitto sia valida, i valori dei campi verranno confrontati e i campi non corrispondenti mostreranno i risultati nella scheda "Elementi in conflitto": schede in conflitto

Scheda Collegamenti non validi

Se la coppia non è valida - uno dei problemi non esiste o ha cambiato ID/Tipo e la sincronizzazione non è possibile - apparirà nella scheda "Collegamenti non validi" del rapporto: collegamenti non validi

Non importato Ambito di applicazione

Le due opzioni di report successive servono a rilevare i problemi non importati e sono due richieste separate a Azure DevOps e Targetprocess.Non importato Ambito di applicazione

Per impostazione predefinita, senza filtri aggiunti, il report cercherà tra tutti i progetti selezionati nella scheda "Progetti" del profilo (ambiti statici). Se viene aggiunto l'instradamento JavaScript, tutti i progetti accessibili verranno scansionati nonostante i progetti a cui si fa riferimento nella mappatura JavaScript.Non importato Ambito di applicazione

Nota:

Utilizzare filtri WIQL o DSL aggiuntivi se il profilo di integrazione utilizza instradamenti dinamici con un numero indefinito di progetti Azure DevOps/Targetprocess o se si desidera restringere l'ambito della scansione.

Conflitti e risoluzioni

1. Campi in conflitto

In questa versione, il report analizza tutte le coppie esistenti di problemi collegati e confronta i valori dei campi in base alle mappature dei campi. la scheda di report 'Elementi in conflitto' mostra tutti i campi in cui i valori non corrispondono quando dovrebbero.

campi in conflitto
Conflitti nei campi mappati con JavaScript
Nota:

I campi mappati con le estensioni del codice JavaScript devono avere un comparatore personalizzato aggiunto, altrimenti verranno saltati dal report per impostazione predefinita.

mappatura dei conflitti

Avviso per i comparatori di mappature JS mancanti

Il rapporto di convalida dei dati confronta i valori dei campi in entrambi gli strumenti e rileva le discrepanze.

Il rapporto di convalida dei dati richiede una funzione di confronto per le mappature avanzate dei campi utilizzando JavaScript (JS) per garantire confronti sicuri e corretti. I campi mappati con JS e non contenenti un comparatore sono esclusi dalla convalida. A partire da questa versione, il profilo di integrazione segnala quali campi non saranno convalidati. Per identificare i campi esclusi, utilizzare il codice colore delle mappature JS.
  • Blu: Mappature JS complete
  • Giallo: Mappature incomplete
Avviso per i comparatori di mappature JS mancantimappatura del colore
Collegamenti non validi"

La scheda di questo rapporto mostra tutte le coppie in cui uno o entrambi i problemi non esistono: sono stati eliminati o il loro ID o tipo è stato modificato e non è possibile procedere alla sincronizzazione.

Questa categoria di errori prevede le seguenti azioni:

  • aggiorna i conflitti
  • 'Scollegamento'
collegamenti non validi
Non importato

Tutti i problemi che corrispondono ai filtri del profilo di integrazione al momento della scansione Targetprocess o Azure DevOps

Per risolvere i conflitti di 'Non importato', applicare una delle due azioni - "Pull to Targetprocess" o "Push to Azure DevOps"" per importare tutte le entità selezionate (filtrate) nello strumento selezionato.

non importato

Filtri e azioni

Filtri

Tutti i problemi filtrati e visualizzabili nell'elenco sono considerati un ambito selezionato per qualsiasi azione. Se si desidera applicare un'azione a una riga specifica del report, filtrare la riga specifica e quindi applicare le modifiche all'unica riga rimasta nel report.

filtri
Azione: 'Aggiorna il conflitto'

Nel caso in cui i campi in conflitto abbiano cambiato i loro valori, l'azione "Aggiorna conflitti" riporterà i valori attuali. Se il conflitto non è più attuale, scomparirà dal report (mappature rimosse, problemi scollegati) o cambierà il suo stato in "Risolto" (problema importato)

Azione: "Ignora" e "Ignora conflitti"

Questa azione sposta il conflitto nello stato "Ignorato". In questo stato, il conflitto non viene elaborato, né aggiornato, né risolto. Prima di applicare qualsiasi strategia di risoluzione dei conflitti, è necessario riportare il conflitto dallo stato "Ignorato" a quello effettivo.

'Ignora conflitti' attiva l'aggiornamento dei conflitti in background. Se i conflitti sono stati risolti indirettamente in uno dei sistemi, il conflitto di campo passerà a uno stato valido - "Risolto", se i valori corrispondono in questo momento, o di nuovo a "Conflitto", se la mancata corrispondenza è valida.

Ignorare e ignorare i conflitti

Strategie di risoluzione dei conflitti

Per risolvere i conflitti nei campi mappati, è possibile scegliere una delle tre strategie:strategie di risoluzione dei conflitti

1. Strategia di risoluzione dei conflitti "Ultimo cambiamento

Tra due valori in conflitto, verrà selezionato il più recente e applicato al file corrispondente nell'altro sistema.

???? Nota: questa strategia funziona per i conflitti in cui entrambi i campi, Targetprocess e Azure DevOps, hanno date di ultima modifica. Se almeno un campo della coppia non ha una cronologia e una data di ultimo aggiornamento, è possibile applicare solo "Pull to Targetprocess" o "Push to Azure DevOps’ ".

2. Strategia di risoluzione dei conflitti "Push to Azure " DevOps’

Con questa strategia, tutti i valori dei campi di Targetprocess saranno inviati a Azure DevOps.

Nella sezione 'Non importato', questo importerà tutti gli elementi di Targetprocess selezionati in Azure DevOps.

3. Strategia di risoluzione dei conflitti "Pull to Targetprocess

Questa strategia considera Azure DevOps come fonte di verità e riscrive i campi di Targetprocess con i valori di Azure DevOps.

Nella sezione "Non importati", verranno importati tutti gli elementi selezionati di Azure DevOps in Targetprocess.

4. Strategia di risoluzione dei conflitti "Unlink

Lo scollegamento è necessario se l'entità è stata sincronizzata e il collegamento non è valido per vari motivi (emissione cancellata o convertita e il suo ID/Tipo cambiato e perso). In questi casi, prima di importare nuovamente un numero come nuovo, è necessario scollegarlo dall'elemento precedente.

Non appena i problemi vengono scollegati, passano allo stato "Risolto" e per il momento non sono possibili altre azioni con i collegamenti non validi risolti. Il numero libero può essere importato manualmente nello strumento collegato.

Flusso di lavoro per la risoluzione dei conflitti

Prima di applicare qualsiasi azione, si verifica il conflitto di ogni campo e si aggiorna il suo stato e i suoi campi. Questa convalida può essere richiamata manualmente con l'azione "Aggiorna".

Stati di conflitto

Stato "Conflitto

Campi o temi che non corrispondono.

Con gli elementi nello stato "Conflitto", è possibile:

  • Verificare il conflitto applicando l'azione "Aggiorna"
  • ignorare" e non verrà applicata alcuna azione, anche se il problema viene inserito nel filtro
  • Risolvere i conflitti filtrati con una delle strategie di risoluzione: 'Pull to Targetprocess', 'Push to Azure DevOps’, o 'Latest values'
Stato "Elaborazione

Stato temporaneo che indica che si sta verificando l'esistenza di un conflitto. Se i valori sono uguali e se è stata selezionata un'azione ("Ignora", "Invia a Targetprocess", "Invia a Azure DevOps’, o "Ultimi valori"), è possibile applicare gli elementi selezionati.

lo stato 'Elaborazione' cambierà automaticamente

  • A "Risolto", se il conflitto è risolto
  • Torna a "Conflitto" se la modifica selezionata non può essere applicata o se si verifica ancora un conflitto e non sono state applicate altre azioni
  • Per 'Update Sent', se l'azione è applicata e il nuovo valore è inviato a Azure DevOps
Stato 'Risolto'

Stato finale. Nessuna azione sarà applicata ai conflitti risolti nella versione corrente del rapporto.

Stato "Ignorato

Nessuna azione sarà applicata ai conflitti in stato "Ignorato". L'azione "Ignora conflitti" richiama automaticamente un "Aggiorna" e attualizza il conflitto.

Stato 'Aggiornamento inviato'

Questo stato indica che gli aggiornamenti sono in coda e verranno applicati a breve in Azure DevOps. È necessario aggiornare manualmente i conflitti per sapere se le modifiche sono state applicate correttamente. Questo stato non passerà automaticamente al successivo, anche se i valori sono già stati aggiornati.

Annullamento del rapporto di convalida dei dati e risoluzione dei conflitti

La funzione Annulla risoluzione conflitti consente di annullare il processo di risoluzione dei conflitti in corso, la scansione in corso e la generazione di un nuovo rapporto di convalida dei dati.
  • Se il processo di risoluzione non è più necessario, annullarlo può aiutare a evitare elaborazioni inutili e a ridurre il carico sul sistema.
  • Se il processo di risoluzione richiede un tempo eccessivamente lungo, annullarlo può aiutare a liberare risorse di sistema ed evitare ritardi.
rapporto di convalida dei dati

annullare le risoluzioni dei conflitti