GitHubRelease@1 - مهمة إصدار GitHub الإصدار 1

استخدم هذه المهمة لإنشاء إصدار GitHub أو تحريره أو حذفه.

بناء الجملة

# GitHub Release v1
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@1
  inputs:
    gitHubConnection: # string. Required. GitHub connection (OAuth or PAT). 
    repositoryName: '$(Build.Repository.Name)' # string. Required. Repository. Default: $(Build.Repository.Name).
    action: 'create' # 'create' | 'edit' | 'delete'. Required. Action. Default: create.
    #target: '$(Build.SourceVersion)' # string. Required when action = create || action = edit. Target. Default: $(Build.SourceVersion).
    tagSource: 'gitTag' # 'gitTag' | 'userSpecifiedTag'. Required when action = create. Tag source. Default: gitTag.
    #tagPattern: # string. Optional. Use when tagSource = gitTag. Tag Pattern. 
    #tag: # string. Required when action = edit || action = delete || tagSource = userSpecifiedTag. Tag. 
    #title: # string. Optional. Use when action = create || action = edit. Release title. 
    #releaseNotesSource: 'filePath' # 'filePath' | 'inline'. Optional. Use when action = create || action = edit. Release notes source. Default: filePath.
    #releaseNotesFilePath: # string. Optional. Use when releaseNotesSource = filePath. Release notes file path. 
    #releaseNotesInline: # string. Optional. Use when releaseNotesSource = inline. Release notes. 
    #assets: '$(Build.ArtifactStagingDirectory)/*' # string. Optional. Use when action = create || action = edit. Assets. Default: $(Build.ArtifactStagingDirectory)/*.
    #assetUploadMode: 'delete' # 'delete' | 'replace'. Optional. Use when action = edit. Asset upload mode. Default: delete.
    #isDraft: false # boolean. Optional. Use when action = create || action = edit. Draft release. Default: false.
    #isPreRelease: false # boolean. Optional. Use when action = create || action = edit. Pre-release. Default: false.
    #addChangeLog: true # boolean. Optional. Use when action = create || action = edit. Add changelog. Default: true.
  # Changelog configuration
    changeLogCompareToRelease: 'lastFullRelease' # 'lastFullRelease' | 'lastNonDraftRelease' | 'lastNonDraftReleaseByTag'. Required when addChangeLog = true. Compare to. Default: lastFullRelease.
    #changeLogCompareToReleaseTag: # string. Required when changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true. Release Tag. 
    changeLogType: 'commitBased' # 'commitBased' | 'issueBased'. Required when addChangeLog = true. Changelog type. Default: commitBased.
    #changeLogLabels: '[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]' # string. Optional. Use when changeLogType = issueBased && addChangeLog = true. Categories. Default: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].

الإدخالات

gitHubConnection - اتصال GitHub (OAuth أو PAT)
string. مطلوب

يحدد اسم اتصال خدمة GitHub لاستخدامه للاتصال بمستودع GitHub. يجب أن يستند الاتصال إلى OAuth لمستخدم GitHub أو رمز وصول شخصي GitHub. لمزيد من المعلومات حول اتصالات الخدمة، راجع إدارة اتصالات الخدمة.


repositoryName - مستودع
string. مطلوب القيمة الافتراضية: $(Build.Repository.Name).

يحدد اسم مستودع GitHub حيث ستقوم بإنشاء إصدار GitHub أو تحريره أو حذفه.


action - العمل
string. مطلوب القيم المسموح بها: create، ، editdelete. القيمة الافتراضية: create.

يحدد نوع عملية الإصدار المطلوب تنفيذها. يمكن لهذه المهمة إنشاء إصدار GitHub أو تحريره أو حذفه.


target - الهدف
string. مطلوب عند action = create || action = edit. القيمة الافتراضية: $(Build.SourceVersion).

