Пакетный API GetItems включает в себя versionType
типа GitVersionType
:
Тип версии (ветвь, тег или коммит) , Определяет, как Id интерпретируется
blockquote>Так что, если вы добавите к URL-адресу REST API атрибуты:
?versionType=Branch&version=myBranch
Этого должно быть достаточно, чтобы получить элементы из определенной ветви [1115 ]
Как упоминается в OP, он дает промежуточный URL, который указывает на:
http://tfsserver:8080/tfs/{organization}/{project}/_apis/git/repositories/{repositoryId}/items/{path}?versionType=Branch&version=myBranch
Это означает:
- он использует, как и ожидалось
[ 1111] Но он использует?versionType=Branch&version=myBranch
_apis/git/repositories/{repositoryId}/items
Items Get API , а не_apis/git/repositories/{repositoryId}/itemsbatch
Следующее должно сделать то, что Вы после:
/root/user[login='user1' and
name='User 1' and
profile='admin' and
profile='operator']
Наличие двух тестов для эти profile
значение могло бы казаться нечетным, но поскольку существуют приблизительно profile
узлы затем, условие будет удовлетворено, что целый по крайней мере один узел соответствует тесту.
причина можно выдержать сравнение profile
непосредственно с string
, даже при том, что это на самом деле node
, то, что string-value
из узла элемента string-value
из всех его потомков, связанных вместе, который в этом случае является просто содержанием value
.
, Если бы profile
содержал больше элементов, чем [1 111], необходимо было бы использовать немного более сложный тест предиката для определения существования соответствия profile
узел, базирующийся только на value
(это должно работать с обновленным вопросом):
/root/user[login='user1' and
name='User 1' and
profile[value='admin'] and
profile[value='operator']]
Вот более точный ответ (в настоящее время, ответ Greg Beech не проверяет на условие 3. в проблеме: user
элемент должен иметь точно 2 profile
дети):
/*/user
[login='user1'
and
name='User 1'
and
not(profile[3])
and
profile/value='admin'
and
profile/value='operator'
]
Принятие users
является корнем:
/users/user[login='user1' and name='User 1'
and (profile='admin' and profile='operator')]