Connettersi a Azure DevOps da Power Apps

Il connettore Power Apps per Azure DevOps ti consente di utilizzare l'istanza di Azure DevOps. In un'app canvas connessa a Azure DevOps puoi visualizzare query di Azure DevOps, selezionare elementi di lavoro in base a diversi tipi di elementi di lavoro e visualizzare o modificare dettagli.

Suggerimento

Per un elenco completo di tutte le azioni, vedi Azioni del connettore Azure DevOps.

Lo scopo di questo articolo è guidarti nella creazione di un'app canvas in grado di connettersi con Azure DevOps per acquisire un elenco di query e interagire con gli elementi di lavoro nel progetto.

Prerequisiti

È necessario soddisfare i seguenti requisiti:

Passaggio 1 - Aggiungere l'origine dati di Azure DevOps

Per connetterti ad Azure DevOps, modifica l'app canvas vuota e aggiungi l'origine dati Azure DevOps.

Connettersi a Azure DevOps.

Se non disponi già di una connessione ad Azure DevOps, seleziona Connetti e segui le istruzioni visualizzate per fornire i dettagli, quindi consenti all'app di connettersi.

Passaggio 2 - Elencare query condivise

In questa sezione, utilizzeremo l'azione ListQueriesInFolder per il connettore Azure DevOps per elencare le query disponibili.

  1. Nel riquadro a sinistra, seleziona Inserisci > Layout > Raccolta verticale vuota.

  2. Immetti la seguente formula per la proprietà Items della raccolta, sostituendo i valori di esempio come appropriato.

    AzureDevOps.ListQueriesInFolder("Project","Organization","Folder").value
    

Elencare le query nella cartella utilizzando la formula aggiunta alla proprietà Items della raccolta verticale.

Se l'esempio utilizza le variabili "Progetto", "Organizzazione" e "Cartella" e i valori effettivi si trovano nelle caselle di testo sotto la barra della formula (evidenziate). Puoi trovare i valori di Progetto e Organizzazione nell'URL usato per la connessione ad Azure Dev Ops. Il valore di Cartella sarà solitamente "Query condivise" o "Query personali".

Trovare il nome di progetto e organizzazione per l'istanza di Azure Dev Ops.

Se viene visualizzato il seguente errore nella formula sopra, abilita l'accesso alle app di terze parti tramite OAuth nell'organizzazione Azure DevOps e riprova.
"AzureDevOps.ListQueriesInFolder non riuscito: {"stato":401,"messaggio":"TF400813:L'utente 'GUID' non è autorizzato ad accedere a questa risorsa."}

  1. Imposta l'opzione Layout della raccolta su Titolo e sottotitolo.

  2. Scegli i campi appropriati per Azure Dev Ops come Nome e FolderOptions per il titolo e i sottotitoli.

Campi della raccolta per elencare le query.

Passaggio 3 - Elencare elementi di lavoro

Ora usiamo l'azione GetQueryResultsV2 per il connettore Azure DevOps per elencare tutti gli elementi di lavoro per la query selezionata. In questo modo associamo la raccolta all'origine dati.

  1. Inserisci un'altra raccolta verticale vuota e posizionala sul lato destro della raccolta esistente.

  2. Immetti la seguente formula per la proprietà Items della raccolta, sostituendo i valori di esempio come appropriato. Sostituisci i nomi di Progetto e Organizzazione come appropriato.

    AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
    

Ottenere i risultati della query dalla raccolta esistente in base alla query selezionata.

Questa formula utilizza l'azione GetQueryResultsV2 con il nome del progetto, l'ID query e il nome dell'organizzazione. L'ID query in questo esempio (Gallery2.Selected.Id) si riferisce alla query selezionata nell'elenco di query disponibili tramite la raccolta aggiunta in precedenza. Sostituisci il nome della galleria come appropriato.

Il risultato restituito di GetQueryResultsV2 è dinamico, quindi i valori non sono tipizzati.

Visualizzare i campi degli elementi di lavoro di titolo e tipo di elemento di lavoro.

Tuttavia puoi accedere ad alcuni dei valori. Azure Dev Ops restituisce un insieme di valori di base per tutti gli elementi tipizzati. Seleziona la scheda dati nella raccolta e inserisci due etichette di testo. Imposta la proprietà di testo delle etichette come segue:

    ThisItem.Value.'System.WorkItemType'
    ThisItem.Value.'System.Title'

Passaggio 4 - Visualizzare elementi di lavoro

L'app mostra un elenco di tutte le query e l'elenco degli elementi di lavoro per la query selezionata. Ora possiamo aggiungere un modulo di modifica che utilizzeremo per visualizzare i dati.

  1. Posiziona le due raccolte nella schermata per fare spazio al modulo di modifica che aggiungiamo spostando entrambe le raccolte a sinistra della schermata.

  2. Aggiungi il modulo di modifica alla schermata e spostalo sul lato destro delle raccolte.

Aggiungere il modulo di modifica.

  1. Imposta la proprietà DataSource del modulo di modifica su AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value. Sostituisci i nomi di Progetto e Organizzazione come appropriato.

  2. Imposta la proprietà Item del modulo di modifica su Gallery2.Selected.

    Questa formula imposta la proprietà Item per il modulo di modifica sull'elemento di lavoro selezionato nell'elenco degli elementi di lavoro.

  3. Seleziona Modifica campi nel riquadro delle proprietà sul lato destro della schermata.

  4. Seleziona ... (puntini di sospensione) > Aggiungi una scheda personalizzata.

    Aggiungere una scheda personalizzata.

  5. Sposta la scheda dati nella parte superiore del modulo di modifica.

    Scheda personalizzata spostata nella sezione superiore del modulo di modifica.

  6. Mantenendo selezionata la scheda personalizzata, inserisci un controllo Input di testo. Una volta selezionato, il controllo viene aggiunto nella scheda personalizzata.

  7. Aumenta la dimensione del controllo Input di testo.

