GitHub Action: Register a build artifact in the CloudBees platform

2 minute read
On this page

Use this GitHub Action (GHA) for artifact traceability: Inform the CloudBees platform that an artifact version has been created, and report any build artifact data generated by a GHA workflow run.

This action is available on the GitHub marketplace.

To learn more about working with artifacts in the platform, refer to the build artifacts documentation.

Prerequisites

Set up the CloudBees platform and GHA to work together, providing key features of the platform to GHA workflows. Refer to Getting started for more information.

Inputs

Table 1. Input details
Input name Data type Required? Description

cloudbees-pat

String

Yes

name

String

Yes

The name of the artifact to send to the CloudBees platform for artifact traceability purposes.

version

String

Yes

The version of the artifact to send to the CloudBees platform for artifact traceability purposes.

url

String

Yes

The URL where the artifact version can be pulled for deployment.

cloudbees-url

String

No

The CloudBees platform URL. The default value is "https://api.cloudbees.io".

digest

String

No

The artifact digest that uniquely identifies the artifact.

type

String

No

The type of artifact, such as Docker or Maven.

Usage examples

The following is a basic example of using the v2 action:

steps: - name: register-artifact-step uses: cloudbees-io-gha/register-build-artifact@v2 with: cloudbees-pat: ${{ secrets.CloudBees-platform-PAT }} name: my-artifact version: 1.0.0 url: "https://my-artifact-url.com"

The following example specifies the artifact digest:

steps: - name: register-artifact-step-digest uses: cloudbees-io-gha/register-build-artifact@v2 with: cloudbees-url: "https://api.cloudbees.io" cloudbees-pat: ${{ secrets.CloudBees-platform-PAT }} name: my-Docker-artifact version: 1.0.0 url: "https://hub.docker.com/repository/docker/example" digest: "sha256:abcdef1234567890" type: "Docker"

Full workflow and run example

The following GHA workflow example uses version v2 of this action. Running this workflow creates an artifact that is reported to the platform, and the artifact is shown as published by the GHA workflow.

Example GHA workflow YAML file
name: GHA Workflow on: workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Compile Code run: echo "Compiling..." - name: Produce Binary run: sleep 10 - name: Push binary run: echo "Pushing Binary to ECR..." - name: Register Build Artifacts in Cloudbees Platform uses: cloudbees-io-gha/register-build-artifact@v2 id: go-action with: name: "gha-artifact-test" version: 1.0.0 url: "docker.io/example:latest" digest: "sha256:1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr" type: "docker" cloudbees-url: "https://api.cloudbees.io" cloudbees-pat: ${{ secrets.CBP_PAT }} deploy: runs-on: ubuntu-latest needs: [build] # Depends on 'build' job steps: - name: Checkout to Prepare Manifest uses: actions/checkout@v3 - name: Trigger Deployment run: echo "Invoking CBP Deploy Workflow..."

After the run has completed, the artifact information is displayed in both Components  Artifacts and Run details  Build artifacts in the CloudBees platform. The artifact is shown to be published by the GHA workflow.

Artifact reported to platform
Figure 1. Artifact information in Components  Artifacts