يحدد SHA التثبيت الذي تريد استخدامه لإنشاء إصدار GitHub، على سبيل المثال 48b11d8d6e92a22e3e9563a3f643699c16fd6e27. يمكنك أيضا استخدام متغير، مثل $(myCommitSHA)، في هذا الحقل.


tagSource - مصدر العلامة
string. مطلوب عند action = create. القيم المسموح بها: gitTag (علامة Git)، userSpecifiedTag (العلامة المحددة من قبل المستخدم). القيمة الافتراضية: gitTag.

يحدد العلامة التي تريد استخدامها لإنشاء الإصدار. gitTag يستخدم الخيار تلقائيا العلامة المقترنة بتثبيت Git. userSpecifiedTag استخدم الخيار لتوفير علامة يدويا.


tagPattern - نمط العلامة
string. ‏‏اختياري. استخدم عندما tagSource = gitTag.

يحدد نمط علامة Git باستخدام regex، على سبيل المثال release-v1.*. سيتم إنشاء إصدار GitHub فقط للتثبيتات التي تحتوي على علامة Git مطابقة.


tag - العلامه
string. مطلوب عند action = edit || action = delete || tagSource = userSpecifiedTag.

تحديد العلامة التي تريد استخدامها عند إنشاء إصدار أو تحريره أو حذفه. يمكنك أيضا استخدام متغير، مثل $(myTagName)، في هذا الحقل.


title - عنوان الإصدار
string. ‏‏اختياري. استخدم عندما action = create || action = edit.

يحدد عنوان إصدار GitHub. إذا تركت فارغة، فسيتم استخدام العلامة كعنوان الإصدار.


releaseNotesSource - مصدر ملاحظات الإصدار
string. ‏‏اختياري. استخدم عندما action = create || action = edit. القيم المسموح بها: filePath (ملف ملاحظات الإصدار)، inline (ملاحظات الإصدار المضمنة). القيمة الافتراضية: filePath.

يحدد وصف إصدار GitHub. filePath استخدم الخيار (ملف ملاحظات الإصدار) لاستخدام محتويات الملف كملاحظات حول الإصدار. inline استخدم الخيار (ملاحظات الإصدار المضمنة) لإدخال ملاحظات الإصدار يدويا


releaseNotesFilePath - مسار ملف ملاحظات الإصدار
string. ‏‏اختياري. استخدم عندما releaseNotesSource = filePath.

يحدد الملف الذي يحتوي على ملاحظات الإصدار.


releaseNotesInline - ملاحظات الإصدار
string. ‏‏اختياري. استخدم عندما releaseNotesSource = inline.

يحدد ملاحظات الإصدار. Markdown مدعوم.