Controllo Input di testo nella scheda personalizzata.

  1. Imposta la proprietà Default del controllo Input di testo su Text(ThisItem.Value.'System.Title'). La funzione Text "tipizza" il valore restituito come Text.

Controllo Input di testo che fa riferimento al titolo dell'elemento di lavoro.

Questa formula imposta il testo predefinito nel controllo Input di testo sul campo Testo dell'elemento di lavoro di Azure DevOps selezionato.

Suggerimento

Se il tuo progetto Azure DevOps utilizza il campo Descrizione con formato HTML o RTF, puoi anche utilizzare il controllo di input Editor di testo RTF anziché i controlli Input di testo o delle etichette. L'uso del controllo Editor di testo RTF in questo caso aiuta anche a risolvere eventuali problemi come la visualizzazione della descrizione con codice HTML anziché testo normale o RTF.

  1. Ripeti i passaggi precedenti per aggiungere un'altra scheda personalizzata, con un controllo Input di testo la cui proprietà Default impostata su Text(ThisItem.Value.'System.State').

    Questa formula imposta il testo predefinito nel controllo Input di testo sul campo Stato dell'elemento di lavoro di Azure DevOps selezionato.

  2. Riposiziona le schede dati nel modulo di modifica per fare spazio all'icona di salvataggio che aggiungeremo.

Aggiunta di valori restituiti non tipizzati e dinamici ai moduli

Finora abbiamo utilizzato il modulo di modifica che semplifica la cronologia di accesso ai dati fornendo proprietà DataSource e Item comuni utilizzabili con tutte le schede dati nel modulo. Se utilizzi il modulo di modifica, per accedere ai valori non tipizzati assicurati di impostare sia l'origine dati che le proprietà dell'elemento come segue: (Sostituendo i valori per Organizzazione e Progetto.)

   AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType')

Quando passi la proprietà di testo "WorkItemType", ad esempio "Feature", ti consente di usare elementi come Funzionalità ed Elementi di lavoro. Poiché i campi per questi elementi differiscono l'uno dall'altro, il tipo restituito da questa chiamata è dinamico.

Puoi accedere a valori specifici utilizzando il metodo comune Text(ThisItem.Value.'System.Id'). In alternativa, puoi accedervi tramite la risposta dinamica più generica utilizzando Text(ThisItem.fields.System_Id). Questi nomi di valori dinamici non sono generalmente documentati. Per trovare i nomi corretti per questi campi, inclusi campi non standard, apri lo strumento di monitoraggio ed esamina la risposta dei dati per la chiamata GetWorkItemDetails. Fai riferimento all'immagine seguente per ulteriori indicazioni.

Se non utilizzi un modulo di modifica, ma un contenitore, puoi recuperare questi valori utilizzando una formula come quella seguente, che recupera informazioni da un campo del team personalizzato.

Text(AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType').fields.One_custom_CustomField1)

Controllo Input di testo che fa riferimento al titolo dell'elemento di lavoro.

Aggiornamento dei valori in Azure DevOps

Per aggiornare un valore in Azure Dev Ops utilizza UpdateWorkItem nell'OnSelect di un pulsante.

AzureDevOps.UpdateWorkItem(
    Gallery2.Selected.Value.'System.Id', 
    Organization, 
    {   description: "This is a new description", 
        dynamicFields: ParseJSON(JSON({'Custom Field 1': "This is new custom text" })) 
    }
);

La formula aggiunge un nuovo testo di esempio, ma puoi anche usare un'espressione PowerFx.

Assicurati che la formula utilizzi lettere minuscole per i nomi dei campi non personalizzati o incorporati. Ad esempio, quando si fa riferimento al campo "Descrizione", utilizzare description: "This is a new description" anziché Description:"This is a new description". Un utilizzo errato di maiuscole/minuscole potrebbe generare l'errore "400 Parametro richiesto mancante per l'operazione richiesta: 'UpdateWorkItem'". Per i valori personalizzati/dinamici, puoi utilizzare l'impostazione di maiuscole/minuscole usuale del campo di visualizzazione. Ad esempio, il nome del campo personalizzato è semplicemente il nome visualizzato "Campo personalizzato 1". Questa convenzione di denominazione dei valori restituiti è specifica di Azure DevOps e potrebbe differire da altri servizi.

Passaggi successivi

Riproduci l'app. Seleziona una query nell'elenco di query. Quindi scegli un elemento di lavoro di cui desideri aggiornare il titolo o la descrizione. Effettua una modifica, quindi seleziona il pulsante Salva. Le modifiche vengono salvate nell'elemento di lavoro Azure DevOps. Passa a un'altra query e torna indietro per vedere le modifiche nell'app.

Allo stesso modo, personalizza ulteriormente l'app o crea un'app con schede dati aggiuntive nei moduli. Puoi anche utilizzare il modulo di visualizzazione anziché il modulo di modifica per mostrare solo i dati in differenti schede dati. Quando utilizzi il modulo di visualizzazione, assicurati di utilizzare il controllo Etichetta testo per visualizzare il testo. Quando utilizzi il formato RTF o HTML (come nel campo Descrizione in Azure DevOps), utilizza il controllo Testo HTML. Per ulteriori informazioni sulla personalizzazione dell'app, vedi controlli, raccolta, moduli e schede.

Vedi anche

Utilizzare origini dati con schema dinamico in Power Apps (sperimentale)

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).