Поделиться через


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

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

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

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

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

Предпосылки

Продукт Требования
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

Примечание.

Все представления веб-каналов в общедоступном проекте являются общедоступными и могут просматриваться всеми пользователями в Интернете.

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

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

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

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

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

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

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

    Снимок экрана: добавление, изменение или удаление представлений веб-канала.

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

Внимание

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