NAME
WWW::SFDC::Metadata - Interface to the Salesforce.com Metadata API
VERSION
version 0.24
SYNOPSIS
my $client = Sophos::sfdc->instance(creds => {
username => 'foo',
password => 'bar',
url => 'https://login.salesforce.com'
});
my $manifest = $client->listMetadata(
{type => "CustomObject"},
{type => "Report", folder => "FooReports"}
);
my $base64zipstring = $client->retrieveMetadata(
$manifest
);
$client->deployMetadata(
$base64zipstring,
{checkOnly => 'true'}
);
For more in-depth examples, see t/WWW/SFDC/Metadata.t
METHODS
listMetadata @queries
Accepts a list of types and folders, such as
{type => "CustomObject"},
{type => "Report", folder => "FooReports"}
and generates a list of file names suitable for turning into a WWW::SFDC::Manifest.
retrieveMetadata $manifest
Sets up a retrieval from then checks it until done. Returns the same data as checkRetrieval. Requires a manifest of the form:
my $manifest = {
"ApexClass" => ["MyApexClass"],
"CustomObject" => ["*", "Account", "User", 'Opportunity"],
"Profile" => ["*"]
};
deployMetadata $zipString, \%deployOptions
Takes a base64 zip file and deploys it. Deploy options will be passed verbatim into the request; see the metadata developer guide for a description.
deployRecentValidation $id
Calls deployRecentValidation with your successfully-validated deployment.
BUGS
Please report any bugs or feature requests at https://github.com/alexander-brett/WWW-SFDC/issues.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc WWW::SFDC::Metadata
You can also look for information at https://github.com/alexander-brett/WWW-SFDC
AUTHOR
Alexander Brett <alexander.brett@sophos.com>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Sophos Limited.
This is free software, licensed under:
The MIT (X11) License
The full text of the license can be found in the LICENSE file included with this distribution.