def console_output(self, instance=None):
if instance is None:<EOL><INDENT>instance = self.instance()<EOL><DEDENT>for stage in instance['<STR_LIT>']:<EOL><INDENT>for job in stage['<STR_LIT>']:<EOL><INDENT>if job['<STR_LIT:result>'] not in self.final_results:<EOL><INDENT>continue<EOL><DEDENT>artifact = self.artifact(<EOL>instance['<STR_LIT>'],<EOL>stage['<STR_LIT:name>'],<EOL>job['<STR_LIT:name>'],<EOL>stage['<STR_LIT>']<EOL>)<EOL>output = artifact.get('<STR_LIT>')<EOL>yield (<EOL>{<EOL>'<STR_LIT>': self.name,<EOL>'<STR_LIT>': instance['<STR_LIT>'],<EOL>'<STR_LIT>': stage['<STR_LIT:name>'],<EOL>'<STR_LIT>': stage['<STR_LIT>'],<EOL>'<STR_LIT>': job['<STR_LIT:name>'],<EOL>'<STR_LIT>': job['<STR_LIT:result>'],<EOL>},<EOL>output.body<EOL>)<EOL><DEDENT><DEDENT>
Yields the output and metadata from all jobs in the pipeline

        Args:
          instance: The result of a :meth:`instance` call, if not supplied
            the latest of the pipeline will be used.

        Yields:
          tuple: (metadata (dict), output (str)).

          metadata contains:
            - pipeline
            - pipeline_counter
            - stage
            - stage_counter
            - job
            - job_result