Dela via


Förbättrat API för YAML-förhandsversion och konfigurera uppströmskälla för universella paket

I den här sprinten distribuerar vi en ny API-slutpunkt som gör att du kan hämta den färdiga YAML-brödtexten. Vi är också glada över att kunna meddela att vi lägger till möjligheten att konfigurera din överordnade källa för universella paket med den här versionen.

Mer information finns i listan Funktioner nedan.

Funktioner

Azure-tavlor

Azure-pipelines

Azure Artifacts

Azure-tavlor

Systemuppgiftstyper i kvarvarande uppgifter och tavlor

Vi har startat en privat förhandsversion av en funktion som gör att du kan lägga till en typ av systemarbetsobjekt till valfri nivå för kvarvarande uppgifter. Tidigare har dessa typer av arbetsobjekt endast varit tillgängliga från frågor.

Process Typ av arbetsobjekt
Flexibel Problem
Scrum Hinder
CMMI Ändringsbegäran
Problem
Granskning
Risk

Vi är glada att kunna meddela att funktionen nu inte är förhandsversion och allmänt tillgänglig för alla organisationer. Det är enkelt att lägga till en systemarbetsobjekttyp på en kvarvarande nivå. Gå bara in i din anpassade process och klicka på fliken Kvarvarande nivåer. Välj valfri nivå för kvarvarande uppgifter (exempel: Kvarvarande krav) och välj redigeringsalternativet. Lägg sedan till arbetsobjekttypen.

backlogs

Händelse för granskningsloggning

Vi har lagt till en ny händelse i granskningsloggarna för att hjälpa kunderna att bättre spåra processrelaterade ändringar. En händelse loggas när värdena i en listruta ändras. Ändringar i listfält är vanligtvis de vanligaste ändringarna i en process. Med den här nya händelsen kan organisationsadministratörer bättre spåra när och vem som har gjort ändringar i dessa fält.

audit-logs

Lagringsplatsgränsen för Azure Boards-appen har höjts (privat förhandsgranskning)

Om du använder Azure Boards-programmet från GitHub Marketplace finns det en gräns på 100 GitHub-lagringsplatser som du kan ansluta till.  Detta blir en blockerare för stora organisationer som kan ha över 100 lagringsplatser. I den här sprinten har vi ändrat hur Azure Boards ansluter till dina GitHub-lagringsplatser för att stödja över 100. Om du för närvarande når gränsen på 100 lagringsplatser meddelar du oss, så kan vi aktivera funktionen för att öka den gränsen och avblockera dig. Skicka ett e-postmeddelande direkt till oss med ditt organisationsnamn (dev.azure.com/{organisation}).

Ange tillstånd för uppgifter när pull-begäran slås samman (privat förhandsgranskning)

Alla arbetsflöden är inte desamma. Vissa kunder vill stänga sina relaterade arbetsobjekt när en pull-begäran har slutförts. Andra vill ställa in arbetsobjekten på ett annat tillstånd som ska verifieras innan de stängs. Vi bör tillåta båda.

Från och med sprint 174 har vi en ny funktion som gör att du kan ange arbetsobjekten till önskat tillstånd när pull-begäran slås samman och slutförs. För att göra detta genomsöker vi beskrivningen av pull-begäran och letar efter tillståndsvärdet följt av #mention för arbetsobjekten. I det här exemplet ställer vi in två användarberättelser på Löst och stänger två uppgifter.

work-item-state

Den här funktionen har varit en lång tid och vi är glada över att se vad du tycker. Till att börja med genomsöker vi bara beskrivningen av pull-begäran och inkluderar inga ändringar i användargränssnittet. Vi ville få din feedback först innan vi investerade ytterligare.

Om du är intresserad av att delta i den privata förhandsversionen kan du skicka ett e-postmeddelande direkt till oss. Glöm inte att ta med din organisation (dev.azure.com/{organisation}).

Azure-pipelines

Meddelanden om Pipelines-avbildningar

Kommentar

