Katkı modeli
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Uzantılar, katkıda bulunarak ve diğer uzantıların bunlara bağlanma yollarını tanımlayarak sisteme yeni özellikler ekler. Katkı türü, sisteme eklenebilen bir öğeyi tanımlar. Katkı, bir katkı türünün belirli bir örneğidir. Örneğin, hub
Microsoft tarafından sağlanan temel bir uzantı tarafından tanımlanan bir katkı türüdür. Derleme hub'ı Explorer
grubunun altındaki hub türüne hub
özgü bir katkıdır.
Daha fazla bilgi için aşağıdaki başvurulara bakın:
Katkı türleri
Katkı türü, bu türdeki sisteme yapılan tüm katkıların uyması gereken bir sözleşmeyi tanımlar. Bir katkı türü başka bir katkı türünden de genişletilebilir. Aşağıdaki katkı türleri örnekleri, bu türün örneklerine göre ayarlanan özellikleri tanımlar:
hub
action
build-task
Her özellik tanımı aşağıdaki özellikleri belirtir:
- Özellik türü, örneğin dize, boole, vb.
- Özelliğin gerekli olup olmadığı
- Bir katkı tarafından belirtilmemişse varsayılan değer (isteğe bağlı).
Örnek
Uzantı bildiriminde katkı türü bildirimi örneği aşağıda verilmişti:
{
...
"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": "An optional ordering value which can indicate in which position to place the hub within the hub group",
"type": "integer"
}
...
}
}
]
}
Katkılar
Katkı , bir katkı türünün örneğidir. Örneğin, İş hub'ı Queries
grubu altındaki hub türün hub
bir katkısıdır ve Publish Test Results
derleme görevi türüne build-task
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
Bir katkı bir veya daha fazla katkıyı hedefleyebilir ve bu da katkı ile hedeflerinin her biri arasında bir ilişki oluşturur. Sistem, çalışma zamanında hedef için katkıları bulabilir. Örneğin, bir hub
katkı (Explorer
) belirli hub-group
bir katkıyı (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şlendiğini bilmek için merkez grubunu 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ı/tür kimliği
Örneğin: ms.vss-web.hub
aşağıdaki katkının tam tanımlayıcısı:
- Yayımcı Kimliği:
ms
- Uzantı Kimliği:
vss-web
- Katkı/tür kimliği:
hub
Bir katkının aynı uzantıdaki başka bir katkıya veya katkı türüne başvurusu için uzantı bildiriminde göreli katkı başvurularını kullanabilirsiniz. Bu durumda yayımcı ve uzantı kimlikleri dahil değildir ve kimlik, katkı kimliğinin ardından gelen bir noktadır .
. Örneğin, .hub
daha önce bahsedilen uzantıda vss-web
için ms.vss-web.hub
kısayol olarak kullanılabilir.