หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ตัวเชื่อมต่อ Power Apps สําหรับ Azure DevOps ช่วยให้คุณทํางานกับอินสแตนซ์ Azure DevOps ของคุณได้ ดูคิวรี Azure DevOps เลือกรายการงานตามชนิดและดูหรือแก้ไขรายละเอียดทั้งหมดจากภายในแอปพื้นที่ทํางานที่เชื่อมต่อกับ Azure DevOps
เคล็ดลับ
สําหรับรายการทั้งหมดของการดําเนินการ ทั้งหมด ดูการดําเนินการตัวเชื่อมต่อ Azure DevOps
บทความนี้แนะนําคุณผ่านการสร้างแอปพื้นที่ทํางานที่เชื่อมต่อกับ Azure DevOps เพื่อรับรายการของคิวรี่และโต้ตอบกับรายการงานในโครงการของคุณ
ข้อกําหนดเบื้องต้น
คุณต้องมีสิ่งต่อไปนี้:
- สิทธิ์การใช้งาน Power Apps ถ้าคุณยังไม่มี ให้ใช้ การทดลองใช้ 30 วัน หรือลงทะเบียนสําหรับ แผนสําหรับนักพัฒนา ซอฟต์แวร์สําหรับการใช้งานที่ไม่ใช่การผลิต
- ถ้าคุณไม่คุ้นเคยกับ 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" และ "Folder" ค่าจริงจะอยู่ในกล่องข้อความด้านล่างแถบสูตร (เน้น) คุณจะพบค่า Project และองค์กรของคุณใน URL ที่ใช้ในการเชื่อมต่อกับ Azure DevOps โฟลเดอร์มักจะเป็น "คิวรีที่แชร์" หรือ "คิวรีของฉัน"
ถ้าคุณได้รับข้อผิดพลาดต่อไปนี้ในสูตรข้างต้น เปิดใช้งานการเข้าถึงแอปของบุคคลที่สามโดยใช้ OAuth ในองค์กร Azure DevOps ของคุณ แล้วลองอีกครั้ง
"AzureDevOps.ListQueriesInFolder ล้มเหลว:{"status":401,"message":"TF400813:ผู้ใช้ 'GUID' ไม่ได้รับอนุญาตให้เข้าถึงทรัพยากรนี้"}"
ตั้งค่า เค้าโครง สําหรับแกลเลอรีเป็น ชื่อเรื่อง และ คําบรรยาย
เลือกเขตข้อมูลที่เหมาะสมสําหรับ Azure DevOps เป็น ชื่อ และ ตัวเลือกโฟลเดอร์ สําหรับชื่อเรื่องและคําบรรยาย
ขั้นตอนที่ 3 - แสดงรายการงาน
ใช้การดําเนินการ GetQueryResultsV2 สําหรับตัวเชื่อมต่อ Azure DevOps เพื่อแสดงรายการงานทั้งหมดสําหรับคิวรีที่เลือก การดําเนินการนี้จะผูกแกลเลอรีกับแหล่งข้อมูล
แทรกแกลเลอรีแนวตั้งที่ว่างเปล่าอันอื่น และวางไว้ถัดจากแกลเลอรีที่มีอยู่
ใส่สูตรต่อไปนี้สําหรับคุณสมบัติ Items ของแกลเลอรี แทนที่ค่าพารามิเตอร์ตัวอย่างด้วยชื่อโครงการและองค์กรของคุณ
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id), "Organization").value
สูตรนี้ใช้การดําเนินการ GetQueryResultsV2 ที่มีชื่อโครงการ ID คิวรี และชื่อองค์กร ID คิวรีในตัวอย่างนี้ (Gallery2.Selected.Id) หมายถึงคิวรีที่เลือกจากรายการของคิวรีที่พร้อมใช้งานผ่านแกลเลอรีที่เพิ่มก่อนหน้านี้ แทนที่ชื่อแกลเลอรีตามความจําเป็น
เพิ่มค่าไดนามิกที่ส่งกลับไปยังแกลเลอรีของคุณ
ผลลัพธ์ของ GetQueryResultsV2 เป็นแบบไดนามิก ดังนั้นค่าจึงเป็นแบบไดนามิกเช่นกัน
แต่คุณสามารถเข้าถึงค่าบางอย่างได้ Azure DevOps ส่งกลับชุดพื้นฐานของค่าสําหรับรายการประเภททั้งหมด เลือกการ์ดข้อมูลในแกลเลอรี และแทรกป้ายชื่อข้อความสองป้าย ตั้งค่าคุณสมบัติข้อความของป้ายชื่อดังต่อไปนี้:
ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'
ขั้นตอนที่ 4 - แสดงรายการงาน
แอปแสดงรายการของคิวรีทั้งหมดและรายการงานสําหรับคิวรีที่เลือก ในตอนนี้ ให้เพิ่มฟอร์มแก้ไขเพื่อแสดงข้อมูล
ย้ายแกลเลอรีทั้งสองทางด้านซ้ายของหน้าจอเพื่อเพิ่มพื้นที่ว่างสําหรับฟอร์มการแก้ไข
เพิ่ม แก้ไขฟอร์ม ไปยังหน้าจอ และย้ายไปทางด้านขวาของแกลเลอรี
ตั้งค่าคุณสมบัติ DataSource ของฟอร์มแก้ไขเป็น
AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").valueแทนที่ "โครงการ" และ "องค์กร" ด้วยชื่อโครงการและองค์กรของคุณตั้งค่าคุณสมบัติรายการของฟอร์มแก้ไขเป็น
Gallery2.Selected
สูตรนี้ตั้งค่าคุณสมบัติ สินค้า สําหรับแก้ไขฟอร์มไปยังรายการงานที่เลือก
- เลือก ... (จุดไข่ปลา) >เพิ่มการ์ดแบบกําหนดเอง
- ย้ายการ์ดข้อมูลไปยังด้านบนของฟอร์มแก้ไข
- เพิ่มขนาดของตัวควบคุมการป้อนข้อความ
- ตั้งค่าคุณสมบัติ Default ของตัวควบคุมการป้อนข้อความเป็น
Text(ThisItem.Value.'System.Title')ฟังก์ชัน Text ส่งกลับค่าเป็นข้อความ
สูตรนี้ตั้งค่าข้อความเริ่มต้นภายในตัวควบคุมการป้อนข้อความไปยังเขตข้อมูล ชื่อเรื่อง จากรายการงาน Azure DevOps ที่เลือก
เคล็ดลับ
ถ้าโครงการ Azure DevOps ของคุณใช้เขตข้อมูล คําอธิบาย ที่มี HTML หรือ Rich Text ให้ใช้ตัวควบคุมการป้อนข้อมูล ตัวแก้ไข Rich Text แทนตัวควบคุม การป้อนข้อความ หรือป้ายชื่อ ตัวควบคุม ตัวแก้ไข Rich Text ช่วยแสดงคําอธิบายเป็น Rich Text แทนโค้ด 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" เช่น "คุณลักษณะ" คุณสามารถสลับระหว่างรายการต่าง ๆ เช่น คุณลักษณะและรายการงานได้ เนื่องจากชุดของเขตข้อมูลสําหรับรายการเหล่านี้แตกต่างกัน ชนิดผลลัพธ์จากการเรียกนี้เป็นแบบไดนามิก
เข้าถึงค่าเฉพาะโดยใช้เมธอดทั่วไป 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 DevOps ให้ใช้ 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" }))
}
)
สูตรจะเพิ่มข้อความตัวอย่างใหม่ แต่คุณยังสามารถใช้นิพจน์ Power Fx ได้
ตรวจสอบให้แน่ใจว่าสูตรใช้ตัวพิมพ์เล็กสําหรับชื่อเขตข้อมูลที่มีอยู่ภายใน ตัวอย่างเช่น เมื่อคุณอ้างถึงเขตข้อมูล คําอธิบาย ให้ใช้ description: "This is a new description" แทนDescription: "This is a new description" การจัดเรียงที่ไม่ถูกต้องอาจส่งผลให้เกิดข้อผิดพลาด "400 พารามิเตอร์ที่จําเป็นที่ขาดหายไปสําหรับการดําเนินการที่ร้องขอ: 'UpdateWorkItem'" สําหรับค่าที่กําหนดเองหรือแบบไดนามิก ใช้ชื่อที่แสดงใน UI เช่น 'เขตข้อมูลแบบกําหนดเอง 1' มาตรฐานการตั้งชื่อนี้มีความเฉพาะเจาะจงกับ Azure DevOps และอาจแตกต่างจากบริการอื่น ๆ
ขั้นตอนถัดไป
เรียกใช้แอป เลือกคิวรีจากรายการคิวรี จากนั้น เลือกรายการงานที่คุณต้องการอัปเดตชื่อเรื่องหรือคําอธิบาย ทําการเปลี่ยนแปลง จากนั้นเลือกปุ่มบันทึก แอปจะบันทึกการเปลี่ยนแปลงของคุณไปยังรายการงาน Azure DevOps สลับไปยังคิวรีอื่น แล้วสลับกลับไปเพื่อดูการเปลี่ยนแปลงในแอป
คุณยังสามารถกําหนดแอปเพิ่มเติม หรือสร้างแอปที่มีการ์ดข้อมูลเพิ่มเติมบนฟอร์มได้ ใช้ฟอร์มที่แสดงแทนฟอร์มแก้ไขเพื่อแสดงข้อมูลในการ์ดข้อมูลที่แตกต่างกัน เมื่อคุณใช้ฟอร์มการแสดง ใช้ตัวควบคุม ป้ายชื่อข้อความ เพื่อแสดงข้อความ เมื่อคุณใช้ Rich Text หรือรูปแบบ HTML (เช่นเขตข้อมูล Description ใน Azure DevOps) ให้ใช้ตัวควบคุมข้อความ HTML สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการกําหนดค่าแอป ดูตัวควบคุมแกลเลอรีฟอร์ม และการ์ด
ดูเพิ่มเติม
การทํางานกับแหล่งข้อมูล Schema แบบไดนามิกใน Power Apps (แบบทดลอง)