Как в Azure DevOps создать запрос на включение из командной строки, включающий все рабочие элементы из исходной ветки?

В нашем проекте мы переходим от одного этапа приложения (beta/preprod/release) к другому, создавая запрос на включение между исходной веткой в ​​целевую (например, «release/xxx» в «prod») с помощью Azure веб-интерфейс разработки.

После выбора исходной и целевой веток веб-интерфейс Devops предоставляет нам список всех рабочих элементов, связанных с исходной, а не целевой веткой. Мы используем этот список для подготовки примечаний к выпуску и отслеживания развертывания рабочих элементов в различных ветках кода.

Я хотел бы автоматизировать создание этого запроса на извлечение из командной строки, используя az report pr create, чтобы ограничить количество ошибок и сэкономить время.

Мне удалось создать запрос на включение почти так, как я хотел, но один элемент все еще ускользает от меня: вместо того, чтобы все рабочие элементы из исходной ветки (а не из целевой ветки) были связаны с моим PR, список связанных рабочих элементов пусто.

Есть ли способ сделать это с помощью командной строки?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Рабочие элементы связаны с фиксациями.

В следующем примере показано, как получить все идентификаторы рабочих элементов DISTINCT, связанные с фиксациями определенной ветки:

ORGANIZATION = "https://dev.azure.com/MY-ORGANIZATION"
PROJECT = "MY-PROJECT"
REPO = "MY-REPOSITORY"
BRANCH = "MY-BRANCH"

# az devops login

work_item_ids=$(\
  az devops invoke --area git --resource commits \
  --route-parameters project=$PROJECT repositoryId=$REPO \
  --query-parameters \
      searchCriteria.itemVersion.version=$BRANCH \
      searchCriteria.includeWorkItems=true \
  --api-version 7.1 --org $ORGANIZATION \
  | jq -r '.value[] | .workItems[]?.id' | sort | uniq \
)

printf "Work items linked to branch $BRANCH:\n%s\n" "$work_item_ids"

# Convert to a comma-separated list of work item ids
work_item_ids=$(echo "$work_item_ids" | paste -sd, -)

printf "Work items linked to branch $BRANCH: \n%s\n" "$work_item_ids"

Пример вывода:

Work items linked to branch main: 
170
174
Work items linked to branch main: 
170,174

Обратите внимание, что команда az devops вызова — это оболочка (своего рода) для REST API Azure DevOps. В этом случае мы вызываем конечную точку Get Commits:

ПОЛУЧИТЕ https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=7.1

Другие вопросы по теме

Запросы на включение с использованием подключаемого модуля Azure DevOps в JetBrains Rider
Центр развертывания службы приложений Azure — что делает «Отключение» и как «повторно подключиться»?
Как изменить заголовок запроса на включение, который уже добавлен в репозитории Azure?
Сборка Azure PR не будет поставлена ​​в очередь в конвейере
Ссылка на шаблоны с использованием переменной из другого репозитория в том же проекте Azure DevOps
Как сделать так, чтобы этап в Azure Pipelines запускался только тогда, когда запрос на включение объединен, а не создан?
Невозможно скопировать и применить политику ветвления из одного репозитория в другой в Azure Devops
Отсоединить коммиты/файлы во время создания запроса на извлечение из одной ветки в другую
Ограничить внешний доступ к определенным ветвям из репозитория Azure Devops
Создайте запрос на слияние на основе коммита