flxbl docs
slackGitHub
  • flxbl
  • sfp
  • sfops
  • Overview
  • Getting Started
    • Pre-Requisites
    • Install sfp
    • Configure Your Project
    • Build & Install an Artifact
    • Congratulations!
    • Docker Images
      • sfp-pro
  • CONCEPTS
    • Overview
    • SF CLI vs. SFP
    • Domains
    • Packages
    • Supported package types
      • Unlocked Packages
      • Org-Dependent Unlocked Packages
      • Source Packages
      • Diff Package
      • Data Packages
    • Artifacts
    • Package vs Artifacts
    • Identifying types of a package
    • Dependency management
    • Transitive Dependency Resolution
    • Destructive Changes
  • configuring a project
    • Project structure
    • Setup Salesforce Org
    • Creating a package
    • Defining a domain
    • Release Config
  • BUILDING ARTIFACTS
    • Overview
    • Determining whether an artifact need to be built
    • Building a domain
    • Building an artifact for package individually
    • Limiting artifacts to be built
    • Controlling aspects of the build command
      • Ignoring packages from being built
      • Building a collection of packages together
      • Selective ignoring of components from being built
      • Use of multiple config file in build command
    • Configuring installation behaviour of a package
      • Always deploy a package
      • Skip Install on Certain Orgs
      • Optimized Installation
      • Pre/Post Deployment Script
      • Reconciling Profiles
      • PermissionSet Assignment
      • Updating Picklist
      • Entitlement Deployment Helper
      • Field History & Feed Tracking
      • Aliasfy Packages
        • Aliasfy Packages - Merge Mode
      • State management for Flows
  • Installing an artifact
    • Overview
    • Controlling Aspects of Installation
    • Applying attributes of an artifact
    • BuiltIn Deployment Helpers
      • PermissionSet Group Awaiter
  • publishing and fetching artifacts
    • Publish Artifact
    • Fetching Artifacts
  • Releasing artifacts
    • Overview
    • Release Definitions
    • Generating a release definition
    • Generating a changelog
  • Validating a change
    • Overview
    • Different types of validation
    • Limiting Validation by Domain
    • Controlling validation attributes of a package
      • Skip Testing
      • Skip Coverage Validation
      • Test Synchronously
  • Analysing a Project
    • Overview
    • Duplicate Check
  • Environment Management
    • Pools
      • Scratch Org Pools
        • Defining a pool
        • Setting up your Salesforce Org for Scratch Org Pools
        • Pool Operations
          • Preparing pools
            • Handling dependencies
          • List Scratch Orgs in a pool
          • Fetch a scratch org
          • Delete Pools
      • Sandbox Pools
        • Sandbox Pool Initialization
        • Fetch a Sandbox from Pool
        • Monitor Sandbox Pools
    • Review Environments
      • Commands
        • Fetch a Review Environment
        • Check Review Environment Status
        • Extend a Review Environment
        • Transition Review Environment Status
        • Unassign a Review Environment
      • Considerations
    • Sandbox
      • Create Sandbox
      • Delete Sandbox
      • List Sandbox
      • Login to Sandbox
      • Update Sandbox
  • Development
    • Development Environment
    • Pull Changes from your org
    • Push Changes to your org
    • Dependency Management
      • Expand Dependencies
      • Shrink Dependencies
      • Explain Dependencies
  • Running sfp as a server
    • Introduction
    • sfp-pro-server: Architecture Overview (Alpha)
      • Task Processing System
      • Authentication & Security Architecture
      • Authentication System: Deep Dive
      • Database Architecture
      • Network Architecture and Integration System
      • Integration Architecture: Building Extensions
    • Installing SFP Server
    • Initializing SFP server
  • API Reference
    • Health
    • Authentication
    • Token
    • Salesforce
    • Team
    • Users
    • Tasks
    • Key Value
    • Repository
    • WebHooks
  • Metrics
    • Available Metrics
    • Custom Metrics
    • Configuring Collectors
      • Datadog
      • Splunk
      • New Relic
      • StatsD
  • Helpers
    • Managing Shared Resources
  • Command Guide
    • Core
      • Build
      • Quickbuild
      • Publish
      • Install
      • Release
    • Advanced
      • Validate
      • Artifacts
      • Changelog
      • Impact
      • Pool
      • Metrics
      • Repo
    • Utilities
      • Apex Tests
      • Flow
      • Dependency
      • Profile
  • FAQs
    • Common Errors
      • Org Shapes
      • Troubleshooting Unlocked Packages Build Failure Due to Code Coverage
    • Common Questions
      • Email Templates Deployment: Classic vs Lightning
      • Dealing with Long Build Times in Salesforce
      • Standard ValueSets and unlocked packages
      • Common Issues encountered with aliasfied packages
      • API Version
      • Understanding alwaysDeploy and skipIfAlreadyInstalled in Deployment Pipelines
    • sfp versioning and upgrade Process
  • References
  • Legal
    • Terms of Service for sfp
    • Terms of Service for 'sfp-pro' Software
  • LLMs.txt
