2017-06-22 1 views
0

Y a-t-il un bogue dans l'API REST pour la mise à jour 3 de TFS 2015 où il ne filtre pas réellement lors des requêtes sur les versions?TFS 2015 Rest Api - les paramètres de requête sont ignorés et ne filtrent pas les builds?

E.g. Je lance la requête ci-dessous et recevez 1000 résultats http://myservername:8080/tfs/DefaultCollection/myproject/_apis/build/builds

je lance ce qui suit et obtenir les mêmes résultats http://myservername:8080/tfs/DefaultCollection/myproject/_apis/build/builds?definitionId=thisdefinitiondoesnotexist

Et même en utilisant le dessus retourne encore 1000 résultats http://myservername:8080/tfs/DefaultCollection/myproject/_apis/build/builds?top=5

etc etc

Il semble qu'aucun des filtres ne soit appliqué - pourquoi?

Répondre

1

Vous devez exécuter la requête en respectant la syntaxe pour l'API REST. Sinon, il ignorera automatiquement les paramètres non valides qui se trouvent derrière le paramètre valide et exécutera simplement la partie valide.

Obtenir une liste des builds:

GET https://{instance}/DefaultCollection/{project}/_apis/build/builds?api-version={version}[&definitions={string}][&queues={string}][&buildNumber={string}][&type={string}][&minFinishTime={DateTime}][&maxFinishTime={DateTime}][&requestedFor={string}][&reasonFilter={string}][&statusFilter={string}][&tagFilters={string}][&propertyFilters={string}][&$top={int}][&continuationToken={string}] 

La deuxième requête doit être: (il est "définitions =" mais pas definitionId =)

GET http://myservername:8080/tfs/DefaultCollection/myproject/_apis/build/builds?definitions= {specify definition ID eg: 25,26,27}
Il sera réponse "count": 0, Si l'ID de définition spécifié n'existe pas.

La troisième requête doit être: (Ajouter $ avant "top")

GET http://myservername:8080/tfs/DefaultCollection/myproject/_apis/build/builds?$top=5 

S'il vous plaît voir https://www.visualstudio.com/en-us/docs/integrate/api/build/builds pour utiliser l'API REST de construction.

+0

Intéressant. Va essayer à nouveau avec api version 2.0 ou 3.0-preview et voir si le paramètre definitions fonctionne. Je lisais la documentation d'api v1 qui utilise definitionId .... –

+0

@PhilLee Le [api v1] (https://www.visualstudio.com/en-us/docs/integrate/api/xamlbuild/builds) est seulement disponible pour la version de TFS avant 2015 (système de construction Xaml), pour TFS 2015 ou version ultérieure, vous devez utiliser api V2. –

+0

Merci pour votre aide. Cela fonctionne bien sans utiliser la syntaxe que vous avez fournie :-) –