google-cloud-build ошибки PyPi 400 - PullRequest
       30

google-cloud-build ошибки PyPi 400

1 голос
/ 15 марта 2020

В настоящее время я получаю 400 ошибок при вызове метода list_builds() (см. Здесь: https://googleapis.dev/python/cloudbuild/latest/gapic/v1/api.html?highlight=list_builds#google .cloud.devtools.cloudbuild_v1.CloudBuildClient.list_builds )

Следующая команда работает используя gcloud:

gcloud builds list --filter="status=FAILURE"

Однако следующий вызов API возвращает google.api_core.exceptions.InvalidArgument: 400 Error processing filter expression

for element in client.list_builds("REDACTED", filter_="status=FAILURE"):
    # process element
    pass

Я предполагаю, что упускаю что-то очень очевидное и простое здесь, но я не могу точно понять, что я делаю неправильно

Ответы [ 2 ]

2 голосов
/ 16 марта 2020

Правильный способ передачи строки фильтра в вызов API включает использование двойных апострофов вокруг фактического текста, например, так:

filter_='status="FAILURE"'

Не уверен, будет ли это будет изменено в будущем, но это то же самое поведение для передачи его через REST API здесь: https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds/list

например, указание status=FAILURE не удастся, но status="FAILURE" возвращает 200 ответ.

1 голос
/ 15 марта 2020

добро пожаловать в стек O! Так что я просто плевался здесь, но в документах говорится, что строка фильтра - это «необработанный текст фильтра для ограничения результатов».

Когда вы фильтруете Cloud Build в консоли, «необработанный текст фильтра» в пользовательском интерфейсе написано Status : Failed - вы можете попробовать:

--filter="Status : Failed"

--filter="Status: Failed"

--filter="Status:Failed"

Альтернативно, это может быть строкой в ​​URL, форматирование которой слишком бананово для роботов Stack O, поэтому я не могу вставить ее сюда, но она начинается с f и заканчивается Failed:

Ключевым моментом здесь является то, что в вашей строке есть знак равенства, а также Failure вместо Failed - изменение одного или обоих из них может помочь.

Надеюсь, это помогает!

...