В Azure DevOps можно ли написать WIQL, который возвращал бы коммиты, связанные с несколькими рабочими элементами?

#azure-devops #azure-devops-rest-api

#azure-devops #azure-devops-rest-api

Вопрос:

В Azure DevOps можно ли написать WIQL, который возвращал бы коммиты, связанные с несколькими рабочими элементами?

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

Комментарии:

1. WIQL возвращает рабочий элемент, а не коммиты. чего вы пытаетесь достичь? возможно, в Rest API это возможно.

Ответ №1:

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

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

Вы можете указать порядок сортировки. Используйте предложение ASOF, чтобы указать, что запрос оценивается по состоянию на предыдущий раз.

Однако, как упоминал Шейки Абрамчик в комментарии, возвращаемые результаты все равно должны быть рабочими элементами. Он не вернет никаких коммитов.

Если вы хотите получать коммиты со связанными рабочими элементами, вы можете использовать Rest API для обработки этого.

 GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?searchCriteria.historyMode={searchCriteria.historyMode}amp;searchCriteria.includePushData={searchCriteria.includePushData}amp;searchCriteria.includeUserImageUrl={searchCriteria.includeUserImageUrl}amp;searchCriteria.includeWorkItems={searchCriteria.includeWorkItems}amp;searchCriteria.includeLinks={searchCriteria.includeLinks}amp;searchCriteria.$top={searchCriteria.$top}amp;searchCriteria.$skip={searchCriteria.$skip}amp;searchCriteria.excludeDeletes={searchCriteria.excludeDeletes}amp;searchCriteria.itemPath={searchCriteria.itemPath}amp;searchCriteria.author={searchCriteria.author}amp;searchCriteria.user={searchCriteria.user}amp;searchCriteria.toCommitId={searchCriteria.toCommitId}amp;searchCriteria.fromCommitId={searchCriteria.fromCommitId}amp;searchCriteria.compareVersion.versionOptions={searchCriteria.compareVersion.versionOptions}amp;searchCriteria.compareVersion.version={searchCriteria.compareVersion.version}amp;searchCriteria.compareVersion.versionType={searchCriteria.compareVersion.versionType}amp;searchCriteria.itemVersion.versionOptions={searchCriteria.itemVersion.versionOptions}amp;searchCriteria.itemVersion.version={searchCriteria.itemVersion.version}amp;searchCriteria.itemVersion.versionType={searchCriteria.itemVersion.versionType}amp;searchCriteria.toDate={searchCriteria.toDate}amp;searchCriteria.fromDate={searchCriteria.fromDate}amp;searchCriteria.ids={searchCriteria.ids}amp;api-version=5.0 
  

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

Комментарии:

1. REST API не работает должным образом, например, он не возвращает все коммиты, если это было слияние между ветвями. Он просто возвращает единственную фиксацию слияния, но не фактические коммиты, которые были объединены.