Oprette forbindelse til Azure DevOps fra Power Apps
Power Apps-connector til Azure DevOps giver dig mulighed for at arbejde med Azure DevOps-forekomst. Du kan se Azure DevOps-forespørgsler, vælge arbejdselementer baseret på forskellige arbejdselementtyper, og se eller redigere detaljer, alt sammen i en lærredapp, der er forbundet med Azure DevOps.
Tip
Du kan se en fuldstændig liste over alle handlinger under Azure DevOps-connectorhandlinger.
Formålet med denne artikel er at vejlede dig i at oprette en lærredapp, der kan oprette forbindelse til Azure DevOps, for at indsamle en liste over forespørgsler og interagere med arbejdselementerne i projektet.
Forudsætninger
Følgende krav skal være opfyldt:
- En Power Apps-licens. Hvis du ikke har en licens, kan du bruge en 30 dages prøveversion eller tilmelde dig en udviklerplan, der ikke skal bruges til produktion.
- Hvis du er ny bruger af Power Apps, kan du sætte dig ind i det grundlæggende i Power Apps ved at oprette en app og derefter tilpasse appens kontrolelementer, galleri, formularer og kort.
- En tom lærredapp, du kan bruge til at oprette forbindelse til Azure DevOps.
- Hvis du vil oprette den app, der nævnes i denne artikel, skal du bruge en Azure DevOps-forekomst, der indeholder en organisation, et projekt og en delt forespørgsel med et par eksempler på arbejdselementer, du kan redigere.
- Azure DevOps-forekomsten skal aktiveres for Tredjepartsprogramadgang via OAuth. Du kan finde flere oplysninger under Administrere adgangspolitikker for Azure DevOps.
Trin 1 – Tilføj en Azure DevOps-datakilde
Hvis du vil oprette forbindelse til Azure DevOps, skal du redigere den tomme lærredapp og tilføje en Azure DevOps-datakilde.
Hvis du ikke allerede har en Azure DevOps-forbindelse, skal du vælge Opret forbindelse og følge anvisningerne for at angive dine oplysninger og derefter tillade, at appen opretter forbindelse.
Trin 2 – Vis delte forespørgsler
I dette afsnit skal du bruge handlingen ListQueriesInFolder for Azure DevOps-connectoren til at få vist de tilgængelige forespørgsler.
I venstre rude skal du vælge Indsæt > Layout > Tomt lodret galleri.
Angiv følgende formel for egenskaben Items i galleriet, idet du erstatter eksempelparameterværdierne efter behov.
AzureDevOps.ListQueriesInFolder("Project","Organization","Folder").value
Hvis variablerne "Projekt", "Organisation" og "Mappe" bruges i eksemplet, og de faktiske værdier er i tekstfelterne under formellinjen (fremhævet). Du kan finde dine projekt- og organisationsværdier via den URL-adresse, der bruges til at oprette forbindelse til Azure Dev Ops. Mappen vil som regel være "Delte forespørgsler" eller "Mine forespørgsler".
Hvis du får vist følgende fejl i ovenstående formel, skal du aktivere tredjepartsappadgang ved hjælp af OAuth i din Azure DevOps-organisation og prøve igen.
"AzureDevOps.ListQueriesInFolder mislykkedes:{"status":401,"meddelelse":"TF400813:Bruger-'GUID' har ikke adgangstilladelse til denne ressource".}
Vælg Layout for galleriet til Titel og undertitel.
Vælg de felter, der er de rette for Azure Dev Ops som Name og FolderOptions til titel og undertitler.
Trin 3 – Liste over arbejdselementer
Nu skal du bruge handlingen GetQueryResultsV2 til Azure DevOps-connectoren for at få vist alle arbejdselementer for den valgte forespørgsel. Derved bindes galleriet til datakilden.
Indsæt et andet tomt lodret galleri, og placer det i højre side af det eksisterende galleri.
Angiv følgende formel for egenskaben Items i galleriet, idet du erstatter eksempelparameterværdierne efter behov. Erstat dine projekt- og organisationsnavne efter behov.
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
I denne formel bruges handlingen GetQueryResultsV2 med projektnavn, forespørgsels-id og organisationsnavn. Forespørgsels-id'et i dette eksempel (Gallery2.Selected.Id
) henviser til den forespørgsel, der er valgt på listen over forespørgsler, som er tilgængelige via det galleri, der er tilføjet tidligere. Erstat gallerinavnet efter behov.
Tilføje returværdier uden type til galleriet
Det returnerede resultat af GetQueryResultsV2 er dynamisk. Og værdierne er derfor også uden type.
Men du kan få adgang til nogle af værdierne. Azure Dev Ops returnerer et grundlæggende sæt værdier for alle elementer, der har en type. Markér datakortet i galleriet, og indsæt to tekstetiketter. Angiv tekstegenskaben for etiketten på følgende måde:
ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'
Trin 4 – Vis arbejdselementer
Appen viser en liste over alle forespørgsler og listen over arbejdselementer for den valgte forespørgsel. Nu kan vi tilføje en redigeringsformular, som vi bruger til ganske enkelt at få vist data.
Arranger de to gallerier på skærmen for at gøre plads til den redigeringsformular, vi tilføjer, ved at flytte begge gallerier til venstre på skærmen.
Tilføj Rediger formular på skærmen, og flyt den til højre af gallerierne.
Angiv egenskaben DataSource for redigeringsformularen til
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
. Erstat dine projekt- og organisationsnavne efter behov.Angiv egenskaben Item for redigeringsformularen til
Gallery2.Selected
.Denne formel angiver egenskaben Item for redigeringsformularen til det arbejdselement, der er valgt på listen over arbejdselementer.
Vælg Rediger felter i egenskabsruden i højre side af skærmen.
Vælg ... (ellipse) > Tilføj et brugerdefineret kort.
Omarranger datakortet i redigeringsformularen øverst.
Lad det brugerdefinerede kort være valgt, og indsæt et Tekstinput-kontrolelement. Når kontrolelementet er valgt, tilføjes det inde i det brugerdefinerede kort.
Øg størrelsen på kontrolelementet Tekstinput.
- Angiv egenskaben Standard for kontrolelementet Tekstinput til
Text(ThisItem.Value.'System.Title')
. Tekstfunktionen "typer" returneres som Tekst.
Denne formel angiver standardteksten i kontrolelementet Tekstinput til feltet Title fra det valgte Azure DevOps-arbejdselement.
Tip
Hvis dit Azure DevOps-projekt bruger feltet Description med HTML eller RTF, kan du også bruge inputkontrolelementet RTF-editor i stedet for kontrolelementet Tekstinput eller etiketkontrolelementer. Hvis du bruger kontrolelementet RTF-editor i dette tilfælde, kan du også løse problemer som f.eks. den beskrivelse, der vises med HTML-kode i stedet for almindelig tekst eller RTF-tekst.
Gentag de forrige trin for at tilføje et andet brugerdefineret kort, hvor kontrolelementet Tekstinput i egenskaben Standard er angivet til
Text(ThisItem.Value.'System.State')
.Denne formel angiver standardteksten i kontrolelementet Tekstinput til feltet Tilstand fra det valgte Azure DevOps-arbejdselement.
Omarranger datakortene i redigeringsformularen for at skabe plads på det sted, hvor ikonet Gem skal tilføjes.
Føje returværdier uden type og dynamiske returværdier til formularerne
Indtil videre har vi brugt formularen Rediger, hvilket forenkler dataadgangen ved at levere en fælles DataSource- og Item-egenskab, som alle datakort i formularen kan arbejde med. Hvis du bruger formularen Rediger, og du vil have adgang til værdierne uden type, skal du sikre, at du angiver både egenskaberne for datakilden og elementet på følgende måde: (erstat dine værdier for Organisation og Projekt).
AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType')
Når du sender tekstegenskaben "WorkItemType", f.eks. "Feature", kan du skifte fra elementer som Funktioner og Arbejdselementer. Da felterne for disse elementer adskiller sig fra hinanden, er returtypen fra dette kald dynamisk.
Du kan få adgang til bestemte værdier ved hjælp af den almindelige metode Text(ThisItem.Value.'System.Id'). Du kan også få adgang til dem via det mere generelle dynamiske svar ved hjælp af Text(ThisItem.fields.System_Id). Navnene på disse dynamiske værdier vises typisk ikke. Hvis du vil søge efter de rette navne til disse felter, herunder felter, der ikke er standardfelter, skal du åbne overvågningsværktøjet og undersøge datasvaret for kaldet GetWorkItemDetails. Se billedet nedenfor for at få yderligere vejledning.
Hvis du ikke bruger formularen Rediger, men i stedet bruger en objektbeholder, kan du hente disse værdier ved hjælp af en formel som den nedenfor, der henter oplysninger fra et brugerdefineret teamfelt.
Text(AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType').fields.One_custom_CustomField1)
Opdatering af værdier i Azure DevOps
Hvis du vil opdatere en værdi i Azure Dev Ops, skal du bruge UpdateWorkItem i OnSelect for en knap.
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" }))
}
);
Formlen tilføjer ny eksempeltekst, men du kan også bruge et PowerFx-udtryk.
Kontrollér, at der bruges små bogstaver i formlen for de ikke-brugerdefinerede eller indbyggede feltnavne. Hvis du f.eks. refererer til feltet "Description", skal du bruge description: "This is a new description"
i stedet for Description:"This is a new description"
. Forkert brug af store bogstaver kan resultere i fejlen "400 Obligatorisk parameter: mangler for den anmodede handling: 'UpdateWorkItem'". I forbindelse med brugerdefinerede/dynamiske værdier kan du bruge den normale brug af små og store bogstaver for visningsfeltet. Feltnavnet for det brugerdefinerede felt er f.eks. kun det viste navn 'Brugerdefineret felt 1'. Denne navngivningskonvention for returværdierne er specifik for Azure DevOps og kan adskille sig fra andre tjenester.
Næste trin
Afspil appen. Vælg en forespørgsel på listen over forespørgsler. Vælg derefter et arbejdselement, hvor du vil opdatere titlen eller beskrivelsen. Foretag en ændring, og vælg derefter knappen Gem. Ændringerne gemmes i Azure DevOps-arbejdselementet. Skift til en anden forespørgsel, og skift tilbage for at se ændringerne i appen.
På samme måde kan du tilpasse appen yderligere eller oprette en app med flere datakort i formularer. Du kan også bruge visningsformularen i stedet for at redigere formularen, så du kun viser data i forskellige datakort. Når du bruger visningsformularen, skal du kontrollere, at du bruger kontrolelementet Tekstmærkat til at få vist tekst. Når du bruger RTF- eller HTML-format (f.eks. feltet Beskrivelse i Azure DevOps), skal du bruge kontrolelementet HTML-tekst. Du kan finde flere oplysninger om tilpasning af appen i kontrolelementer, galleri, formularer og kort.
Se også
Arbejde med datakilder for dynamiske skemaer i Power Apps (eksperimentel)
Bemærk
Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)
Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).