חיבור ל- 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
אם הדוגמה משתמשת במשתנים "פרויקט", "ארגון" ו"תיקייה" והערכים בפועל נמצאים בתיבות הטקסט מתחת לשורת הנוסחאות (מודגש). אפשר למצוא את ערכי הפרויקט והארגון שלך מכתובת האתר המשמשת לחיבור ל-Azure Dev Ops. התיקיה תהיה בדרך כלל 'שאילתות משותפות' או 'השאילתות שלי'.
אם אתה רואה את השגיאה הבאה בנוסחה שלמעלה, אפשר גישה ליישום צד שלישי באמצעות OAuth בארגון Azure DevOps שלך, ונסה שוב.
"AzureDevOps.ListQueriesInFolder failed:"status":401,"message":"TF400813:{ה- 'GUID' של המשתמש לא מורשה לגשת למשאב זה."}
בחר את פריסה עבור הגלריה ככותרת וכותרת משנה.
בחר את השדות המתאימים ל-Azure Dev Ops בתור שם וFolderOptions עבור הכותרת וכותרות המשנה.
שלב 3 - רשימת פריטי עבודה
עכשיו נשתמש בפעולה GetQueryResultsV2 עבור המחבר Azure DevOps כדי לפרט את כל פריטי העבודה עבור השאילתה שנבחרה. כך משייכים את הגלריה למקור הנתונים.
הוסף גלריה אנכית ריקה נוספת ומקם אותה בצד שמאל של הגלריה הקיימת.
הזן את הנוסחה הבאה עבור המאפיין Items של הגלריה, והחלף את ערכי הפרמטרים לדוגמה לפי הצורך. החלף את שמות הפרויקט והארגון שלך לפי הצורך.
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
נוסחה זו משתמשת בפעולה GetQueryResultsV2 עם שם הפרוייקט, מזהה השאילתה ושם הארגון. מזהה השאילתה בדוגמה זו (Gallery2.Selected.Id
) מתייחס לשאילתה שנבחרה מרשימת השאילתות הזמינות דרך הגלריה שנוספה קודם לכן. החלף את שם הגלריה לפי הצורך.
הוספת ערכי החזר שלא הוקלדו לגלריה שלך
התוצאה המוחזרת של GetQueryResultsV2 היא דינמית. ולכן גם הערכים אינם מודפסים.
עם זאת אתה יכול לגשת לחלק מהערכים. Azure Dev Ops מחזיר קבוצה בסיסית של ערכים עבור כל הפריטים המוקלדים. בחר את כרטיס הנתונים בגלריה והוסף שתי תווית טקסט. הגדר את מאפיין הטקסט של התוויות:
ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'
שלב 4 - הצגת פריטי עבודה
האפליקציה מציגה רשימה של כל השאילתות, ואת רשימת פריטי העבודה עבור השאילתה שנבחרה. כעת נוכל להוסיף טופס עריכה שבו נשתמש כדי להציג נתונים.
סדר את שתי הגלריות במסך כדי לפנות מקום לטופס העריכה שנוסיף על-ידי הזזת שתי הגלריות לצד ימין של המסך.
הוסף אפשרות עריכת טופס למסך, והזז אותה לצד שמאל של הגלריות.
הגדר את המאפיין DataSource של טופס העריכה ל-
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value
. החלף את שמות הפרויקט והארגון שלך לפי הצורך.הגדר את המאפיין Item של טופס העריכה ל-
Gallery2.Selected
.נוסחה זו מגדירה את המאפיין Item עבור טופס העריכה לפריט העבודה שנבחר ברשימת פריטי העבודה.
בחר עריכת שדות מחלונית המאפיינים בצד שמאל של המסך.
בחר ... (שלוש נקודות) > הוסף כרטיס מותאם אישית.
סדר מחדש את כרטיס הנתונים בטופס העריכה בחלק העליון.
תוך כדי סימון הכרטיס המותאם אישית, הוסף פקד קלט טקסט. לאחר הבחירה, הפקד מתווסף בתוך הכרטיס המותאם אישית.
הגדל את הפקד קלט טקסט.
- הגדר את המאפיין Default של הפקד קלט טקסט ל-
Text(ThisItem.Value.'System.Title')
. הפונקציה Text 'מקלידה' את ההחזר כטקסט.
נוסחה זו מגדירה את טקסט ברירת המחדל בתוך הפקד קלט טקסט לשדה כותרת מפריט העבודה של Azure DevOps הנבחר.
עצה
אם פרוייקט Azure DevOps שלך משתמש בשדה תיאור עם HTML או טקסט עשיר, באפשרותך גם להשתמש בפקד הקלט של עורך טקסט עשיר במקום בפקדי התווית של קלט טקסט. שימוש בפקד עורך טקסט עשיר במקרה זה גם עוזר לפתור בעיות כגון הצגת התיאור עם קוד HTML במקום טקסט רגיל או עשיר.
חזור על השלבים הקודמים כדי להוסיף כרטיס מותאם אישית נוסף, עם פקד קלט טקסט בפנים עם המאפיין Default מוגדר ל-
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", זה מאפשר לך לעבור מפריטים כגון Features ו-Work Items. מכיוון שקבוצת השדות עבור פריטים אלו שונה זה מזה, סוג ההחזרה מהקריאה הזו הוא דינמי.
אתה יכול לגשת לערכים ספציפיים באמצעות השיטה הנפוצה 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 (ניסיונית)