python for loop:
actions = json_data['actions']
for a in actions:
if 'causes' in a:
for cause in a['causes']:
if 'userId' in cause:
self.user = cause['userId']
Как мне это сделать в groovy?
def jenkins_data = new JsonSlurper().parseText(obj)
Используя этот json, я не уверен, как выполнить детализацию, чтобы получить userId.Я предполагаю, что мне нужно использовать цикл for, чтобы проверить для каждого элемента в списке ключ «причина», а затем повторить для ключа «userId».
Вот пример полезной нагрузки, с которой я имею дело.
self.payload_a = {"number": 3585, "url": "https://test.m.test.com/job/gfdsgdsf/3585/",
"displayName": "master_3585", "timestamp": 1516992464686,
"actions": [{"something": "nothing"}, {"causes": [{"userId": "build"}]}]}
Используя пример полезной нагрузки, я могу повторить jenkins_data.actions.causes и посмотреть вывод, однако повторяющийся jenkins_data.actions.causes.userId равен нулю (даже если userId определенно находится в полезной нагрузке)
Когда я бегу
echo jenkins_data.actions.causes
Я получаю
[null, [[_TestIdCause, shortDescription:Started by user, B, userId:valueweneed, userName:test, B]], null, null, null, null, null, null, null, null, null, null, null, null, null, null]