شروحات الكمبيوتر والإنترنت والموبايل

إنشاء قائمة ملفات عبر واجهة REST في أزور ديفوبس

تعد عملية إدارة الحقول والقوائم في Azure DevOps من الخطوات الحيوية التي تسهم في تعزيز كفاءة سير العمل وتنظيم المهام بشكل أكثر فعالية. باستخدام واجهة برمجة التطبيقات (REST API)، أصبح بإمكان المطورين والمستخدمين إنشاء قائمة حقول مخصصة تلبي احتياجاتهم بشكل مرن وبسيط. في هذا السياق، سنتناول كيفية إنشاء قائمة حقول باستخدام REST API في Azure DevOps.

مفهوم إنشاء قائمة حقول في Azure DevOps

قبل أن نبدأ في التطرق للخطوات التفصيلية، يجب أن نفهم أن Azure DevOps هو خدمة متكاملة تتضمن مجموعة من الأدوات والخدمات التي تسهل عملية التطوير البرمجي وإدارة المشاريع. من بين هذه الأدوات، يتم تقديم واجهة برمجة التطبيقات (REST API) التي تسهل على المستخدمين التفاعل مع مختلف مكونات Azure DevOps.

خطوات إنشاء قائمة اختيار جديدة

لإنشاء قائمة اختيار جديدة، ستحتاج أولاً إلى الاستعانة بواجهة "Lists – Create API". هذه الخطوة تتيح لك إعداد قائمة تتضمن العناصر التي ترغب في إدراجها. بمجرد الانتهاء من إنشاء القائمة، ستحصل على استجابة تحتوي على معرف هذه القائمة. إليك كيف يمكنك إجراء هذه العملية خطوة بخطوة:

  1. تحديد المتغيرات الأساسية:
    قم بتحديد المتغيرات الأساسية مثل اسم المؤسسة، المشروع، ورمز الوصول الشخصي (PAT). هذا الرمز ضروري لضمان الحصول على الأذونات المناسبة عند استخدام واجهة برمجة التطبيقات.

    $organization = "اسم_المؤسسة"
    $project = "اسم_المشروع"
    $pat = "رابط_access_token"
  2. ترميز رمز الوصول الشخصي (PAT):
    سيُستخدم هذا الرمز في الخطوات التالية لتأكيد هويتك وأذوناتك.

    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($pat)"))
  3. إنشاء نص JSON لقائمة الاختيار:
    ستحتاج إلى إعداد نص JSON يتضمن تفاصيل القائمة التي تريد إنشائها.

    $picklistJsonBody = @"
    {
     "name": "MyTestPicklist",
     "type": "String",
     "items": ["Yellow", "Green", "Red"]
    }
    "@
  4. إنشاء قائمة الاختيار:
    استخدم الأمر المناسب لإنشاء القائمة باستخدام واجهة برمجة التطبيقات:

    $picklistResponse = Invoc-RestMethod -Uri "https://dev.azure.com/$organization/_apis/work/processes/lists?api-version=7.1" `
    -Method Post `
    -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} `
    -Body $picklistJsonBody `
    -ContentType "application/json"
    $picklistId = $picklistResponse.id

إنشاء حقل مخصص باستخدام القائمة التي أنشأتها

بعد إنشاء قائمة الاختيار، يمكنك الآن استخدام المعرف الذي حصلت عليه لإضافة حقل مخصص جديد. يقدم Azure DevOps واجهة "Fields – Create API" لإجراء هذه العملية.

  1. إعداد نص JSON لإنشاء الحقل المخصص:
    ستحتاج إلى إعداد نص JSON يتضمن تفاصيل الحقل المراد إنشاؤه، بما في ذلك معرف قائمة الاختيار التي أنشأتها مسبقًا.

    $fieldJsonBody = @"
    {
     "name": "MyNewTestField",
     "referenceName": "Custom.MyNewTestField",
     "description": "تم إنشاء حقل مخصص باستخدام واجهة برمجة التطبيقات",
     "type": "string",
     "usage": "workItem",
     "readOnly": false,
     "canSortBy": true,
     "isQueryable": true,
     "supportedOperations": [
       {
         "referenceName": "SupportedOperations.Equals",
         "name": "="
       }
     ],
     "isPicklist": true,
     "picklistId": "$picklistId"
    }
    "@
  2. إنشاء الحقل المخصص:
    استخدم الأمر التالي لإنشاء الحقل:

    Invoc-RestMethod -Uri "https://dev.azure.com/$organization/$project/_apis/wit/fields?api-version=7.1" `
    -Method Post `
    -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} `
    -Body $fieldJsonBody `
    -ContentType "application/json"

الخاتمة

باستخدام هذه الخطوات، يمكنك بسهولة إنشاء قائمة حقول باستخدام REST API في Azure DevOps. تتيح لك هذه الطريقة تخصيص بيئة العمل بما يتناسب مع احتياجات فريقك وضمان تنظيم المهام بشكل فعال. من خلال الاستفادة من مزايا واجهة برمجة التطبيقات، يتم تسهيل العديد من العمليات وتوفير الوقت والجهد.

إذا كنت تبحث عن طرق لتحسين تجربتك وتخصيص بيئة Azure DevOps الخاصة بك، فإن استخدام REST API يعد خيارًا مثاليًا لتحقيق أقصى استفادة من الأدوات المتاحة.

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!