Powered by GitBook
On this page
  1. API Reference

Repository

Last updated 1 day ago

Handle incoming webhook events

post
Header parameters
x-github-eventstringRequired
x-github-deliverystringRequired
x-hub-signature-256stringRequired
Responses
200
The webhook event has been processed successfully
post
POST /sfp/api/repository/webhook HTTP/1.1
Host: 
x-github-event: text
x-github-delivery: text
x-hub-signature-256: text
Accept: */*
200

The webhook event has been processed successfully

No content

Get webhooks for a repository

get
Authorizations
Path parameters
repositoryIdentifierstringRequired
Responses
200
List of webhooks for the repository
application/json
get
GET /sfp/api/repository/webhook/{repositoryIdentifier} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
200

List of webhooks for the repository

[]

Delete a webhook for a repository

delete
Authorizations
Path parameters
repositoryIdentifierstringRequired
Responses
204
The webhook has been successfully deleted
delete
DELETE /sfp/api/repository/webhook/{repositoryIdentifier} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
204

The webhook has been successfully deleted

No content

List open pull requests in a repository

get
Authorizations
Query parameters
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

usernamestringOptional

Filter pull requests by GitHub username

statestring ยท enumOptional

State of pull requests to return (default: open)

Possible values:
pagenumberOptional

Page number (1-based, default: 1)

per_pagenumberOptional

Number of results per page (default: 30, max: 100)

Responses
200
List of pull requests
application/json
get
GET /sfp/api/repository/pull-requests?repositoryIdentifier=text HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
200

List of pull requests

[]
  • POSTCreate an issue in a repository
  • POSTCreate a webhook for a repository
  • POSTUpdate a webhook for a repository
  • POSTCreate a check run for a repository
  • POSTCreate a pull request in a repository
  • POSTClose an issue
  • POSTHandle incoming webhook events
  • GETGet webhooks for a repository
  • PATCHReopen a pull request
  • DELETEDelete a webhook for a repository
  • GETList open pull requests in a repository
  • PATCHUpdate an existing issue
  • PATCHClose a pull request

Create an issue in a repository

post
Authorizations
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

titlestringRequired

Issue title

bodystringRequired

Issue body/description in markdown format

labelsstring[]Optional

Labels to apply to the issue

assigneesstring[]Optional

GitHub usernames to assign to the issue

milestonestringOptional

Milestone number or title

Responses
201
The issue has been successfully created
application/json
post
POST /sfp/api/repository/issues HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 118

{
  "repositoryIdentifier": "text",
  "title": "text",
  "body": "text",
  "labels": [
    "text"
  ],
  "assignees": [
    "text"
  ],
  "milestone": "text"
}
201

The issue has been successfully created

{
  "id": 1,
  "number": 1,
  "html_url": "text",
  "state": "open",
  "title": "text",
  "body": "text",
  "labels": [
    "text"
  ],
  "assignees": [
    "text"
  ]
}

Create a webhook for a repository

post
Authorizations
Body
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: octocat/hello-world
webhookUrlstringRequired

URL where GitHub should send webhook events

Example: https://example.com/webhook
Responses
201
The webhook has been successfully created
application/json
post
POST /sfp/api/repository/webhook/create HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "repositoryIdentifier": "octocat/hello-world",
  "webhookUrl": "https://example.com/webhook"
}
201

The webhook has been successfully created

{
  "id": 1,
  "url": "text",
  "events": [
    "text"
  ],
  "active": true,
  "secret": "text"
}

Update a webhook for a repository

post
Authorizations
Body
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: octocat/hello-world
webhookUrlstringRequired

URL where GitHub should send webhook events

Example: https://example.com/webhook
Responses
200
The webhook has been successfully updated
application/json
post
POST /sfp/api/repository/webhook/update HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "repositoryIdentifier": "octocat/hello-world",
  "webhookUrl": "https://example.com/webhook"
}
200

The webhook has been successfully updated

{
  "id": 1,
  "url": "text",
  "events": [
    "text"
  ],
  "active": true
}

Create a check run for a repository

post
Authorizations
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

shastringRequired

Commit SHA to create the check for. For PRs, this should be the head commit SHA.

Example: 6dcb09b5b57875f334f61aebed695e2e4193db5e
pull_numbernumberOptional

Pull request number. If provided, the check will be associated with this PR.

Example: 123
titlestringRequired

Title of the check run

Example: sfp Metadata Duplicate Check
summarystringRequired

Summary of the check results

textstringOptional

Additional details about the check run

details_urlstringOptional

Details URL that will appear in the GitHub UI

Example: https://your-server.com/check-details/123
Responses
201
The check run has been successfully created
application/json
post
POST /sfp/api/repository/checks HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 347

{
  "repositoryIdentifier": "text",
  "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
  "pull_number": 123,
  "title": "sfp Metadata Duplicate Check",
  "summary": "text",
  "text": "text",
  "annotations": [
    {
      "path": "text",
      "start_line": 1,
      "end_line": 1,
      "annotation_level": "warning",
      "message": "text",
      "title": "text"
    }
  ],
  "details_url": "https://your-server.com/check-details/123"
}
201

The check run has been successfully created

{
  "id": 1,
  "html_url": "text",
  "conclusion": "success",
  "status": "completed"
}

Create a pull request in a repository

post
Authorizations
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

Example: octocat/Hello-World
sourceBranchstringRequired

The source branch containing the changes

Example: feature-branch
targetBranchstringRequired

The target branch to merge changes into

Example: main
titlestringRequired

Title of the pull request

Example: Add new feature
descriptionstringOptional

Description of the pull request in markdown format

Example: This PR implements the following: - Feature A - Feature B
draftbooleanOptional

Whether to create as a draft pull request

Default: false
Responses
201
The pull request has been successfully created
application/json
post
POST /sfp/api/repository/pull-requests HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 216

{
  "repositoryIdentifier": "octocat/Hello-World",
  "sourceBranch": "feature-branch",
  "targetBranch": "main",
  "title": "Add new feature",
  "description": "This PR implements the following:\n- Feature A\n- Feature B",
  "draft": false
}
201

The pull request has been successfully created

{
  "id": 1,
  "number": 1,
  "html_url": "text",
  "state": "open",
  "title": "text",
  "body": "text",
  "draft": true
}

Close an issue

post
Authorizations
Path parameters
issue_numbernumberRequired
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

commentstringOptional

Optional comment to add when closing the issue

Responses
200
The issue has been successfully closed
application/json
post
POST /sfp/api/repository/issues/{issue_number}/close HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "repositoryIdentifier": "text",
  "comment": "text"
}
200

The issue has been successfully closed

{
  "id": 1,
  "number": 1,
  "state": "closed"
}

Reopen a pull request

patch
Authorizations
Path parameters
pull_numbernumberRequired
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

Example: flxbl-io/sfp-pro
Responses
200
The pull request has been successfully reopened
application/json
patch
PATCH /sfp/api/repository/pull-requests/{pull_number}/reopen HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "repositoryIdentifier": "flxbl-io/sfp-pro"
}
200

The pull request has been successfully reopened

{
  "id": 1,
  "number": 1,
  "state": "open"
}

Update an existing issue

patch
Authorizations
Path parameters
issue_numbernumberRequired
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

titlestringOptional

New title for the issue

bodystringOptional

New body/description in markdown format

statestring ยท enumOptional

New state for the issue

Possible values:
labelsstring[]Optional

New labels for the issue

assigneesstring[]Optional

GitHub usernames to assign to the issue

milestonestringOptional

New milestone number or title

Responses
200
The issue has been successfully updated
application/json
patch
PATCH /sfp/api/repository/issues/{issue_number} HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 133

{
  "repositoryIdentifier": "text",
  "title": "text",
  "body": "text",
  "state": "open",
  "labels": [
    "text"
  ],
  "assignees": [
    "text"
  ],
  "milestone": "text"
}
200

The issue has been successfully updated

{
  "id": 1,
  "number": 1,
  "html_url": "text",
  "state": "open",
  "title": "text",
  "body": "text",
  "labels": [
    "text"
  ],
  "assignees": [
    "text"
  ]
}

Close a pull request

patch
Authorizations
Path parameters
pull_numbernumberRequired
Body
repositoryIdentifierstringRequired

Repository identifier in the format owner/repo

Example: flxbl-io/sfp-pro
Responses
200
The pull request has been successfully closed
application/json
patch
PATCH /sfp/api/repository/pull-requests/{pull_number}/close HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "repositoryIdentifier": "flxbl-io/sfp-pro"
}
200

The pull request has been successfully closed

{
  "id": 1,
  "number": 1,
  "state": "closed"
}