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


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

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

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

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

Примечание.

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

Повышение уровня пакета до определенного представления

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

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

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

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

    Снимок экрана: список доступных представлений.

Внимание

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

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

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

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

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

  • Канал с областью действия организации:

    https://pkgs.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1
    
  • Специальный канал проекта:

    https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.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 — обновление версии пакета .

  • Веб-канал, ограниченный коллекцией:

    https://{instance}/{collection}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=6.0-preview.1
    
  • Специальный канал проекта:

    https://{instance}/{collection}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=6.0-preview.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 Artifacts предлагает три представления: @Local, @Prerelease и @Release. Вы также можете создавать новые виды и управлять существующими, переименовав или удалив их непосредственно из параметров вашей ленты.

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

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

  3. Щелкните значок шестеренки справа , чтобы получить доступ к параметрам веб-канала.

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

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

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

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

Внимание

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