---
title: "Workflows.PublishRelease"
description: "Publish an immutable release for a workflow."
image: "https://tilebox.com/images/tilebox-docs-social-preview.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://tilebox.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows.PublishRelease

import { Fragment } from "astro/jsx-runtime";

import ApiReference from "@docs/components/ApiReference.astro";

import ParamField from "@docs/components/ParamField.astro";

```go
func (workflowClient) PublishRelease(
    ctx context.Context,
    workflowSlug string,
    artifactID uuid.UUID,
    content *workflows.ReleaseContent,
) (*workflows.WorkflowRelease, error)
```

Publish an immutable release for a workflow.

## Parameters

**workflowSlug**

type: string

required: true

The workflow slug.
**artifactID**

type: uuid.UUID

required: true

The ID of the release artifact.
**content**

type: *workflows.ReleaseContent

required: true

The files, task identifiers, runner object path, and optional command override included in the release.

## Returns

The published workflow release, including any clusters where the release is deployed.

<h2 id="request-example">Usage example</h2>

```go
release, err := client.Workflows.PublishRelease(ctx,
    workflow.Slug,
    artifactID,
    &workflows.ReleaseContent{
        Fingerprint:      fingerprint,
        Tasks: []workflows.TaskIdentifier{
            workflows.NewTaskIdentifier(
                "tilebox.com/tasks/ProcessScene",
                "v1.0",
            ),
        },
        RunnerObjectPath: "worker.runner",
    },
)
```

Source: https://tilebox.com/docs/api-reference/go/workflows/Workflows.PublishRelease/index.mdx
