Как исключить удаленных пользователей / группы из ответа API Azure DevOps

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

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

Вопрос:

Ссылаясь на https://docs.microsoft.com/en-us/rest/api/azure/devops/graph/groups/get?view=azure-devops-rest-6.0 это говорит о том, что «Группа будет возвращена, даже если она была удалена из учетной записи или все ее участники были удалены». — интересно, как я могу исключить удаленных пользователей / группы и получить только «чистый» и фактический ответ от Azure DevOps REST API без удаленных объектов?

Похоже, что документация выше не включает фильтры для этого. В то же время возвращаемые данные (пример приведен в документации) не содержат никаких флагов, которые позволили бы выполнять какую-либо фильтрацию на стороне клиента.

Попытка поиска в Интернете пока не принесла никакого успеха.

Возможно ли каким-либо образом исключить удаленные объекты из ответа Azure DevOps REST API? Заранее спасибо.

Ответ №1:

API, на который вы ссылались, получает группу по ее дескриптору. Дескриптор является основным способом ссылки на объект graph во время работы системы. Это поле однозначно идентифицирует один и тот же объект графика как для учетных записей, так и для организаций.

Если группа удалена, вы увидите, что для аргумента «IsDeleted» установлено значение Ture. Проверьте скриншот ниже:

введите описание изображения здесь

Если вы хотите перечислить все группы, вы можете использовать Groups — List api, этот api не вернет удаленную группу.

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

1. Большое спасибо! Я не ожидал, что структура ответа является динамической. Я проверил на своей стороне и увидел, что то же самое относится и к списку групп. Пока я не могу публиковать изображения здесь, я разместил их отдельно.

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

3. Это помогает, спасибо, но не дает полного ответа на вопрос — вот почему я добавил дополнительную информацию в отдельный пост.

Ответ №2:

@Cence Донг пролил свет в своем ответе, но поскольку я не могу прикреплять изображения к комментариям — я публикую ответ здесь.

IsDeleted — свойство динамически отображается в каждом ответе в случае, если объект был удален. Кэнси Донг показал пример получения группового запроса с использованием дескриптора и упомянул, что этого не произойдет, если вы получите список групп. Однако, по моему наблюдению (скриншот прилагается), то же самое происходит и для списка.

Вывод — свойство IsDeleted отображается во всех типах групповых запросов, если объект был удален.

введите описание изображения здесь

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

1. В моем тесте Groups — List api не будет отображать удаленную группу, странно, что мы получаем другой результат.