assets - الاصول
string. ‏‏اختياري. استخدم عندما action = create || action = edit. القيمة الافتراضية: $(Build.ArtifactStagingDirectory)/*.

يحدد الملفات التي تريد تحميلها كأصول للإصدار. يمكنك استخدام أحرف البدل لتحديد ملفات متعددة. على سبيل المثال، استخدم $(Build.ArtifactStagingDirectory)/*.zip أو استخدم $(System.DefaultWorkingDirectory)/*.zip للبنية الأساسية لبرنامج ربط العمليات التجارية للإصدار.

يمكنك أيضا تحديد أنماط متعددة، واحد لكل سطر. بشكل افتراضي، سيتم تحميل جميع الملفات في $(Build.ArtifactStagingDirectory) الدليل. لمزيد من المعلومات حول قائمة المتغيرات المحددة مسبقا المتوفرة، راجع متغيرات الإنشاءومتغيرات الإصدار.


assetUploadMode - وضع تحميل الأصول
string. ‏‏اختياري. استخدم عندما action = edit. القيم المسموح بها: delete (حذف الأصول الم exisiting)، replace (استبدال الأصول الموجودة). القيمة الافتراضية: delete.

يحدد وضع تحميل الأصول الذي تريد استخدامه. delete استخدم الخيار (حذف الأصول الموجودة) لحذف أي أصول موجودة في الإصدار أولا ثم تحميل جميع الأصول. replace استخدم الخيار (استبدال الأصول الموجودة) لاستبدال أي أصول لها نفس الاسم.


isDraft - إصدار المسودة
boolean. ‏‏اختياري. استخدم عندما action = create || action = edit. القيمة الافتراضية: false.

يشير إلى ما إذا كان يجب حفظ الإصدار كمسودة (غير منشورة). إذا false، سيتم نشر الإصدار.


isPreRelease - ما قبل الإصدار
boolean. ‏‏اختياري. استخدم عندما action = create || action = edit. القيمة الافتراضية: false.

يشير إلى ما إذا كان يجب وضع علامة على الإصدار على أنه إصدار مسبق.


addChangeLog - إضافة سجل التغيير
boolean. ‏‏اختياري. استخدم عندما action = create || action = edit. القيمة الافتراضية: true.

يحدد ما إذا كنت تريد تضمين سجل تغيير. إذا تم تعيينها إلى true، فسيتم إنشاء قائمة بالتغييرات (التثبيتات والمشكلات) بين الإصدار الحالي والإصدار الأخير المنشور وإلحاقها بملاحظات الإصدار.


changeLogCompareToRelease - مقارنة ب
string. مطلوب عند addChangeLog = true. القيم المسموح بها: lastFullRelease (الإصدار الكامل الأخير)، lastNonDraftRelease (آخر إصدار غير مسودة)، lastNonDraftReleaseByTag (آخر إصدار غير مسودة حسب العلامة). القيمة الافتراضية: lastFullRelease.

يشير إلى الإصدار الذي يجب مقارنته مع لإنشاء سجل التغيير:

  • lastFullRelease (الإصدار الكامل الأخير): يقارن الإصدار الحالي بأحدث إصدار غير مسودة لم يتم وضع علامة عليه على أنه إصدار مسبق.
  • lastNonDraftRelease (الإصدار الأخير غير المسودة): يقارن الإصدار الحالي بأحدث إصدار غير مسودة.
  • lastNonDraftReleaseByTag (الإصدار الأخير غير المسودة حسب العلامة): يقارن الإصدار الحالي بآخر إصدار غير مسودة يطابق العلامة المحددة. يمكنك أيضا تحديد regex بدلا من علامة دقيقة.

changeLogCompareToReleaseTag - علامة الإصدار
string. مطلوب عند changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true.

يحدد regex لعلامة الإصدار. سيتم استخدام الإصدار المطابق لهذه العلامة كأساس لحساب سجل التغيير.


changeLogType - نوع سجل التغيير
string. مطلوب عند addChangeLog = true. القيم المسموح بها: commitBased (مستندة إلى التثبيت)، issueBased (مستندة إلى المشكلة). القيمة الافتراضية: commitBased.

يحدد نوع سجل التغيير. يمكن أن يكون سجل التغيير مستندا إلى الالتزام أو يستند إلى المشكلة. يسرد سجل التغيير المستند إلى التثبيت جميع التثبيتات المضمنة في الإصدار. يسرد سجل التغيير المستند إلى المشكلة جميع المشكلات أو طلبات السحب (PRs) المضمنة في الإصدار.


changeLogLabels - فئات
string. ‏‏اختياري. استخدم عندما changeLogType = issueBased && addChangeLog = true. القيمة الافتراضية: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].

تصنيف التغييرات استنادا إلى التسمية المقترنة بالقضية أو PR. بالنسبة للتسمية، يمكنك ذكر اسم العرض للفئة وحالة المشكلة. تتضمن أمثلة التسميات ما يلي: "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". في الحالات التي يحتوي فيها التغيير على تسميات متعددة، تأخذ التسمية المحددة الأولى الأولوية. اترك هذا الحقل فارغا لرؤية قائمة مسطحة بالمشكلات أو PRs.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

استخدم هذه المهمة في البنية الأساسية لبرنامج ربط العمليات التجارية لإنشاء إصدار GitHub أو تحريره أو تجاهله.

اتصال خدمة GitHub

تتطلب هذه المهمة اتصال خدمة GitHub مع إذن الكتابة إلى مستودع GitHub. يمكنك إنشاء اتصال خدمة GitHub في مشروع Azure Pipelines. بمجرد الإنشاء، استخدم اسم اتصال الخدمة في إعدادات هذه المهمة.

أمثلة

إنشاء إصدار GitHub

ينشئ YAML التالي إصدار GitHub في كل مرة يتم فيها تشغيل المهمة. يتم استخدام رقم البناء كإصدار علامة للإصدار. يتم تحميل جميع الملفات .exe والملفات README.txt في المجلد $(Build.ArtifactStagingDirectory) كأصول. بشكل افتراضي، تنشئ المهمة أيضا سجل تغيير (قائمة بالتثبيتات والمشكلات التي تعد جزءا من هذا الإصدار) وتنشره كملاحظات حول الإصدار.

- task: GithubRelease@1 
  displayName: 'Create GitHub Release'      
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven
    tagSource: manual
    tag: $(Build.BuildNumber)      
    assets: |
      $(Build.ArtifactStagingDirectory)/*.exe
      $(Build.ArtifactStagingDirectory)/README.txt

يمكنك أيضا التحكم في إنشاء الإصدار استنادا إلى علامات المستودع. ينشئ YAML التالي إصدار GitHub فقط عندما يكون التثبيت الذي يقوم بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية لديه علامة Git مقترنة به. يتم إنشاء إصدار GitHub بنفس إصدار العلامة مثل علامة Git المقترنة.

- task: GithubRelease@1 
  displayName: 'Create GitHub Release'      
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven           
    assets: $(Build.ArtifactStagingDirectory)/*.exe

قد تحتاج أيضا إلى استخدام المهمة بالاقتران مع شروط المهمة للحصول على تحكم أدق في وقت تشغيل المهمة، وبالتالي تقييد إنشاء الإصدارات. على سبيل المثال، في YAML التالي، يتم تشغيل المهمة فقط عند تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية بواسطة علامة Git مطابقة للنمط 'refs/tags/release-v*'.

- task: GithubRelease@1 
  displayName: 'Create GitHub Release'   
  condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/release-v')   
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven           
    assets: $(Build.ArtifactStagingDirectory)/*.exe

تحرير إصدار GitHub

يقوم YAML التالي بتحديث حالة إصدار GitHub من "مسودة" إلى "منشور". يتم تحديد الإصدار الذي سيتم تحريره بواسطة العلامة المحددة.

- task: GithubRelease@1
  displayName: 'Edit GitHub Release'
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven
    action: edit
    tag: $(myDraftReleaseVersion)
    isDraft: false

حذف إصدار GitHub

يحذف YAML التالي إصدار GitHub. يتم تحديد الإصدار الذي سيتم حذفه بواسطة العلامة المحددة.

- task: GithubRelease@1
  displayName: 'Delete GitHub Release'
  inputs:
    gitHubConnection: zenithworks
    repositoryName: zenithworks/javaAppWithMaven
    action: delete
    tag: $(myDraftReleaseVersion)

ملاحظات الإصدار المضمنة

ينشئ YAML التالي إصدار GitHub ويضيف ملاحظات الإصدار المضمنة.

- task: GitHubRelease@1
  inputs:
    gitHubConnection: <GITHUB_SERVICE_CONNECTION>
    repositoryName: '$(Build.Repository.Name)'
    action: 'create'
    target: '$(Build.SourceVersion)'
    tagSource: 'userSpecifiedTag'
    tag: <YOUR_TAG>
    title: <YOUR_TITLE>
    releaseNotesSource: 'inline'
    releaseNotesInline: <YOUR_RELEASE_NOTES>

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.0.0 أو أحدث
فئة المهمة الأداة المساعدة