This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
bugtracker [2008/07/03 10:10] klette |
bugtracker [2008/07/03 10:37] klette fixed trac rpc stuff. Changed a lot in newer versions |
||
---|---|---|---|
Line 76: | Line 76: | ||
This enables us to have easy tools on a console level for reporting bugs, and maybe in the future even have automated bug reporting on crashes from nav. | This enables us to have easy tools on a console level for reporting bugs, and maybe in the future even have automated bug reporting on crashes from nav. | ||
- | === Code hosting === | + | === Code hosting/integration === |
Launchpad.net offers code-hosting of tarballs. It also supports mirroring of bzr-branches and svn-branches, but neither of these | Launchpad.net offers code-hosting of tarballs. It also supports mirroring of bzr-branches and svn-branches, but neither of these | ||
apply to us, as we use mercurial. | apply to us, as we use mercurial. | ||
Line 106: | Line 106: | ||
=== RPC interface === | === RPC interface === | ||
- | Trac does not have an rpc interface per default, but there is a plugin available that exposes the python api. | + | Trac does not have an rpc interface per default, but there is a plugin available that exposes some of the python api. |
- | It works by sending a list of functions and their parameters to the rpc. | + | |
- | ie | + | |
<code python> | <code python> | ||
- | send(( | + | import xmlrpclib |
- | (add-bug, (param1, param2, param3)), | + | # Connect |
- | (close-bug, (param1, param2, param3)), | + | server = xmlrpclib.ServerProxy("https://kristian.klette@uninett.no:notmyrealpassword@localhost/trac-dev/login/xmlrpc") |
- | )) | + | |
+ | # Report a bug | ||
+ | ticketid = server.ticket.create("My summary", "A description of the problem") | ||
+ | |||
+ | # base64 encode traceback | ||
+ | import base64 | ||
+ | trackeback = base64.b64encode(get_traceback()) | ||
+ | |||
+ | # Add traceback to ticket | ||
+ | server.ticket.putAttachment(ticketid, "traceback.log", "Traceback of the error", traceback) | ||
+ | |||
+ | print "Created ticket", ticketid | ||
</code> | </code> | ||
- | (not a real api calls) | ||
- | This is very flexible and allows us to do lots a crazy stuff, but it opens a security issue, and is hard to | + | The api it self is quite nice actually, though poorly documented. A rough api-coverage is given at www.track-hacks.org, but only to authenticated users. |
- | use for anything other than internal use. | + | |
+ | === Code hosting/integration === | ||
+ | Trac support code integration of mercurial branches trough a plugin. The plugin is available in debian, so | ||
+ | shouldn't be too hard to get going properly. | ||
+ | |||
+ | === Task management === | ||
+ | Trac differentiates tasks from bugs throug bug-types (one can mark something as a bug, feature request, todo and so forth) | ||
+ | |||
+ | === Price/Licensing === | ||
+ | Newer Trac releases are released under a modified BSD license | ||
==== Roundup ==== | ==== Roundup ==== | ||