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

name

String

Yes

The name 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.

version

String

Yes

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

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.

label

String

No

The list of labels for the artifact.

Outputs

Table 2. Output details
Output name Data type Description

cbp_artifact_id

String

The identifier of the artifact sent to the CloudBees platform for artifact traceability purposes.

This action uses GitHub OIDC authentication to securely communicate with the CloudBees platform. Be sure to set permissions to id-token: write in your workflow.

Usage examples

The following is a basic example of using the action:

permissions: id-token: write contents: read steps: - name: register-artifact-step uses: cloudbees-io-gha/register-build-artifact@v3 with: name: my-artifact url: "https://my-artifact-url.com" version: 1.0.0

The following example specifies the artifact label:

permissions: id-token: write contents: read steps: - name: register-artifact-step-digest uses: cloudbees-io-gha/register-build-artifact@v3 with: name: my-Docker-artifact version: 1.0.0 url: "https://hub.docker.com/repository/docker/example" digest: "sha256:abcdef1234567890" type: "Docker" label: "staging,prod"

Full workflow and run example

The following GHA workflow example uses version v3 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 permissions: id-token: write contents: read 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@v3 id: go-action with: name: "gha-artifact-test" version: 1.0.0 url: "docker.io/example:latest" cloudbees-url: "https://api.cloudbees.io" digest: "sha256:1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr" label: "For testing" type: "docker" - name: Registered Build ArtifactId run: echo 'Registered Build ArtifactId ${{ steps.go-action.outputs.cbp_artifact_id }}' 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