Azure Pipelines-avbildningar uppdateras kontinuerligt i ett försök att ge användarna bästa möjliga upplevelse. Dessa rutinmässiga uppdateringar syftar främst till att åtgärda buggar eller inaktuell programvara. De påverkar ofta inte dina pipelines, men så är inte alltid fallet. Din pipeline kan påverkas om den är beroende av en programvara som antingen har tagits bort eller uppdaterats på avbildningen.

Läs följande meddelanden om du vill veta mer om kommande uppdateringar i våra Windows-, Linux- och macOS-avbildningar:

Om du vill visa viktig information för kommande (förhandsversion) och distribuerade ändringar prenumererar du på följande viktig information:

Agentlogguppladdningar har förbättrats

När en agent slutar kommunicera med Azure Pipelines-servern avbryts jobbet som den körde. Om du råkade titta på loggarna för strömningskonsolen kan du ha fått några ledtrådar om vad agenten höll på med precis innan den slutade svara. Men om du inte var det, eller om du uppdaterade sidan, var konsolloggarna borta. Med den här versionen, om agenten slutar svara innan den skickar upp sina fullständiga loggar, behåller vi konsolloggarna som det näst bästa. Konsolloggar är begränsade till 1 000 tecken per rad och kan ibland vara ofullständiga, men de är mycket mer användbara än att inte visa någonting! Att undersöka dessa loggar kan hjälpa dig att felsöka dina egna pipelines, och det hjälper säkert våra supporttekniker när de hjälper till med felsökning.

Montera containervolymer skrivskyddade (valfritt)

När du kör ett containerjobb i Azure Pipelines mappas flera volymer som innehåller arbetsytan, uppgifter och annat material som volymer. Dessa volymer är som standard läs- och skrivåtkomst. För ökad säkerhet kan du montera volymerna med skrivskydd genom att ändra containerspecifikationen i YAML. Varje nyckel under mountReadOnly kan anges till true för skrivskyddad (standardvärdet är false).

resources:
  containers:
    - container: example
      image: ubuntu:18.04
      mountReadOnly:
        externals: true
        tasks: true
        tools: true
        work: false

Detaljerad kontroll över start/stopp av container

I allmänhet rekommenderar vi att du låter Azure Pipelines hantera livscykeln för dina jobb- och tjänstcontainrar. Men i vissa ovanliga scenarier kanske du vill starta och stoppa dem själv. Med den här versionen har vi byggt in den funktionen i Docker-uppgiften.

Här är en exempelpipeline med den nya funktionen:

resources:
  containers:
    - container: builder
      image: ubuntu:18.04
steps:
  - script: echo "I can run inside the container (it starts by default)"
    target:
      container: builder
  - task: Docker@2
    inputs:
      command: stop
      container: builder
# if any step tried to run in the container here, it would fail

Dessutom inkluderar vi listan över containrar i en pipelinevariabel, Agent.ContainerMapping. Du kan till exempel använda detta om du vill granska listan över containrar i ett skript. Den innehåller ett strängifierat JSON-objekt som mappar resursnamnet ("builder" från exemplet ovan) till det container-ID som agenten hanterar.

Packa upp uppgiftsbuntar för varje steg

När agenten kör ett jobb laddar den först ned alla uppgiftspaket som krävs enligt jobbets steg. För prestanda brukar det packa upp aktiviteterna en gång per jobb även om aktiviteten används i flera steg. Om du är orolig för att ej betrodd kod ändrar det uppackade innehållet kan du byta bort lite prestanda genom att låta agenten packa upp uppgiften för varje användning. Om du vill aktivera det här läget skickar du --alwaysextracttask när du konfigurerar agenten.

Förbättra versionssäkerheten genom att begränsa omfånget för åtkomsttoken

Genom att bygga vidare på vårt initiativ för att förbättra säkerhetsinställningarna för Azure Pipelines har vi nu stöd för att begränsa omfattningen av åtkomsttoken för versioner.

Varje jobb som körs i versioner får en åtkomsttoken. Åtkomsttoken används av uppgifterna och av dina skript för att anropa tillbaka till Azure DevOps. Vi använder till exempel åtkomsttoken för att hämta källkod, ladda ned artefakter, ladda upp loggar, testa resultat eller för att göra REST-anrop till Azure DevOps. En ny åtkomsttoken genereras för varje jobb och upphör att gälla när jobbet har slutförts.

