Share via


Depo ve kapsayıcı kaynak tanımlarında şablon ifadeleri desteği

Bu güncelleştirmeyle, depo ve kapsayıcı kaynak tanımlarında şablon ifadeleri için destek ekledik. Artık bir depo kaynağının dalını ref seçmek için YAML işlem hattındaki bir repository kaynağın özelliğini tanımlarken şablon ifadelerini kullanabilirsiniz. Ayrıca, YAML işlem hattındaki bir container kaynağın endpoint, volumes, portsve options özelliklerini tanımlarken şablon ifadeleri için destek ekledik.

Ayrıntılar için sürüm notlarına göz atın.

Azure Boards

Azure Pipelines

Azure Boards

Daha önce, bir iş öğesi bağlantısını değiştirmek için en az üç adımın tamamlanması gerekir. Örneğin, ilişkili bir bağlantının üst bağlantısını değiştirmek için iş öğesi kimliğini kopyalamanız, üst bağlantıyı kaldırmanız, ilgili türde yeni bir var olan bağlantıyı eklemeniz ve son olarak kopyalanan kimliği yapıştırıp kaydetmeniz gerekir. Bu hantal bir süreçtir.

Bağlantı türünü doğrudan düzenlemenize ve değiştirmenize izin vererek sorunu çözdük. Bağlantı türünü tek bir adımda hızla değiştirebilirsiniz.

İş öğesi bağlantı türlerinin tanıtım düzenlemesi için gif.

Not

Bu özellik yalnızca New Boards Hubs önizlemesinde kullanılabilir.

Geçici sorgu REST uç noktası oluşturma

Çeşitli uzantı yazarlarının, querystring aracılığıyla İş Öğesi Sorgu Dili (WIQL) deyimini geçirerek kaydedilmemiş sorgular çalıştırmaya çalıştığını gördük. Querystring uzunluğundaki tarayıcı sınırlarına ulaşan büyük bir WIQL deyiminiz yoksa bu işlem düzgün çalışır. Bunu çözmek için araç yazarlarının geçici bir sorgu oluşturmasına olanak sağlayan yeni bir REST uç noktası oluşturduk. Querystring aracılığıyla geçirmek için yanıt kimliğinin kullanılması bu sorunu ortadan kaldırır.

Geçici sorgular REST API belgeleri sayfasında daha fazla bilgi edinin.

Toplu silme API'si (özel önizleme)

Şu anda, iş öğelerini geri dönüşüm kutusundan kaldırmanın tek yolu bu REST API'yi kullanarak teker teker silmektir. Bu yavaş bir işlem olabilir ve herhangi bir kitle temizleme işlemi yapmaya çalışırken hız sınırlamasına tabidir. Yanıt olarak, iş öğelerini toplu olarak silmek ve/veya yok etmek için yeni bir REST API uç noktası ekledik.

Bu yeni uç noktanın özel önizlemesine katılmak istiyorsanız lütfen doğrudan bize e-posta gönderin.

@CurrentIteration Teslim Planlarındaki makro

Bu güncelleştirmeyle, Teslim Planları'ndaki @CurrentIteration stiller için makro desteği ekledik. Bu makro, planınızdaki her satırın ekip bağlamından geçerli yinelemeyi almanıza olanak verir.

Teslim Planlarında CurrentIteration makrosunda tanıtıma gif ekleyin.

Azure Pipelines

Depo Kaynak Tanımında Şablon İfadeleri

YAML işlem hattındaki bir repository kaynağın ref özelliğini tanımlarken şablon ifadeleri için destek ekledik. Bu, Geliştirici Topluluğu tarafından çok istenen bir özellikti.

İşlem hattınızın aynı depo kaynağının farklı dallarını kullanıma almalarını istediğiniz kullanım örnekleri vardır.

Örneğin, kendi deposunu oluşturan bir işlem hattınız olduğunu ve bunun için kaynak deposundan bir kitaplığı kullanıma alması gerektiğini varsayalım. Ayrıca işlem hattınızın kendi kullandığı kitaplık dalını kullanıma almalarını istediğinizi varsayalım. Örneğin, işlem hattınız dalda main çalışıyorsa kitaplık deposunun main dalını kullanıma almalıdır. İşlem hatları dalda dev çalışıyorsa kitaplık dalını dev kullanıma almalıdır.

Bugüne kadar kullanıma alınacak dalı açıkça belirtmeniz ve dal her değiştiğinde işlem hattı kodunu değiştirmeniz gerekiyordu.

Artık bir depo kaynağının dalını seçmek için şablon ifadelerini kullanabilirsiniz. İşlem hattınızın ana dalları dışındaki dallar için kullanılacak aşağıdaki YAML kodu örneğine bakın:

