แชร์ผ่าน


เชื่อมต่อกับ Azure DevOps จาก Power Apps

ตัวเชื่อมต่อ Power Apps สําหรับ Azure DevOps ช่วยให้คุณทํางานกับอินสแตนซ์ Azure DevOps ของคุณได้ ดูคิวรี Azure DevOps เลือกรายการงานตามชนิดและดูหรือแก้ไขรายละเอียดทั้งหมดจากภายในแอปพื้นที่ทํางานที่เชื่อมต่อกับ Azure DevOps

เคล็ดลับ

สําหรับรายการทั้งหมดของการดําเนินการ ทั้งหมด ดูการดําเนินการตัวเชื่อมต่อ Azure DevOps

บทความนี้แนะนําคุณผ่านการสร้างแอปพื้นที่ทํางานที่เชื่อมต่อกับ Azure DevOps เพื่อรับรายการของคิวรี่และโต้ตอบกับรายการงานในโครงการของคุณ

ข้อกําหนดเบื้องต้น

คุณต้องมีสิ่งต่อไปนี้:

ขั้นตอนที่ 1 - เพิ่มแหล่งข้อมูล Azure DevOps

เมื่อต้องการเชื่อมต่อกับ Azure DevOps แก้ไขแอปพื้นที่ทํางานเปล่า และเพิ่มแหล่งข้อมูล Azure DevOps

สกรีนช็อตของการเชื่อมต่อกับ Azure DevOps ในบานหน้าต่างการเลือกแหล่งข้อมูล

ถ้าคุณไม่มีการเชื่อมต่อ Azure DevOps ให้เลือก เชื่อมต่อ ทําตามพร้อมท์เพื่อใส่รายละเอียดของคุณ และอนุญาตให้แอปเชื่อมต่อ

ขั้นตอนที่ 2 - แสดงรายการคิวรีที่แชร์

ในส่วนนี้ คุณใช้การดําเนินการ ListQueriesInFolder สําหรับตัวเชื่อมต่อ Azure DevOps เพื่อแสดงรายการคิวรีที่พร้อมใช้งาน

  1. ในบานหน้าต่างด้านซ้าย เลือกแทรก>เค้าโครง>แกลเลอรีแนวตั้งเปล่า

  2. ใส่สูตรต่อไปนี้สําหรับคุณสมบัติ Items ของแกลเลอรี แทนที่ค่าพารามิเตอร์ตัวอย่างด้วยค่าของคุณเอง

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

สกรีนช็อตของคิวรีรายการในโฟลเดอร์โดยใช้สูตรที่เพิ่มลงในคุณสมบัติ Items ของแกลเลอรีแนวตั้ง

ตัวอย่างนี้ใช้ตัวแปร "Project", "Organization" และ "Folder" ค่าจริงจะอยู่ในกล่องข้อความด้านล่างแถบสูตร (เน้น) คุณจะพบค่า Project และองค์กรของคุณใน URL ที่ใช้ในการเชื่อมต่อกับ Azure DevOps โฟลเดอร์มักจะเป็น "คิวรีที่แชร์" หรือ "คิวรีของฉัน"

สกรีนช็อตของการค้นหาชื่อโครงการและองค์กรสําหรับอินสแตนซ์ Azure DevOps ของคุณ

ถ้าคุณได้รับข้อผิดพลาดต่อไปนี้ในสูตรข้างต้น เปิดใช้งานการเข้าถึงแอปของบุคคลที่สามโดยใช้ OAuth ในองค์กร Azure DevOps ของคุณ แล้วลองอีกครั้ง

"AzureDevOps.ListQueriesInFolder ล้มเหลว:{"status":401,"message":"TF400813:ผู้ใช้ 'GUID' ไม่ได้รับอนุญาตให้เข้าถึงทรัพยากรนี้"}"

  1. ตั้งค่า เค้าโครง สําหรับแกลเลอรีเป็น ชื่อเรื่อง และ คําบรรยาย

  2. เลือกเขตข้อมูลที่เหมาะสมสําหรับ Azure DevOps เป็น ชื่อ และ ตัวเลือกโฟลเดอร์ สําหรับชื่อเรื่องและคําบรรยาย

ภาพหน้าจอของเขตข้อมูลแกลเลอรีสําหรับการแสดงรายการคิวรี

ขั้นตอนที่ 3 - แสดงรายการงาน

