NAME

JIRA::Client - An extended interface to JIRA's SOAP API.

VERSION

Version 0.05

SYNOPSIS

use JIRA::Client;

my $jira = JIRA::Client->new('http://jira.example.com/jira', 'user', 'passwd');

my $issue = $jira->getIssue('PRJ-123');

$jira->set_filter_iterator('my-filter');
while (my $issue = $jira->next_issue()) {
    # ...
}

DESCRIPTION

JIRA is a proprietary bug tracking system from Atlassian (http://www.atlassian.com/software/jira/).

This module implements an Object Oriented wrapper around JIRA's SOAP API, which is specified in http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/com/atlassian/jira/rpc/soap/JiraSoapService.html.

Moreover, it implements some other methods to make it easier to do some common operations.

METHODS

With the exception of the API login and logout methods, which aren't needed, all other methods are available through the JIRA::Client object interface. You must call them with the same name as documented in the specification but you should not pass the token argument, because it is supplied transparently by the JIRA::Client object.

The extra methods implemented by this module are described below.

new JIRAURL, USER, PASSWD

The JIRA::Client constructor needs three arguments. JIRAURL is JIRA's base URL from which will be constructed it's WSDL descriptor as $JIRAURL/rpc/soap/jirasoapservice-v2?wsdl. USER and PASSWD are the credentials that will be used to authenticate into JIRA.

set_filter_iterator FILTER_NAME

This method sets up an interator for the filter identified by FILTER_NAME. It must be called before calls to next_issue.

next_issue

This method must be called after a call to set_filter_iterator. Each call returns a reference to the next issue from the filter. When there are no more issues it returns undef.

get_custom_fields

This method returns a hash mapping JIRA's custom field names to the RemoteField representing them. It's useful since when you get a RemoteIssue object from this API it doesn't contain the custom field's names, but just their identifiers. From the RemoteField object you can obtain the field's id, which is useful when calling the updateIssue method.

This module method calls the getCustomFields API method the first time and keeps the custom fields information in a cache.

set_custom_fields HASHREF

This method passes a hash mapping JIRA's custom field names to the RemoteField representing them to populate the custom field's cache. This can be useful if you don't have administrative priviledges to the JIRA instance, since only administrators can call the getCustomFields API method.

get_priorities

This method returns a hash mapping a project's priorities names to the RemotePriority objects describing them.

get_versions PROJECT_KEY

This method returns a hash mapping a project's versions names to the RemoteVersion objects describing them.

get_components PROJECT_KEY

This method returns a hash mapping a project's components names to the RemoteComponent objects describing them.

AUTHOR

Gustavo Chaves, <gnustavo@cpan.org>

BUGS

Please report any bugs or feature requests to bug-jira-client at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=JIRA-Client. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc JIRA::Client

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2009 CPqD, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.