resources:
  repositories:
    - repository: library
      type: git
      name: FabrikamLibrary
      ref: ${{ variables['Build.SourceBranch'] }}

steps:
- checkout: library
- script: echo ./build.sh
- script: echo ./test.sh

İşlem hattını çalıştırdığınızda depoyu kullanıma almak için library dalı belirtebilirsiniz.

Derleme kuyruğu zamanında genişletilmesi gereken şablonun sürümünü belirtme

Şablonlar , kod çoğaltmayı azaltmanın veişlem hatlarınızın güvenliğini artırmanın harika bir yolunu temsil eder.

Popüler kullanım örneklerinden biri, şablonları kendi depolarında depolamaktır. Bu, bir şablon ile onu genişleten işlem hatları arasındaki eşleştirmeyi azaltır ve şablonu ve işlem hatlarını bağımsız olarak geliştirmeyi kolaylaştırır.

Bir adım listesinin yürütülmesini izlemek için bir şablonun kullanıldığı aşağıdaki örneği göz önünde bulundurun. Şablon kodu depoda Templates bulunur.

# template.yml in repository Templates
parameters:
- name: steps
  type: stepList
  default: []

jobs:
- job:
  steps:
  - script: ./startMonitoring.sh
  - ${{ parameters.steps }}
  - script: ./stopMonitoring.sh

Depoda FabrikamFiberbulunan bu şablonu genişleten bir YAML işlem hattınız olduğunu varsayalım. Bugüne kadar, depoyu şablon kaynağı olarak kullanırken depo kaynağının templates özelliğini dinamik olarak belirtmek ref mümkün değildi. Bu, işlem hattınızın kodunu değiştirmek istediğiniz anlamına geliyordu: farklı bir daldaki şablonu genişletme İşlem hattınızla aynı dal adından bir şablonu genişletme İşlem hattınızı hangi dala çalıştırdığınızdan bağımsız olarak genişletme

Depo kaynak tanımında şablon ifadelerinin kullanıma sunulmasıyla, işlem hattınızı aşağıdaki gibi yazabilirsiniz:

resources:
  repositories:
    - repository: templates
      type: git
      name: Templates
      ref: ${{ variables['Build.SourceBranch'] }}

extends:
  template: template.yml@templates
  parameters:
    steps:
      - script: echo ./build.sh
      - script: echo ./test.sh

Bunu yaptığınızda, işlem hattınız şablonu işlem hattının çalıştığı dalla aynı dalda genişletir, böylece işlem hattınızın ve şablonunuzun dallarının her zaman eşleştiğinden emin olabilirsiniz. Başka bir ifadeyle, işlem hattınızı bir dalda devçalıştırırsanız, deponun dalındaki devtemplates dosya tarafından template.yml belirtilen şablonu genişletir.

Ya da aşağıdaki YAML kodunu yazarak derleme sırasında hangi şablon deposu dalını kullanacağınızı seçebilirsiniz.

parameters:
  - name: branch
    default: main

resources:
  repositories:
    - repository: templates
      type: git
      name: Templates
      ref: ${{ parameters.branch }}

extends:
  template: template.yml@templates
  parameters:
    steps:
      - script: echo ./build.sh
      - script: echo ./test.sh

Artık, daldaki main işlem hattınızın bir şablonu bir çalıştırmada daldan dev genişletmesini ve işlem hattınızın kodunu değiştirmeden başka bir çalıştırmada daldan main bir şablonu genişletmesini sağlayabilirsiniz.

Bir depo kaynağının ref özelliği için bir şablon ifadesi belirtirken, önceden tanımlanmış değişkenleri ve parameters sistem kullanabilirsiniz, ancak YAML veya pipelines kullanıcı arabirimi tanımlı değişkenleri kullanamazsınız.

Kapsayıcı Kaynak Tanımında Şablon İfadeleri

YAML işlem hattındaki bir container kaynağın endpoint, volumes, portsve options özelliklerini tanımlarken şablon ifadeleri için destek ekledik. Bu, Geliştirici Topluluğu tarafından çok istenen bir özellikti.

Artık YAML işlem hatlarını aşağıdaki gibi yazabilirsiniz.

parameters:
  - name: endpointName    
    default: AzDOACR
    type: string

resources:
  containers:
    - container: linux
      endpoint: ${{ parameters.endpointName }}
      image: fabrikamfiber.azurecr.io/ubuntu:latest

jobs:
- job:
  container: linux
  steps:
  - task: CmdLine@2
    inputs:
      script: 'echo Hello world'

