Свържете се с Azure DevOps от Power Apps
Конектор на Power Apps за Azure DevOps ви позволява да работите с екземпляр на Azure DevOps. Можете да преглеждате Azure DevOps заявки, да избирате работни елементи въз основа на различни типове работни елементи и да преглеждате или редактирате подробности от приложението за платно, с което се свързва Azure DevOps.
Съвет
За пълния списък на всички действия вижте Всички действия на Azure DevOps.
Целта на тази статия е да ви насочи в изграждането на приложение за платно, с което може да се свърже Azure DevOps , за да събере списък със заявки и да взаимодейства с работните елементи в проекта.
Предварителни изисквания
Необходими са следните изисквания:
- Лиценз на Power Apps. Ако нямате лиценз, използвайте 30-дневен пробен период или се регистрирайте за план за разработчици за непроизводствена употреба.
- Ако сте нови в Power Apps запознайте се с основите на Power Apps от генериране на приложение и след това персонализирате контроли, галерия, формуляри и карти.
- Празно приложение за платно, с което да се свързвате Azure DevOps.
- За да създадете приложението, представено в тази статия, ще ви е необходим Azure DevOps екземпляр, който включва организация, проект и споделена заявка с няколко примерни работни елемента, налични за редактиране.
- Екземплярът Azure DevOps трябва да бъде разрешен за достъп до приложения на трети страни чрез OAuth. За повече информация вижте Управление на правилата за достъп за Azure DevOps.
Стъпка 1 - Добавяне Azure DevOps на източник на данни
За да се свържете с Azure DevOps, редактирайте празното приложение за платно и добавете Azure DevOps източник на данни.
Ако нямате Azure DevOps връзка вече, изберете Свържете се и следвайте подканите, за да предоставите данните си, и след това позволете на приложението да се свърже.
Стъпка 2 – Изброяване на споделени заявки
В този раздел ще използваме ListQueriesInFolder действие за Azure DevOps конектор за списък на наличните заявки.
В левия прозорец изберете Вмъкване > Оформление > Празна вертикална галерия.
Въведете следната формула за свойството Items на галерията, като замените стойностите на примерните параметри по подходящ начин.
AzureDevOps.ListQueriesInFolder("Project","Organization","Folder").value
Ако в примера се използват променливите "Проект", "Организация" и "Папка", а действителните стойности са в текстовите полета под лентата с формули (маркирани). Можете да намерите вашите стойности на Project и Organization от URL адреса, използван за свързване с Azure Dev Ops. Папката обикновено ще бъде "Споделени заявки" или "Моите заявки".
Ако получите следната грешка във формулата по-горе, разрешете достъпа до приложения на трети страни с помощта на OAuth във вашата Azure DevOps организация и опитайте отново.
"AzureDevOps.ListQueriesInFolder failed:{"status":401,"message":"TF400813:Потребителят "GUID" не е упълномощен за достъп до този ресурс."}
Изберете Разположението на галерията за Заглавие и подзаглавие.
Изберете полетата, подходящи за Azure Dev Ops като Name и FolderOptions за заглавието и субтитрите.
Стъпка 3 - Списък на работните елементи
Сега използваме действието GetQueryResultsV2 за конектора Azure DevOps , за да изброим всички работни елементи за избраната заявка. Това свързва галерията с източник на данни.
Вмъкнете друга празна вертикална галерия и я поставете от дясната страна на съществуващата галерия.
Въведете следната формула за свойството Items на галерията, като замените стойностите на примерните параметри по подходящ начин. Заменете имената на вашия проект и организация, ако е подходящо.
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
Тази формула използва GetQueryResultsV2 действие с името на проекта, ID на заявката и името на организацията. ID на заявката в този пример (Gallery2.Selected.Id
) се отнася до заявката, избрана от списъка със заявки, достъпни чрез добавената по-рано галерия. Заменете името на галерията според случая.
Добавяне на невъведени върнати стойности към вашата галерия
Върнатият резултат от GetQueryResultsV2 е динамичен. И следователно стойностите също са нетипизирани.
Можете обаче да получите достъп до някои от стойностите. Azure Dev Ops връща основен набор от стойности за всички въведени елементи. Изберете картата с данни в галерията и вмъкнете два текстови етикета. Задайте свойството text на етикетите, както следва:
ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'
Стъпка 4 - Показване на работни елементи
Приложението показва списък с всички заявки и списък с работни елементи за избраната заявка. Сега можем да добавим формуляр за редактиране, който ще използваме за просто показване на данни.
Подредете двете галерии на екрана, за да освободите място за формуляра за редактиране, който добавяме, като преместите двете галерии вляво на екрана.
Добавете Редактиране на формуляр към екрана и го преместете в дясната част на галериите.
Задайте свойството DataSource на формуляра за редактиране на
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
. Заменете имената на вашия проект и организация, ако е подходящо.Задайте свойството Item на контрола за редактиране на формуляр на
Gallery2.Selected
.Тази формула определя свойството Item за формуляра за редактиране към работния елемент, който е избран в списъка с работни елементи.
Изберете Редактиране на полета от прозореца със свойства в дясната част на екрана.
Изберете ... (многоточие) > Добавяне на персонализиран карта.
Пренаредете картата с данни във формуляра за редактиране в горната част.
Запазвайки избраната персонализирана карта, поставете контролата Въвеждане на текст. Веднъж избрана, контролата се добавя в персонализираната карта.
Увеличете размера на контролата за въвеждане на текст.
- Задайте свойството По подразбиране на контролата за въвеждане на текст.
Text(ThisItem.Value.'System.Title')
Функцията Text "въвежда" връщането като Text.
Тази формула задава текста по подразбиране в контролата за въвеждане на текст на поле Заглавие от избрания работен елемент на Azure DevOps.
Съвет
Ако вашият Azure DevOps проект използва поле "Описание " с HTML или RTF текст, можете също да използвате контролата за въвеждане на RTF текстов редактор вместо контролите "Въвеждане на текст" или "Етикет". Използването на контролата Обогатен текстов редактор в този случай също помага за разрешаването на всякакви проблеми, като например показването на описанието с HTML код вместо обикновен или обогатен текст.
Повторете предишните стъпки, за да добавите друга персонализирана карта с контрола за въвеждане на текст вътре със свойството По подразбиране .
Text(ThisItem.Value.'System.State')
Тази формула задава текста по подразбиране в контролата за въвеждане на текст в полето Състояние от избрания Azure DevOps работен елемент.
Пренаредете картите с данни във формуляра за редактиране, за да създадете място, където ще добавим иконата за запазване.
Добавяне на невъведени и динамични върнати стойности към вашите формуляри
Досега използвахме формуляра за редактиране, който опростява историята на достъпа до данни, като предоставя общо свойство DataSource и Item, с което могат да работят всички карти с данни във формуляра. Ако използвате формуляра Редактиране, за достъп до невъведените стойности се уверете, че сте задали както източник на данни, така и свойствата на елемента, както следва: (Заместване на вашите стойности за Организация и Проект.)
AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType')
Когато подадете текстовото свойство "WorkItemType", например "Feature", то ви позволява да превключвате от елементи като функции и работни елементи. Тъй като наборът от полета за тези елементи се различава едно от друго, типът на връщане от това извикване е динамичен.
Можете да получите достъп до конкретни стойности, като използвате общия метод Text(ThisItem.Value.' System.Id'). Като алтернатива можете да получите достъп до тях чрез по-общия динамичен отговор с помощта на Text(ThisItem.fields.System_Id). Тези динамични имена на стойности обикновено не са документирани. За да намерите правилните имена за тези полета, включително нестандартни полета, отворете инструмента за наблюдение и прегледайте отговора на данните за извикването GetWorkItemDetails. Вижте изображението по-долу за допълнителни насоки.
Ако не използвате формуляр за редактиране, а вместо това използвате контейнер, тогава можете да извлечете тези стойности с помощта на формула като тази по-долу, която извлича информация от персонализирано поле на екипа.
Text(AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType').fields.One_custom_CustomField1)
Актуализиране на стойностите в Azure DevOps
За да актуализирате стойност в Azure Dev Ops, използвайте UpdateWorkItem в бутона OnSelect на бутон.
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" }))
}
);
Формулата добавя нов примерен текст, но можете да използвате и израз на PowerFx.
Уверете се, че формулата използва малки букви за имената на полетата, които не са персонализирани или вградени. Например, когато се позовавате на полето "Описание", използвайте description: "This is a new description"
вместо Description:"This is a new description"
. Неправилният корпус може да доведе до грешка "400 Липсва необходим параметър за заявената операция: 'UpdateWorkItem'". За потребителски/динамични стойности можете да използвате нормалния регистър на полето за показване. Например името на полето за персонализираното поле е само показваното име "Персонализирано поле 1". Тази конвенция за именуване на върнатите стойности е специфична за Azure DevOps и може да се различава от другите услуги.
Следващи стъпки
Изпълнение на приложението. Изберете заявка от списъка със заявки. След това изберете работен елемент, чието заглавие или описание искате да актуализирате. Направете промяна и след това изберете бутона за запазване. Промените се записват в работния елемент на Azure DevOps. Превключете към друга заявка и превключете обратно, за да видите промените, които се показват в приложението.
По същия начин персонализирайте приложението допълнително или създайте приложение с допълнителни карти с данни във формуляри. Можете също да използвате формуляр за показване вместо формуляр за редактиране, за да показвате само данни в различни карти с данни. Когато използвате формата за показване, уверете се, че използвате контролата Текстов етикет за показване на текст. Когато използвате формат с форматиран текст или HTML (като поле Описание в Azure DevOps), използвайте HTML текст контрол. За повече информация относно персонализирането на това приложение вижте контроли, галерия, форми и карти.
Вижте също
Работа с източници на данни на динамична схема в Power Apps (експериментално)
Бележка
Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)
Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).