The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Test::Reporter::Transport::Metabase - Metabase transport for Test::Reporter


version 1.999010


    my $report = Test::Reporter->new(
        transport => 'Metabase',
        transport_args => [
          uri     => '',
          id_file => '/home/jdoe/.metabase/metabase_id.json',

    # use space-separated in a CPAN::Reporter config.ini
    transport = Metabase uri ...


This module submits a Test::Reporter report to the specified Metabase instance.

This requires a network connection to the Metabase uri provided. If you wish to save reports during offline operation, see Test::Reporter::Transport::File. (Eventually, you may be able to run a local Metabase instance to queue reports for later transmission, but this feature has not yet been developed.)


See Test::Reporter and Test::Reporter::Transport for general usage information.

Transport arguments

Unlike most other Transport classes, this class requires transport arguments to be provided as key-value pairs:

    my $report = Test::Reporter->new(
        transport => 'Metabase',
        transport_args => [
          uri     => '',
          id_file => '/home/jdoe/.metabase/metabase_id.json',

Arguments include:

uri (required)

The uri argument gives the network location of a Metabase instance to receive reports.

id_file (required)

The id_file argument must be a path to a Metabase ID file. If you do not already have an ID file, use the metabase-profile program to create one.

  $ metabase-profile

This creates the file metabase_id.json in the current directory. You can also give an --output argument to save the file to a different location or with a different name.

client (optional)

The client argument is optional and specifies the type of Metabase::Client to use to transmit reports to the target Metabase. It defaults to Metabase::Client::Simple.


These methods are only for internal use by Test::Reporter.


    my $sender = Test::Reporter::Transport::File->new( $params );

The new method is the object constructor.


    $sender->send( $report );

The send method transmits the report.


Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

  git clone


  • David Golden <>

  • Richard Dawe <>


  • Chris 'BinGOs' Williams <>

  • David Golden <>

  • Karen Etheridge <>


This software is Copyright (c) 2016 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004