ใช้การดําเนินการ GetQueryResultsV2 สําหรับตัวเชื่อมต่อ Azure DevOps เพื่อแสดงรายการงานทั้งหมดสําหรับคิวรีที่เลือก การดําเนินการนี้จะผูกแกลเลอรีกับแหล่งข้อมูล

  1. แทรกแกลเลอรีแนวตั้งที่ว่างเปล่าอันอื่น และวางไว้ถัดจากแกลเลอรีที่มีอยู่

  2. ใส่สูตรต่อไปนี้สําหรับคุณสมบัติ 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 - แสดงรายการงาน

แอปแสดงรายการของคิวรีทั้งหมดและรายการงานสําหรับคิวรีที่เลือก ในตอนนี้ ให้เพิ่มฟอร์มแก้ไขเพื่อแสดงข้อมูล

  1. ย้ายแกลเลอรีทั้งสองทางด้านซ้ายของหน้าจอเพื่อเพิ่มพื้นที่ว่างสําหรับฟอร์มการแก้ไข

  2. เพิ่ม แก้ไขฟอร์ม ไปยังหน้าจอ และย้ายไปทางด้านขวาของแกลเลอรี

สกรีนช็อตของการเพิ่มฟอร์มแก้ไข

  1. ตั้งค่าคุณสมบัติ DataSource ของฟอร์มแก้ไขเป็นAzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value แทนที่ "โครงการ" และ "องค์กร" ด้วยชื่อโครงการและองค์กรของคุณ

  2. ตั้งค่าคุณสมบัติรายการของฟอร์มแก้ไขเป็นGallery2.Selected

สูตรนี้ตั้งค่าคุณสมบัติ สินค้า สําหรับแก้ไขฟอร์มไปยังรายการงานที่เลือก

  1. เลือก ... (จุดไข่ปลา) >เพิ่มการ์ดแบบกําหนดเอง

สกรีนช็อตของการเพิ่มการ์ดแบบกําหนดเองในฟอร์มแก้ไข

  1. ย้ายการ์ดข้อมูลไปยังด้านบนของฟอร์มแก้ไข

สกรีนช็อตของการ์ดแบบกําหนดเองที่ย้ายไปยังส่วนด้านบนภายในฟอร์มแก้ไข

  1. เพิ่มขนาดของตัวควบคุมการป้อนข้อความ

สกรีนช็อตของตัวควบคุมการป้อนข้อความภายในการ์ดแบบกําหนดเอง

  1. ตั้งค่าคุณสมบัติ Default ของตัวควบคุมการป้อนข้อความเป็นText(ThisItem.Value.'System.Title') ฟังก์ชัน Text ส่งกลับค่าเป็นข้อความ

สกรีนช็อตของตัวควบคุมการป้อนข้อความที่อ้างอิงถึงชื่อของรายการงาน

สูตรนี้ตั้งค่าข้อความเริ่มต้นภายในตัวควบคุมการป้อนข้อความไปยังเขตข้อมูล ชื่อเรื่อง จากรายการงาน Azure DevOps ที่เลือก

เคล็ดลับ

ถ้าโครงการ Azure DevOps ของคุณใช้เขตข้อมูล คําอธิบาย ที่มี HTML หรือ Rich Text ให้ใช้ตัวควบคุมการป้อนข้อมูล ตัวแก้ไข Rich Text แทนตัวควบคุม การป้อนข้อความ หรือป้ายชื่อ ตัวควบคุม ตัวแก้ไข Rich Text ช่วยแสดงคําอธิบายเป็น Rich Text แทนโค้ด HTML

  1. ทําซ้ําขั้นตอนก่อนหน้านี้เพื่อเพิ่มการ์ดแบบกําหนดเองอื่น ด้วยตัวควบคุมการป้อนข้อความภายใน ด้วยคุณสมบัติ Default ที่ตั้งค่าเป็นText(ThisItem.Value.'System.State')

สูตรนี้ตั้งค่าข้อความเริ่มต้นภายในตัวควบคุมการป้อนข้อความเป็นเขตข้อมูล รัฐ จากรายการงาน Azure DevOps ที่เลือก

  1. จัดเรียงการ์ดข้อมูลภายในฟอร์มแก้ไขใหม่เพื่อสร้างพื้นที่สําหรับไอคอนบันทึก

เพิ่มค่าส่งกลับแบบไดนามิกลงในฟอร์มของคุณ

จนถึงตอนนี้ คุณใช้ฟอร์มแก้ไข ซึ่งช่วยให้การเข้าถึงข้อมูลง่ายขึ้นโดยการให้คุณสมบัติ 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 (แบบทดลอง)