wiki:TracCmdScript

Trac command script

Description

This script is a command line interface allowing the manipulation of Trac objects. It is a Python based interface to the most used Trac functions.

Key features:

  • reading wiki pages
  • editing wiki pages
    • from the shell, commit message style
  • reading tickets or ticket attributes
  • creating tickets
  • updating ticket attributes

We use traccmd at WooMe to script releases and help build release candidates.

A wrapper for editing wiki pages directly inside emacs is also included, though this is rudimentary.

Bugs/Feature Requests

Existing bugs and feature requests for TracCmdScript are here.

If you have any issues, create a new ticket.

defect

1 / 2

enhancement

1 / 1

Download

Download the zipped source from here.

Source

You can check out TracCmdScript from here using Subversion, or browse the source with Trac.

Installation

The xmlrpc support must be enabled by installing XmlRpcPlugin, as everything is done via xmlrpc.

Example

Getting a ticket:

$ traccmd.py ticket 1
1 status reopened
1 type defect
1 description Test patch
1 description 
1 description Something went tits. Fix it!
1 reporter admin
1 cc 
1 ticket_status sign off requested
1 component tech.homepage
1 summary Test patch
1 priority minor
1 owner nferrier
1 version 
1 milestone 
1 keywords 
1 resolution fixed

Getting a ticket attribute:

$ traccmd.py ticketdetail 1 resolution
#1 resolution: fixed

Getting a wiki page:

$ traccmd.py wiki TracGuide | head -n15
(:tracwikiproperties (
:comment ""
:lastModified "20090410T15:29:13"
:version "2"
:name "TracGuide"
:author "trac"
))

= The Trac User and Administration Guide =
[[TracGuideToc]]

The TracGuide is meant to serve as a starting point for all documentation regarding Trac usage and development. The guide is a free document, a collaborative effort, and a part of the [http://trac.edgewall.org Trac Project] itself.

== Table of Contents ==
Currently available documentation:
 * TracGuide (This page)  -- Documentation starting point.

A more complex example is the use in a release candidate maker, where a number of repos in a distributed revision control system are pulled together to make a release candidate:

traccmd.py ticket $TICKETS \
  | sed -rne 's,^([0-9]+).*[^h](http(s)*://hg.woome.com/[^] ]+).*,\1 \2,p' \
  | awk '{print $2}' \
  | xargs hg in 

This shows incoming patches from hg repos mentioned in $TICKETS.

Recent Changes

9532 by nicferrier on 2010-11-26 23:49:25
major new revision of traccmd.py
6489 by nicferrier on 2009-09-03 04:54:12
added first version of trac.el
6488 by nicferrier on 2009-09-03 04:38:08
first checkin for trac hacks repo
(more)

Author/Contributors

Author: nicferrier
Maintainer: Nic Ferrier
Contributors:

Last modified 9 months ago Last modified on Dec 16, 2015, 4:50:44 PM