Epic - BredaUniversityGames/JenkinsLib GitHub Wiki

epic.deploy()

Deploys your build to the Epic Games Store via BuildPatchTool.

Usage

stages {
    perforce.sync()
    ue5.build()
    epic.deploy()
    discord.alert()
}

Prerequisites

  • BuildPatchTool installed on the build agent
  • Epic Games Store developer account with product/artifact configured
  • Epic client credentials stored in Jenkins

Parameters

Parameter Default Description
EPIC_BPT_PATH (empty) Path to BuildPatchTool.exe
EPIC_ORG_ID (empty) Epic organization ID
EPIC_PRODUCT_ID (empty) Epic product ID
EPIC_ARTIFACT_ID (empty) Epic artifact ID
EPIC_CLIENT_ID (empty) Epic client ID
EPIC_CLIENT_SECRET_ID (empty) Jenkins credential ID for Epic client secret

Credential Setup

  1. Get your client ID and secret from the Epic Developer Portal
  2. Navigate to your team's folder in Jenkins
  3. Credentials > Add Credentials
  4. Kind: Secret text
  5. Secret: paste your Epic client secret
  6. ID: e.g., epic-myproject

The client ID is not sensitive and is passed as a plain parameter (EPIC_CLIENT_ID). Only the client secret needs a credential.

How It Works

  1. Locates the platform-specific build output directory
  2. Invokes BuildPatchTool in UploadBinary mode
  3. Generates a build version string from the job name and build number
  4. Uploads to the specified organization/product/artifact

Finding Epic IDs

In the Epic Developer Portal:

  • Organization ID: Settings > Organization
  • Product ID: Your product's dashboard URL or settings
  • Artifact ID: Product > Artifacts
  • Client ID/Secret: Product > Game Services > Clients
⚠️ **GitHub.com Fallback** ⚠️