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

Bu güncelleştirmeyle, depo ve kapsayıcı kaynak tanımlarına şablon ifadeleri desteği dahil ettik. 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. Buna ek olarak, 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 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ürlerini tanıtım amaçlı düzenlemek için gif.

Not

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

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

İş Öğesi Sorgu Dili (WIQL) deyimini sorgu dizesi aracılığıyla geçirerek kaydedilmemiş sorgular çalıştırmaya çalışan uzantı yazarlarının birkaç örneğini gördük. Sorgu dizesi uzunluğu için tarayıcı sınırlarına ulaşan büyük bir WIQL deyiminiz olmadığı sürece bu işlem düzgün çalışır. Bunu çözmek için araç yazarlarının geçici bir sorgu oluşturmasına izin veren yeni bir REST uç noktası oluşturduk. Sorgu dizesi aracılığıyla geçirmek için yanıttan kimliğin kullanılması bu sorunu ortadan kaldırır.

Geçici sorgular REST API belgeleri sayfasından 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ım yapmak için Gif.

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 alması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 bir kaynak deposundan 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 olmayan 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 deponun kullanıma alınacağını dalını library belirtebilirsiniz.

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

Şablonlar , kod çoğaltmayı azaltmanın ve işlem hatlarınızın güvenliğini geliştirmenin 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 bağlamayı 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 zorunda kaldığınız anlamına geliyordu: Farklı bir daldan şablon genişletme İşlem hattınızla aynı dal adından bir şablonu genişletme( işlem hattınızı çalıştırdığınız daldan bağımsız olarak)

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. Yani işlem hattınızı bir dalda devçalıştırırsanız, deponun dalında dev templates dosya tarafından template.yml belirtilen şablonu genişletir.

Ya da aşağıdaki YAML kodunu yazarak derleme kuyruğu zamanında hangi şablon depo 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 çalışmada bir şablonu daldan dev genişletmesini ve başka bir çalıştırmada işlem hattınızın kodunu değiştirmeden bir şablonu daldan main genişletmesini sağlayabilirsiniz.

Depo kaynağının ref özelliği için bir şablon ifadesi belirtirken önceden tanımlanmış değişkenleri kullanabilir parameters ve sistem oluşturabilirsiniz, ancak YAML veya pipelines UI 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 girdi içerir.

[
    {
        "Id": "2517368925862632546;00000264-0000-8888-8000-000000000000;839ad1ba-f72b-4258-bc3f-88be7a4553b5",
        "CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
        "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ı arabiriminde 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 sahip olup olmadığı temelinde 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 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 bulunma

Stack Overflow'da topluluk tarafından öneriler ve sorularınıza yanıt alabilirsiniz.

Teşekkürler,

Vijay Machiraju