wiki:TracQuery

Trac Ticket Queries

In addition to reports, Trac provides support for custom ticket queries, used to display lists of tickets meeting a specified set of criteria.

To configure and execute a custom query, switch to the View Tickets module from the navigation bar, and select the Custom Query link.

Filters

When you first go to the query page the default filter will display tickets relevant to you:

  • If logged in then all open tickets it will display open tickets assigned to you.
  • If not logged in but you have specified a name or email address in the preferences then it will display all open tickets where your email (or name if email not defined) is in the CC list.
  • If not logged and no name/email defined in the preferences then all open issues are displayed.

Current filters can be removed by clicking the button to the left with the minus sign on the label. New filters are added from the pulldown lists at the bottom corners of the filters box ('And' conditions on the left, 'Or' conditions on the right). Filters with either a text box or a pulldown menu of options can be added multiple times to perform an or of the criteria.

You can use the fields just below the filters box to group the results based on a field, or display the full description for each ticket.

Once you've edited your filters click the Update button to refresh your results.

Clicking on one of the query results will take you to that ticket. You can navigate through the results by clicking the Next Ticket or Previous Ticket links just below the main menu bar, or click the Back to Query link to return to the query page.

You can safely edit any of the tickets and continue to navigate through the results using the Next/Previous/Back to Query links after saving your results. When you return to the query any tickets which were edited will be displayed with italicized text. If one of the tickets was edited such that it no longer matches the query criteria the text will also be greyed. Lastly, if a new ticket matching the query criteria has been created, it will be shown in bold.

The query results can be refreshed and cleared of these status indicators by clicking the Update button again.

Saving Queries

Trac allows you to save the query as a named query accessible from the reports module. To save a query ensure that you have Updated the view and then click the Save query button displayed beneath the results. You can also save references to queries in Wiki content, as described below.

Note: one way to easily build queries like the ones below, you can build and test the queries in the Custom report module and when ready - click Save query. This will build the query string for you. All you need to do is remove the extra line breaks.

You may want to save some queries so that you can come back to them later. You can do this by making a link to the query from any Wiki page.

[query:status=new|assigned|reopened&version=1.0 Active tickets against 1.0]

Which is displayed as:

Active tickets against 1.0

This uses a very simple query language to specify the criteria (see Query Language).

Alternatively, you can copy the query string of a query and paste that into the Wiki link, including the leading ? character:

[query:?status=new&status=assigned&status=reopened&group=owner Assigned tickets by owner]

Which is displayed as:

Assigned tickets by owner

Using the [[TicketQuery]] Macro

The  TicketQuery macro lets you display lists of tickets matching certain criteria anywhere you can use WikiFormatting.

Example:

[[TicketQuery(version=0.6|0.7&resolution=duplicate)]]

This is displayed as:

No results

Just like the query: wiki links, the parameter of this macro expects a query string formatted according to the rules of the simple ticket query language.

A more compact representation without the ticket summaries is also available:

[[TicketQuery(version=0.6|0.7&resolution=duplicate, compact)]]

This is displayed as:

No results

Finally, if you wish to receive only the number of defects that match the query, use the count parameter.

[[TicketQuery(version=0.6|0.7&resolution=duplicate, count)]]

This is displayed as:

0

Customizing the table format

You can also customize the columns displayed in the table format (format=table) by using col=<field> - you can specify multiple fields and what order they are displayed by placing pipes (|) between the columns like below:

[[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter)]]

This is displayed as:

Results (1 - 3 of 1551)

Ticket Resolution Summary Owner Reporter
#1752 spam spam mrmoku online-loans-53
#1751 spam spam mrmoku temporary-car
#1750 spam spam mrmoku car-insurance-2

Full rows

In table format you can also have full rows by using rows=<field> like below:

[[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter,rows=description)]]

This is displayed as:

Results (1 - 3 of 1551)

Ticket Resolution Summary Owner Reporter
#1752 spam spam mrmoku online-loans-53

