Сначала выровняйте все соответствующие карты, чтобы у них был только плоский список всех из них, а затем в основном то же самое, что и другие, предложенные: группируйте по заданию и просто сохраняйте коды (через оператор распространения)
def data = ['Test1':[[name:'John',dob:'02/20/1970',job:'Testing',code:51],[name:'X',dob:'03/21/1974',job:'QA',code:52]], 'Test2':[name:'Michael',dob:'04/01/1973',job:'Testing',code:52]]
assert data.values().flatten().groupBy{it.job}.collectEntries{ [it.key, it.value*.code] } == [Testing: [51, 52], QA: [52]]
Примечание: вопрос будет изменен в соответствии с комментариями к другим ответам.
Приведенный выше код даст вам задания и их коды.
На данный момент неясно, каким должен быть новый ожидаемый результат.