For the complete documentation index, see llms.txt. This page is also available as Markdown.

5. Setting up project repository

Once you have set up your sfops repository, you need to configure your Salesforce project repository with the necessary variables and secrets.

Variables & Secrets

Navigate to your project repository → SettingsSecrets and variablesActions

GitHub App Authentication

These credentials connect your project repository to the sfops-bot GitHub App:

Variable
Type
Value Type
Example
Comments

SFOPSBOT_APP_ID

Repository Variable

String

418222

The App ID from step 2

SFOPSBOT_APP_PRIVATE_KEY

Repository Secret

String

-----BEGIN RSA...

The private key from step 2

sfops Configuration

Core settings for connecting your project to sfops infrastructure:

Variable
Type
Value Type
Example
Comments

SFOPS_DASHBOARD_REPO

Repository Variable

String

your-org/dev-central

The Dev Central repository for this project

SFOPS_METRICS_PROVIDER

Repository Variable

String

datadog

Metrics provider (datadog, newrelic, or splunk)

BRANCHES

Repository Variable

Array

["main"]

List of branches tracked in DevCentral dashboard (typically just your main/trunk branch)

Issue Tracker Integration (Optional)

If using Jira or other issue tracking:

Variable
Type
Value Type
Example
Comments

SFOPS_ISSUETRACKER_URL_BASE

Repository Variable

String

https://jira.example.com

Base URL of your issue tracker

SFOPS_ISSUETRACKER_WORKITEM_FILTER

Repository Variable

String

(FGK|FFK)-[0-9]{3,4}

Regex pattern for issue IDs

SFOPS_JIRA_USER

Repository Variable

String

username@jira.com

Jira username for integration

SFOPS_JIRA_TOKEN

Repository Secret

String

jira_token_xyz

Jira API token

Salesforce Authentication

Required for deployments and validations:

Variable
Type
Value Type
Example
Comments

DEVHUB_SFDX_AUTH_URL

Repository Secret

String

force://...

SFDX Auth URL of your deployment service account in production

Tip: The DEVHUB_SFDX_AUTH_URL can be obtained by running:

Look for the sfdxAuthUrl field in the output.

Troubleshooting

Docker Pull Errors - "denied" when pulling sfops images

If your workflows fail with errors like:

when trying to pull ghcr.io/YOUR_ORG/sfops:VERSION or ghcr.io/YOUR_ORG/sfops-lite:VERSION, the Docker packages need to be configured for internal organization access.

Solution 1: Configure Package Visibility (Preferred)

After the first successful build in your sfops repository (step 4):

  1. Navigate to your organization's packages: https://github.com/orgs/YOUR_ORG/packages

  2. For both sfops and sfops-lite packages:

    • Click on the package name

    • Go to Package settings

    • In Danger Zone, click Change package visibility

    • Select Internal - Make this package visible to everyone in your organization

    • Type the package name to confirm

    • Click I understand the consequences, change package visibility

Solution 2: Manage Actions Access (If visibility change is disabled)

If you see "Setting is disabled by organization administrators" when trying to change visibility:

  1. Navigate to your organization's packages: https://github.com/orgs/YOUR_ORG/packages

  2. For both sfops and sfops-lite packages:

    • Click on the package name

    • Go to Package settings

    • Find Manage Actions access section

    • Under Actions repository access, click Add Repository

    • Add your project repository (e.g., sf-core)

    • Save the changes

This grants specific repository access to pull the packages even when they remain private.

Last updated

Was this helpful?