NAME WebService::BitbucketServer - Bindings for Bitbucket Server REST APIs VERSION version 0.602 SYNOPSIS my $api = WebService::BitbucketServer->new( base_url => 'https://stash.example.com/', username => 'bob', password => 'secret', ); my $response = $api->core->get_application_properties; my $app_info = $response->data; print "Making API calls to: $app_info->{displayName} $app_info->{version}\n"; # Or use the low-level method (useful perhaps for new endpoints # that are not packaged yet): my $response = $api->call(method => 'GET', url => 'api/1.0/application-properties'); # You can also use your own user agent: my $api = WebService::BitbucketServer->new( base_url => 'https://stash.example.com/', username => 'bob', password => 'secret', ua => Mojo::UserAgent->new, ); # If the user agent is nonblocking, responses are Futures: my $future = $api->core->get_application_properties; $future->on_done(sub { my $app_info = shift->data; print "Making API calls to: $app_info->{displayName} $app_info->{version}\n"; }); DESCRIPTION This is the main module for the Bitbucket Server API bindings for Perl. ATTRIBUTES base_url Get the base URL of the Bitbucket Server host. path Get the path from the base URL to the APIs. Defaults to "rest". username Get the username of the user for authenticating. password Get the password of the user for authenticating. ua Get the user agent used to make API calls. Defaults to HTTP::Tiny. Because this API module uses HTTP::AnyUA under the hood, you can actually use any user agent supported by HTTP::AnyUA. any_ua Get the HTTP::AnyUA object. json Get the JSON (or compatible) object used for encoding and decoding documents. no_security_warning Get whether or not a warning will be issued when an insecure action takes place (such as sending credentials unencrypted). Defaults to false (i.e. will issue warning). core Get the WebService::BitbucketServer::Core::V1 api. access_tokens Get the WebService::BitbucketServer::AccessTokens::V1 api. audit Get the WebService::BitbucketServer::Audit::V1 api. ref_restriction Get the WebService::BitbucketServer::RefRestriction::V2 api. branch Get the WebService::BitbucketServer::Branch::V1 api. build Get the WebService::BitbucketServer::Build::V1 api. comment_likes Get the WebService::BitbucketServer::CommentLikes::V1 api. default_reviewers Get the WebService::BitbucketServer::DefaultReviewers::V1 api. git Get the WebService::BitbucketServer::Git::V1 api. gpg Get the WebService::BitbucketServer::GPG::V1 api. jira Get the WebService::BitbucketServer::Jira::V1 api. ssh Get the WebService::BitbucketServer::SSH::V1 api. mirroring_upstream Get the WebService::BitbucketServer::MirroringUpstream::V1 api. repository_ref_sync Get the WebService::BitbucketServer::RepositoryRefSync::V1 api. METHODS new $api = WebService::BitbucketServer->new(base_url => $base_url, %other_attributes); Create a new API context object. Provide "ATTRIBUTES" to customize. url $url = $api->url; Get the URL of the APIs (a combination of "base_url" and "path"). call $response = $api->call(method => $method, url => $url, %options); Make a request to an API and get a response. * url - the endpoint URL, relative to "url" * method - the HTTP method * data - request data * data_type - type of request data, if any (defaults to "application/json") * raw - get a hashref response instead of a WebService::BitbucketServer::Response write_api_packages WebService::BitbucketServer->write_api_packages; WebService::BitbucketServer->write_api_packages(dir => 'lib'); Download API specifications from https://developer.atlassian.com and generate packages for them, writing them to the specified directory. You normally don't need this because this module ships with pre-built APIs, but you can use this to generate other APIs or versions if needed. Requires XML::LibXML. BUGS Please report any bugs or feature requests on the bugtracker website https://github.com/chazmcgarvey/WebService-BitbucketServer/issues When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. AUTHOR Charles McGarvey COPYRIGHT AND LICENSE This software is copyright (c) 2017 by Charles McGarvey. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.