Reported by online-loans-53, 9 hours ago.

Description

It is no secret that these are tough times for many individuals around the world from economic standpoint. The lagging economy has affected countless people this type of serious way worldwide, however some people are also struggling domestically to produce ends meet. Whether right here is the tragic results of a salary cut or job loss, meaning the best way to than ever may need funds to support cover your regular daily expenses. Though this condition can be potentially tragic, it doesn't need to be completely hopeless. For people who are struggling in this connection to merely make ends meet in these tough economic times, there exists relief around for people who need it. An increasing number of, persons are realizing the truly great value and peace of mind in online loans to support cover expenses. Here are some purposes for this new method of obtaining relief to be sure safety into the future associated with a family online loans.

Deciding on the best online loans

These cash is just like safe and secure as people that may very well be received by using a physical bank based in a local location. The advantage to dealing with this procedure on the Internet is it is streamlined, safe and means that funds may be received faster as opposed to traditional loan process. When funds are needed quickly to avoid a critical issue or potential tragedy, time truly is critical. Security is backed and discretion will likely be honored through the secure process. These online loans are through banks which are backed by way of the same guarantees and security as any other bank currently available. This means customers can relax that they can obtain the funds where there're capable of receive which enable it to cover their expenses. What's even better, the interest rates and fees are found the exact same or it could be less than they will be by using a physical bank online loans.

Do Your Research

Most people have difficulties paying on a daily basis bills like those to cover electric, heat and other basic necessities. Still others, however, are struggling to be charged larger and even more cumbersome bills like making home loan repayments, paying property taxes and even making repairs to their home when issues arise  online loans.

On the subject of selecting the sort of and amount for online loans, you will need to bear in mind the way the funds will swiftly improve sales and profits the family unit. Nothing is more tragic or difficult than borrowing weak hands or maybe too much in terms of borrowing money. For this reason studies a significant area of this. When an individual can be certain they are borrowing the perfect amount of money, will probably be a much less cumbersome situation later on when the time comes for repayment online loans.

While there are various folks in need of extra funds to repay expenses, the majority are realizing the additional value and peace of mind in online loans. Going this approach to borrow funds can ensure security in the long run when confronted with the hard economic times facing the majority of online loans.

Understand more about online loans and many types of the info required to make a thought out decision regarding tips on how to secure these funds to repay hidden expenses. Help is out there for those struggling to maintain their families afloat during these tough economic times

#1751 spam spam mrmoku temporary-car

Reported by temporary-car, 13 hours ago.

Description

Temporary car insurance is quite convenient for those who have a temporary car insurance need and don't wish it to affect an insurance plan they will have in essence on another vehicle. Quick motor insurance is exceedingly useful if a car is held in a space in which there can be a hurricane or tornado temporary car insurance.

temporary car insurance can be had for your hurricane season if a vehicle is damaged or destroyed throughout the insurance period it will eventually pay the costs of repair or replacement. This is very important in regions of america that experience severe hurricanes and tornadoes in the past year temporary car insurance.

When renting a temporary car insurance, the that is definitely issued on the car's contract often only covers anybody renting the car. If your car has been as used by a small grouping of friends for vacation travel, temporary motor insurance can be obtained to hide most of the folks that will be driving the car. Now you have an important benefit when the driving requires set up aspects of the country or cities the fact that drivers might not be familiar with. In a few cities there exists a huge incident of accidents because traffic is very heavy along with the drivers will not obey each of the rules of the road. To be a visitor, you can certainly become distracted and find into a mishap over a busy city street. By acquiring temporary car insurance hit and run accidents that occur in the vacation are covered and will not be reflected in your established policy. Therefore, insurance premiums will not increase to suit your needs or your driving partners temporary car insurance.

For a visitor to the Usa, many individuals become quite confused by our driving regulations. Lots of the rules with the road abroad directly conflict using the rules from the road in this country. This could generate a very distracting driving experience for visitors who may not be acquainted with our regional laws. Temporary car insurance will handle any damage occurring if the visitor towards the United States gets within an accident. They shall be capable of focus on enjoying their remain america and never stress about what the ramifications of getting into a car accident in the foreign country are  temporary car insurance.

