Aracılığıyla paylaş


Katkı modeli

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Uzantılar, katkı türlerini ve katkı örneklerini bildirerek Azure DevOps'a özellikler ekler. Katkı türü, bu türdeki katkıların uygulaması gereken bir sözleşmeyi (özellikler ve davranış) tanımlar. Katkı, bir katkı türünün (örneğin, merkez veya derleme görevi) somut bir örneğidir.

Tavsiye

Yeni bir Azure DevOps uzantısı başlatıyorsanız, önce bu bakımlı örnek koleksiyonları deneyin; bunlar geçerli ürün derlemeleriyle çalışır ve modern senaryoları kapsar (örneğin, çekme isteği sayfalarına sekme ekleme).

Kuruluşunuzda bir örnek çalışmıyorsa, bunu kişisel bir kuruluşa veya test kuruluşuna yükleyin ve uzantı bildiriminin hedef kimliklerini ve API sürümlerini geçerli belgelerle karşılaştırın. Başvuru ve API'ler için bkz:

Daha fazla bilgi için bakınız:

Katkı türleri

Katkı türü, bu türdeki katkıların izlemesi gereken özellikleri ve kuralları tanımlar. Bir katkı türü, özelliklerini devralarak başka bir katkı türünü genişletebilir.

Yaygın katkı türleri şunlardır:

  • hub
  • action
  • build-task

Her bir özellik tanımı şunları içerir:

  • özellik türü (örneğin, dize veya boole)
  • özelliğin gerekli olup olmadığı
  • isteğe bağlı varsayılan değer

Örnek

Bildirimdeki katkı türü bildirimi şöyle görünür:

{
  "contributionTypes": [
    {
      "id": "hub",
      "name": "Web Access Hub",
      "description": "A hub that appears in the hubs menu at the top of web pages.",
      "properties": {
        "name": {
          "description": "The text to display for the hub",
          "type": "string",
          "required": true
        },
        "uri": {
          "description": "URI of the contents of the hub page",
          "type": "string",
          "required": true
        },
        "order": {
          "description": "Optional ordering value indicating the hub's position within the hub group",
          "type": "integer"
        }
      }
    }
  ]
}

Katkılar

katkı bir katkı türünün örneğidir. Örneğin, İş hub'ı grubu altındaki Queries hub'ı hub türüne ve Publish Test Results derleme görevi build-tasktürüne bir katkıdır.

Tüm katkıların bir tür belirtmesi ve bu katkı türünün gerektirdiği özellikler için değerler belirtmesi gerekir.

Örnek

Uzantı bildiriminde hub katkı bildirimi örneği aşağıda verilmişti:

{
    "contributions": [
        {
            "id": "build-explorer-hub",
            "type": "ms.vss-web.hub",
            "targets": [
                ".build-hub-group"
            ],
            "properties": {
                "name": "Explorer",
                "uri": "/_build",
                "order": 22
            }
        }
    ]
}

Hedef katkılar

Katkı, bir veya daha fazla başka katkıyı hedefleyebilir, bu da katkı ile her bir hedefi arasında bir ilişki oluşturur. Sistem, çalışma zamanında hedef için katkıları bulabilir. Örneğin, hub katkı (Explorer) belirli bir hub-group katkısını (Build) hedef alabilir.

{
    "id": "build-explorer-hub",
    "type": "ms.vss-web.hub",
    "targets": [
        ".build-hub-group"
    ]
}

Merkez grubu işlendiğinde sistem, hangi hub'ların işleneceğini belirlemek için bu grubu hedefleyen tüm hub katkılarını sorgulayabilir.

Katkıları ve türleri tanımlama

Her katkı ve katkı türünün, beyan edilen uzantı içinde benzersiz bir kimliği olmalıdır.

tam katkı tanımlayıcısı, nokta . ile ayırdığınız aşağıdaki öğeleri içerir:

  • Yayımcı Kimliği
  • Uzantı Kimliği
  • Katkı tipi/kimlik

Örneğin: ms.vss-web.hub, aşağıdaki katkının tam tanımlayıcısıdır:

  • Yayımcı Kimliği: ms
  • Uzantı Kimliği: vss-web
  • Katkı/tür ID'si: hub

Aynı uzantıdaki bir katkının başka bir katkıya veya katkı türüne referansı için göreli katkı referanslarını bir uzantı bildiriminde kullanabilirsiniz. Bu durumda yayımcı ve uzantı kimlikleri dahil değildir ve kimlik, . noktası ve ardından katkı kimliğinden oluşur. Örneğin, .hub daha önce bahsedilen vss-web uzantısında ms.vss-web.hub için bir kısayol olarak kullanılabilir.