I know there is a feature where i can download a pipeline log from the browser manually, but does anyone know if this can be done programmatically? I am looking into the feasibility of exporting the pipeline log from bitbucket into a AWS S3 bucket within the pipeline itself or as part of a hook or separate process.
Additionally is there any information about retention of pipeline logs? I have quite a bit of history built up, wondering if there is any document retention period.
Hi @Jeremy Robson ,
to get logs programmatically, you can use Bitbucket Pipes Toolkit 's
helpers method BitbucketApiRepositoriesPipelines.get_logs_from_step.
Note! This functionality under development and can be changed: get_logs_from_step.
Prerequisites:
Usage example:
# python3.7
from bitbucket_pipes_toolkit.helpers import BitbucketApiRepositoriesPipelines
workspace = 'your-workspace'
repo_slug = 'your-repo-slug'
headers = {'Content-Type': 'application/json'}
bb_api = BitbucketApiRepositoriesPipelines(user='BITBUCKET_USERNAME', password='APP_PASSWORD', headers=headers)
build_number = bb_api.get_last_build_number(workspace, repo_slug)
steps_uuid = bb_api.get_steps_uuid(workspace, repo_slug, build_number).get(pipeline_step_name)
logs = bb_api.get_logs_from_step(workspace, repo_slug, build_number, steps_uuid)
It's a good point to write your own custom pipe :).
Please, follow the blog post by @Alexander Zhukov Refactoring your Bitbucket Pipelines with custom Pipes or guide How to write a pipe for Bitbucket Pipelines.
Also, you can mix pipes in your pipeline and upload logs with the aws-s3-deploy pipe.
Cheers,
Alex
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.