The Bug Genie team blog

What's cooking behind the scenes of The Bug Genie

Version 3 CLI client and remote goodness

leave a comment »

The next alpha release of version 3 is just weeks away, and it’s time for another status update with a sneak preview of upcoming feature(s). This time we’ll have a look at two completely new features from version 2, namely the new CLI client, and the remote service API.

The new CLI client

The CLI client in version 2 was (is) unstable, lacked features and was in many cases fragile at best. Because we want all the existing features of The Bug Genie to work as good as possible, and at least with the advertised features, we decided to integrate the CLI client with the rest of the framework so it has access to all the goodness that is available throughout the rest of the framework. In addition, we’ve integrated it with the modules and class autoloader and created a specific set of classes to help developers create more cli goodness. This helper functionality includes: helper for outputting color formatted text on terminals that supports it; functionality for easily retrieving user input via arguments or direct input; full module support and dynamic loading of new CLI commands provided by modules.

To test out these features, we’ve added quite a few commands to the default package, such as performing a full installation, managing modules (installation, listing, removing), showing the license, importing and exporting wiki articles, managing outgoing email queue and more. In addition, we’ve also added a command that sets up an empty module skeleton to help module developers start their module development faster. This also leads us to our next feature set, the remote service and client API.

Remote API

Version 3 comes with a full API to communicate with other services (such as potentially Eclipse/Mylyn) and by default, a CLI client. The CLI client that ships with The Bug Genie has a command set that communicates with any installation of The Bug Genie, where you can perform actions such as listing projects, listing open issues for a project, listing only open issues of a certain type, and more. The next alpha version will come with a small set of remote commands available for you to test – already implemented is a command that lists all available projects for a remote installation of The Bug Genie. The CLI also lets you set up a default remote server to communicate with, as well as the username to use – and it can prompt you for the password, or store a hash of your password for easy authentication. See the following screenshot to see this in action.

The following screenshot first sets a default server to work with, showing both the way to set a default server and no username (which will then try and login remotely with your current CLI username, and ask you for your password), then it sets it up with username authentication as well, rounding of with running a command that lists all available projects on the remote server.

Alpha 4, showing the cli client working with a remote installation of the bug genie

The CLI client utilizes the remote API, and speaks JSON with the remote installation of The Bug Genie, which you can of course implement in any client of your choosing. This API will be documented as needed, and will be available in the next alpha release. If you want to test it out before the release, just let us know 🙂


Written by Daniel André

September 8, 2010 at 12:15

Posted in The Bug Genie 3.0

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: