ah-s3-jenkins
v0.1.0
Published
Getting files from Jenkins jobs
Downloads
1
Readme
Anthill AWS S3 / Jenkins Module
This module makes it easy to integrate with the artifacts generated from Anthill Jenkins jobs.
Usage
Add a config file to your project with AWS info.
Require the module and provide path to the AWS config file from module folder.
Example:
aws_config.json
{ "accessKeyId": "XXXXXXXXXXXXXX", "secretAccessKey": "XXXXXXXXXXXXXXXXXXXX", "region": "eu-central-1" }
var s3 = require('ah-s3-jenkins')('../../aws_config.json');
s3.getJobs('demoBucket', 'my-jenkins-project', function(err, jobs) {
console.log('Jenkins jobs for project', jobs);
});
API
getJobs(bucket, project, next)
List all the jobs for a project.
The project parameter is the Jenkins project name.
Example output:
[ 'jobs/acme-placebo-2016/20/',
'jobs/acme-placebo-2016/21/' ]
getSignedUrl(bucket, key, next)
Get a signed url for a PDF report.
The key parameter is the AWS file key, e.g. 'jobs/acme-placebo-2016/21/pdf/report.pdf'.
Example:
s3.getSignedUrl('demoBucket', 'jobs/acme-placebo-2016/21/pdf/report.pdf', function(err, url) {
console.log('Signed URL for report', url);
});
getMetaData(bucket, key, next)
Get a signed url for a PDF report.
The key parameter is the AWS file key, e.g. 'jobs/acme-placebo-2016/21/pdf/report.pdf'.
Example:
s3.getMetaData('demoBucket', 'jobs/acme-placebo-2016/21/pdf/report.pdf', function(err, data) {
console.log('Signed URL for report', data);
});
Example of meta-data returned:
{ AcceptRanges: 'bytes',
LastModified: 'Fri, 24 Feb 2017 08:01:20 GMT',
ContentLength: '17477366',
ETag: '"9d5025edc4f1ddbe6b3787d9d462cb6a-4"',
ContentType: 'application/pdf',
Metadata: {} }
Test
Config
Add AWS key and secret to config_template.json file and rename the file to config.json.
Run
Normal test run:
npm test
Coverage info:
npm run cover