If someone else may have a car for any very temporary car insurance or transport it derived from one of place to another, it is necessary that they acquire temporary car insurance to pay enough time will have them driving the temporary car insurance. Automobile accident occurs the temporary car insurance policy will give you the repair or replacement of your car as well as accident will never grow your rates with the established insurance firm.

#1750 spam spam mrmoku car-insurance-2

Reported by car-insurance-2, 14 hours ago.

Description

So what's the deal? Just what are in in's and from classic swift car insurance. Precisely what do I must know?

swift car insurance insures ignore the that car buffs sometimes make within their jazzy vehicles. Owners of collector vehicles often assume - incorrectly - that this only insurance selection for their classic auto is usually to hang it on or their loved ones auto policy. Wrong swift car insurance.

Standard auto swift car insurance is frequently more pricey compared to the classic car insurance policy, but those companies incorporate some criteria that need to be met as a way to be entitled to their programs to obtain those good rates. So lets consider a number of the main restrictions that face the classic operater swift car insurance.

swift car insurance companies may wish to know a psychic email reading a good rate in your auto insurance coverage the next: the age of the motorist - some companies possess a driver's age restriction, the mileage for your car may not qualify for the mileage limitations, the housing and the garaging requirements and then there are your car or truck age qualifications  swift car insurance.

swift car insurance policy may vary greatly in coverage with the standard car insurance policy policy. Most standard car insurance policies insure the automobile because of its current value, minus depreciation. In other words because of this as being the age and using your vehicle increases, the additional value decreases. Not with the classic vintage auto. In comparison, collector vehicles, if well-maintained, raises in value with time. It is because they are certainly not driven typically, it isn't used in the identical reasons to be a car that is driven for everyday use, along with owners truly baby them swift car insurance.

So as to provide appropriate coverage just for this situation, swift car insurance providers typically offer "Agreed Value Coverage", which essentially suggests that the you the insured and also the swift car insurance insurer will agree upon the value of the auto in advance. This vehicle valuation will offer the whole monatary amount with the classic car mentionened above previously for the policy and consider appreciation towards value at the time of a loss swift car insurance.

There are a few carriers that could offer low or no deductibles for collision and comprehensive coverage swift car insurance. Often times they are going to provide coverage for spare parts or accessories that are not on maybe in the your vintage vehicle. You will not find that form of coverage on the family car insurance policy policy.

Query Language

query: TracLinks and the [[TicketQuery]] macro both use a mini “query language” for specifying query filters. Basically, the filters are separated by ampersands (&). Each filter then consists of the ticket field name, an operator, and one or more values. More than one value are separated by a pipe (|), meaning that the filter matches any of the values. To include a literal & or | in a value, escape the character with a backslash (\).

The available operators are:

= the field content exactly matches one of the values
~= the field content contains one or more of the values
^= the field content starts with one of the values
$= the field content ends with one of the values

All of these operators can also be negated:

!= the field content matches none of the values
!~= the field content does not contain any of the values
!^= the field content does not start with any of the values
!$= the field content does not end with any of the values

The date fields created and modified can be constrained by using the = operator and specifying a value containing two dates separated by two dots (..). Either end of the date range can be left empty, meaning that the corresponding end of the range is open. The date parser understands a few natural date specifications like "3 weeks ago", "last month" and "now", as well as Bugzilla-style date specifications like "1d", "2w", "3m" or "4y" for 1 day, 2 weeks, 3 months and 4 years, respectively. Spaces in date specifications can be left out to avoid having to quote the query string.

created=2007-01-01..2008-01-01 query tickets created in 2007
created=lastmonth..thismonth query tickets created during the previous month
modified=1weekago.. query tickets that have been modified in the last week
modified=..30daysago query tickets that have been inactive for the last 30 days

See also: TracTickets, TracReports, TracGuide