şablon ifadelerinizde ve variables. kullanabilirsinizparameters.. Değişkenler için yalnızca YAML dosyasında tanımlananları kullanabilirsiniz, ancak İşlem Hatları kullanıcı arabiriminde tanımlananları kullanamazsınız. Örneğin aracı günlük komutlarını kullanarak değişkeni yeniden tanımlarsanız herhangi bir etkisi olmaz.

Onaylarda Yapılan Değişiklikler için Olayları Denetleme

Onaylar , bir aşamanın ne zaman çalıştırılması gerektiğini denetlemenize olanak tanır. Bu genellikle üretim ortamlarına yapılan dağıtımları denetlemek için kullanılır. Denetim, uyumluluk gereksinimlerini karşılamanıza ve Azure DevOps kuruluşunuzun güvenliğini izlemenize olanak tanır.

Bir kullanıcıdan belirli bir aşamaya dağıtmak üzere işlem hattını onaylaması istendiğinde, bu kullanıcı onayı başka birine yeniden atamayı seçebilir.

Onaylarda Yapılan Değişiklikler için Olayları Denetleme

Şimdiye kadar bu tür eylemler Denetim günlüklerine kaydedilmedi. Bu sorun artık düzeltildi.

Denetim günlükleri aşağıdakine benzer bir giriş içerir.

[
    {
        "Id": "2517368925862632546;00000264-0000-8888-8000-000000000000;839ad1ba-f72b-4258-bc3f-88be7a4553b5",
        "CorrelationId": "8392d1ba-f76b-4258-bc3f-88be7a4553b5",
        "ActivityId": "a298a06c-965f-4e60-9643-2593f2066e37",
        "ActorCUID": "fe950802-bf07-755b-826d-e8dcc066252c",
        "ActorUserId": "fe950802-bf07-755b-826d-e8dcc066252c",
        "ActorUPN": "silviu@fabrikam.app",
        "AuthenticationMechanism": "AAD_Cookie",
        "Timestamp": "2022-10-10T11:26:53.7367453Z",
        "ScopeType": "Organization",
        "ScopeDisplayName": "Fabrikam (Organization)",
        "ScopeId": "547a7316-cdf4-40d2-af16-3215f97d053e",
        "ProjectId": "4bf16944-3595-421f-9947-79d9eb190284",
        "ProjectName": "FabrikamFiber",
        "IpAddress": "127.0.0.1",
        "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.37",
        "ActionId": "ApproverReassigned",
        "Data": {
            "ApprovalId": "dae6e7c9-2a10-4cd8-b63a-579a6e7ba78d",
            "OldApproverUserId": "692b6e2a-dd61-4872-866a-85498da390fc",
            "OldApproverDisplayName": "[FabrikamFiber]\\Build Administrators",
            "NewApproverUserId": "fe95080b-bf07-655b-226d-e8dcc066252c",
            "NewApproverDisplayName": "Jack Fabrikam",
            "Comment": "All admins are OOO"
        },
        "Details": "Reassigned approver of Approval dae6e7c9-9a10-4cd8-b63a-579a6e7ba78d in Project \"FabrikamFiber\" from \"[FabrikamFiber]\\Build Administrators\" to \"Jack Fabrikam\" with comment \"All admins are OOO\".",
        "Area": "Checks",
        "Category": "Modify",
        "CategoryDisplayName": "Modify",
        "ActorDisplayName": "Silviu"
    }
]

Buna ek olarak, Denetim kullanıcı arabiriminde gösterilir.

Denetim Kullanıcı Arabirimi'nde günlük girişi

Görev kitaplığı Aracı barındırma modelini kullanıma sunar

Bir aracının Microsoft tarafından barındırılan havuzlarda çalışıp çalışmadığını belirlemek isteyen Görev Yazarları artık barındırma modelini belirlemek için Görev Kitaplığı işlevini getAgentMode() kullanabilir. Bu, bir görevin müşterinin ağına erişime dayalı olarak davranışı etkilemek istediği senaryolarda faydalıdır. Bir görev, bir müşterinin ağında bulunan şirket içinde barındırılan bir aracıdan veya ölçek kümesi aracılarından yürütülürse özel uç nokta üzerinden bir Azure hizmetine ulaşmayı deneyebilir. Bkz. görev başvurusu.

Sonraki adımlar

Not

Bu özellikler önümüzdeki iki-üç hafta içinde kullanıma sunulacaktır.

Azure DevOps'a gidin ve bir göz atın.

Geri bildirim sağlama

Bu özellikler hakkında düşüncelerinizi duymak isteriz. Bir sorunu bildirmek veya öneri sağlamak için yardım menüsünü kullanın.

Öneride bulun

Stack Overflow'da topluluk tarafından yanıtlanmış öneriler ve sorularınıza da ulaşabilirsiniz.

Teşekkürler,

Vijay Machiraju