Med den här uppdateringen bygger vi på att förbättra pipelinesäkerheten genom att begränsa omfattningen för åtkomsttoken och utöka samma till klassiska versioner.

Den här funktionen är aktiverad som standard för nya projekt och organisationer. För befintliga organisationer måste du aktivera det i Inställningar > Pipelines > Inställningar. > Begränsa omfånget för jobbauktorisering till aktuellt projekt för versionspipelines. Läs mer här.

Förbättrat API för förhandsgranskning av YAML

För några sprintar sedan introducerade vi möjligheten att förhandsgranska hela YAML för en pipeline utan att köra den. Med den här uppdateringen har vi skapat en dedikerad ny URL för förhandsgranskningsfunktionen. Nu kan du POST till för att https://dev.azure.com/{org}/{project}/_apis/pipelines/{pipelineId}/preview hämta den slutförd YAML-brödtexten. Det nya API:et använder samma parametrar som att köa en körning, men kräver inte längre behörigheten "Köversioner".

Azure Artifacts

Konfigurera överordnade källor för Universal Packages

Nu kan du konfigurera dina Azure Artifacts-feeds för att automatiskt ladda ned universella paket från överordnade källor på begäran.

Tidigare kunde du konfigurera överordnade källor i flödet för NuGet-, Python-, Maven- och npm-paket, men inte för Universella paket. Detta berodde på en skillnad i lagringstekniken som används för Universal Packages, som stöder mycket större paket än andra pakettyper som stöds.

Nu kan du konfigurera överordnade källor för universella paket på samma sätt som för andra pakettyper. öppna feedinställningarna, klicka på Överordnade källor –> Lägg till uppströmskälla –> och välj den källtyp som passar dig. Du ser Universal Packages (UPack) som ett nytt alternativ i nästa vy (se bilden nedan). Mer information finns i konfigurationsdokumentationen för överordnade källor.

upack

Observera att universella paket i överordnade källor endast stöds mellan feeds i samma DevOps-organisation.

REST-API:et Update Package Version är nu tillgängligt för Maven-paket

Nu kan du använda REST-API:et för Azure Artifacts "Update Package Version" för att uppdatera Maven-paketversioner. Tidigare kunde du använda REST-API:et för att uppdatera paketversioner för NuGet-, Maven-, npm- och Universal Packages, men inte Maven-paket.

Om du vill uppdatera Maven-paket använder du HTTP PATCH-kommandot på följande sätt.

PATCH https://pkgs.dev.azure.com/{organization}/{project?}/\_apis/packaging/feeds/{feedId}/maven/groups/{groupId}/artifacts/{artifactId}/versions/{packageVersion}?api-version=5.1-preview.1

Du kan ange följande:

URI-parametrar

Namn I Krävs Typ Beskrivning
artifactId path Sant sträng Artefakt-ID för paketet
feed path Sant sträng Namn eller ID för feeden
groupId path Sant sträng Grupp-ID för paketet
organization path Sant sträng Namnet på Azure DevOps-organisationen
version path Sant sträng Version av paketet
projekt path sträng Projekt-ID eller projektnamn
api-version query Sant sträng Version av API:et som ska användas. Detta bör anges till "5.1-preview.1" för att använda den här versionen av API:et

Begärandetext

Namn Typ Beskrivning
vyer JsonPatchOperation Vyn som paketversionen ska läggas till i

Mer information finns i REST API-dokumentationen när den uppdateras.

Nästa steg

Kommentar

Dessa funktioner kommer att distribueras under de kommande två till tre veckorna.

Gå över till Azure DevOps och ta en titt.

Så här ger du feedback

Vi vill gärna höra vad du tycker om de här funktionerna. Använd hjälpmenyn för att rapportera ett problem eller ge ett förslag.

Make a suggestion

Du kan också få råd och dina frågor som besvaras av communityn på Stack Overflow.

Tack,

Aaron Hallberg