protected function _setup()
 {
     $this->_command_name = 'list_fieldvalues';
     $this->_description = "Query a remote server for a list of available field values";
     $this->addRequiredArgument('field_key', 'The key for an issue field to show available values for');
     $this->addOptionalArgument('project_key', "The key for a project to retrieve values for in case of project specific values (e.g. milestone)");
     parent::_setup();
 }
 protected function _setup()
 {
     $this->_command_name = 'list_issuefields';
     $this->_description = "Query a remote server for a list of available issue fields per types";
     $this->addRequiredArgument('project_key', 'The project to show available issue fields for');
     $this->addRequiredArgument('issuetype', 'An issue type to show available issue fields for');
     parent::_setup();
 }
 protected function _setup()
 {
     $this->_command_name = 'list_transitions';
     $this->_description = "Show available workflow transitions for an issue";
     $this->addRequiredArgument('project_key', 'The project key for the project containing the issue you want to see transitions for');
     $this->addRequiredArgument('issue_number', 'The issue number of the issue to show transitions for');
     $this->addOptionalArgument('transition', 'The name of a transition to show more details about');
     parent::_setup();
 }
 protected function _setup()
 {
     $this->_command_name = 'update_issue';
     $this->_description = "Update an issue on a remote server";
     $this->addRequiredArgument('project_key', 'The project key for the project you want to update an issue for');
     $this->addRequiredArgument('issue_number', 'The issue number for the issue you want to update');
     $this->addOptionalArgument('workflow_transition', 'The workflow transition to trigger (if any)');
     $this->addOptionalArgument('m', 'A comment to save with the changes');
     parent::_setup();
 }
 protected function _setup()
 {
     $this->_command_name = 'show_issue';
     $this->_description = "Show detailed information about an issue on a remote server";
     $this->addRequiredArgument('project_key', 'The project key for the project you want to update an issue for');
     $this->addRequiredArgument('issue_number', 'The issue number for the issue you want to update');
     $this->addOptionalArgument('include_comments', 'Whether to include comments in the issue details (yes/no)');
     $this->addOptionalArgument('include_system_comments', 'Whether to include comments in the issue details (yes/no default no)');
     parent::_setup();
 }
 protected function _setup()
 {
     $this->_command_name = 'list_issues';
     $this->_description = "Query a remote server for a list of available issues for a project";
     $this->addRequiredArgument("project_key", "The project key for the project you wish to list issues for (see remote_list_project)");
     $this->addOptionalArgument("state", "Filter show only [open/closed/all] issues");
     $this->addOptionalArgument("issuetype", "Filter show only issues of type [<issue type>] (see remote_list_issuetypes)");
     $this->addOptionalArgument("assigned_to", "Filter show only issues assigned to [<username>/me/none/all]");
     $this->addOptionalArgument("detailed", 'Whether to show a detailed issue list or not [yes/no] (default <no>)');
     parent::_setup();
 }
 protected function _setup()
 {
     $this->_command_name = 'list_projects';
     $this->_description = "Query a remote server for a list of available projects";
     parent::_setup();
 }