Продвижение пакетов и управление просмотром лент

Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Представления фида позволяют разработчикам управлять видимостью пакетов, путём предоставления общего доступа к некоторым пакетам, сохраняя конфиденциальность других. Каждое представление фильтрует ленту, чтобы отображать подмножество пакетов на основе определённых для него критериев.

По умолчанию артефакты Azure включают три представления: @Local, @Prerelease и @Release. Представление @Local используется по умолчанию и содержит все опубликованные пакеты, а также пакеты, сохраненные из вышестоящих источников. Все представления поддерживают NuGet, npm, Maven, Python, Cargo и универсальные пакеты.

Вы можете изменить представление по умолчанию впараметрах канала>Представления. Однако изменение представления по умолчанию не позволяет прямой публикации в этом представлении. Пакеты можно публиковать только в базовом канале, где они доступны во представлении @Local.

Внимание

Общедоступные веб-каналы зависят от общедоступных проектов. Начиная с 2027 года существующие общедоступные проекты автоматически преобразуются в частные. Когда это произойдет, общедоступные каналы больше не будут доступны публично, поскольку они наследуют настройки видимости проекта, в котором они размещены. Для получения подробной информации см. раздел О прекращении поддержки общедоступных проектов.

Предпосылки

Продукт Требования
Azure DevOps — организация Azure DevOps и проект.
— канал Azure Artifacts .

Продвижение пакета в представление

Примечание.

Вы должны быть издателем веб-канала (участником) или владельцем канала, чтобы продвигать пакеты в представлении.

Следуйте этим шагам, чтобы продвинуть пакет в определенное представление в вашей ленте:

  1. Войдите в организацию Azure DevOps, а затем перейдите к проекту.

  2. Выберите Артефакты, а затем выберите ваш веб-канал в раскрывающемся меню.

  3. Выберите пакет, который вы хотите повысить, а затем выберите "Продвинуть".

  4. Выберите представление из раскрывающегося меню, а затем еще раз выберите "Повысить ".

    Снимок экрана, показывающий, как перевести пакет в представление в Azure Artifacts.

Внимание

Артефакты Azure не поддерживают понижение статуса пакета. После повышения уровня пакета его нельзя вернуть к предыдущему представлению.

Повышение уровня пакета с помощью REST API

Чтобы продвинуть пакет с помощью REST API, отправьте запрос PATCH с телом, отформатированным как документ JSON Patch. Это добавляет целевое представление (например, Prerelease) в массив представлений пакета.

  1. Войдите в Azure DevOps, а затем перейдите к проекту.

  2. Создайте личный токен доступа с областью упаковки>чтения, записи и управления.

  3. Скопируйте URL-адрес конечной точки, замените его в одном из приведенных ниже примеров (PowerShell или curl) и выполните команду, чтобы переместить пакет в нужное представление.

  • Лента, охватывающая всю организацию:

    https://pkgs.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.2-preview.1
    
  • Лента, ограниченная рамками проекта:

    https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.2-preview.1
    

Дополнительные сведения см. в разделе JsonPatchOperation и NuGet — обновление версии пакета .

  • канал для коллекции:

    https://{instance}/{collection}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1
    
  • Лента, ограниченная рамками проекта:

    https://{instance}/{collection}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1
    

Дополнительные сведения см. в разделе JsonPatchOperation и NuGet — обновление версии пакета .

Примеры

Замените заполнители личным маркером доступа, URL-адресом конечной точки и именем представления, а затем выполните команду, чтобы повысить уровень пакета до нужного представления:

$env:PAT = "YOUR_PERSONAL_ACCESS_TOKEN"
$uri = "YOUR_URL"
$headers = @{
    "Content-Type" = "application/json"
    Authorization = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$env:PAT"))
}
$body = @{
    views = @{
        op    = "add"
        path  = "/views/-"
        value = "YOUR_VIEW_NAME"
    }
} | ConvertTo-Json

Invoke-RestMethod -Uri $uri -Method Patch -Headers $headers -Body $body

Примечание.

Все представления лент в общедоступном проекте доступны всем. Любой пользователь в Интернете может просматривать их, пока проект размещения остается общедоступным. Начиная с 2027 года существующие общедоступные проекты автоматически преобразуются в частные, а общедоступные веб-каналы больше не будут общедоступными.

Управление представлениями

По умолчанию артефакты Azure включают три представления: @Local, @Prerelease и @Release. Вы также можете создавать дополнительные представления и управлять существующими, переименовав или удалив их из параметров веб-канала.

  1. Войдите в организацию Azure DevOps, а затем перейдите к проекту.

  2. Выберите Артефакты, а затем выберите ваш веб-канал в раскрывающемся меню.

  3. Выберите значок шестеренки, чтобы открыть настройки вашей ленты.

    Снимок экрана, показывающий, как получить доступ к параметрам канала в Azure Artifacts.

  4. Выберите представления, выберите представление и нажмите кнопку "Изменить ", чтобы изменить ее. Чтобы создать новое представление, нажмите кнопку "Добавить представление".

    Снимок экрана, показывающий, как добавлять, редактировать или удалять представления канала.

  5. Выберите Сохранить, когда вы закончите.

Внимание

Для общедоступных веб-каналов, если изменить разрешения доступа для представления на конкретных пользователей, это представление больше не доступно в качестве вышестоящего источника.