---
name: "Net::Trac::TicketSearch"
section: "3pm"
platform: "linux"
package: "libnet-trac-perl"
version: "0.16-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Trac::TicketSearch"
---

# Net::Trac::TicketSearch(3pm)

A ticket search (custom query) in Trac

## NAME

Net::Trac::TicketSearch - A ticket search (custom query) in Trac

## SYNOPSIS

```
    my $search = Net::Trac::TicketSearch->new( connection => $trac );

    $search->query(
        owner       => 'hiro',
        status      => { 'not' => [qw(new reopened)] },
        summary     => { 'contains' => 'yatta!' },
        reporter    => [qw( foo@example.com bar@example.com )]
    );

    print $_->id, "\n" for @{$search->results};
```

## DESCRIPTION

This class allows you to run ticket searches on a remote Trac instance.

## ACCESSORS

### connection

### limit \[NUMBER\]

Get/set the maximum number of results to fetch.  Default is 500.  This may also be limited by the Trac instance itself.

### results

Returns an arrayref of Net::Trac::Tickets for the current query.

### url

Returns the relative URL for the current query (note the format will be CSV).

## METHODS

### query \[PARAMHASH\]

Performs a ticket search with the given search conditions.  Specify a hash of `"column ="` value\> pairs for which to search.  Values may be a simple scalar, a hashref, or an arrayref.  Specifying a hashref allows you to select a different operator for comparison (see below for a list).  An arrayref allows multiple values to be **or**'d for the same column.  Unfortunately Trac has no way of **and**ing multiple values for the same column.

Valid operators are `"is"` (default), `"not"`, `"contains"`, `"lacks"`, `"startswith"`, and `"endswith"`.

Returns undef on error and the results otherwise.

## LICENSE

Copyright 2008-2009 Best Practical Solutions.

This package is licensed under the same terms as Perl 5.8.8.
