Repository
Creates a GitHub check run on a commit with optional code annotations. Useful for reporting CI/CD results, code quality checks, or custom validations. Annotations can highlight specific lines in files with issues.
Repository identifier in the format owner/repo
Commit SHA to create the check for. For PRs, this should be the head commit SHA.
6dcb09b5b57875f334f61aebed695e2e4193db5e
Pull request number. If provided, the check will be associated with this PR.
123
Title of the check run
sfp Metadata Duplicate Check
Summary of the check results
Additional details about the check run
Details URL that will appear in the GitHub UI
https://your-server.com/check-details/123
The check run has been successfully created
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"
}
The check run has been successfully created
{
"id": 1,
"html_url": "text",
"conclusion": "success",
"status": "completed"
}
Creates a new GitHub issue in the specified repository. Supports setting labels, assignees, and milestones. Useful for automated issue creation from CI/CD pipelines or error tracking systems.
Repository identifier in the format owner/repo
Issue title
Issue body/description in markdown format
Labels to apply to the issue
GitHub usernames to assign to the issue
Milestone number or title
The issue has been successfully created
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"
}
The issue has been successfully created
{
"id": 1,
"number": 1,
"html_url": "text",
"state": "open",
"title": "text",
"body": "text",
"labels": [
"text"
],
"assignees": [
"text"
]
}
Updates an existing GitHub issue including title, body, state, labels, assignees, and milestone. Can be used to close issues, update their status, or modify metadata. Only the fields provided in the request body will be updated.
Repository identifier in the format owner/repo
New title for the issue
New body/description in markdown format
New state for the issue
New labels for the issue
GitHub usernames to assign to the issue
New milestone number or title
The issue has been successfully updated
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"
}
The issue has been successfully updated
{
"id": 1,
"number": 1,
"html_url": "text",
"state": "open",
"title": "text",
"body": "text",
"labels": [
"text"
],
"assignees": [
"text"
]
}
Closes a GitHub issue with an optional comment. This is a convenience endpoint that updates the issue state to closed and optionally adds a closing comment in a single operation.
Repository identifier in the format owner/repo
Optional comment to add when closing the issue
The issue has been successfully closed
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"
}
The issue has been successfully closed
{
"id": 1,
"number": 1,
"state": "closed"
}
Lists pull requests with optional filtering by username and state. Supports pagination. Can filter PRs created by or assigned to a specific user. Returns basic PR information including title, state, and branch details.
Repository identifier in format owner/repo
Filter pull requests by GitHub username
State of pull requests to return (default: open)
Page number (1-based, default: 1)
Number of results per page (default: 30, max: 100)
List of pull requests
GET /sfp/api/repository/pull-requests?repositoryIdentifier=text HTTP/1.1
Host:
Authorization: Bearer JWT
Accept: */*
List of pull requests
[]
Creates a new pull request between two branches. Supports draft pull requests. The source branch must have commits ahead of the target branch. Useful for automated PR creation in CI/CD workflows.
Repository identifier in the format owner/repo
octocat/Hello-World
The source branch containing the changes
feature-branch
The target branch to merge changes into
main
Title of the pull request
Add new feature
Description of the pull request in markdown format
This PR implements the following: - Feature A - Feature B
Whether to create as a draft pull request
false
The pull request has been successfully created
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
}
The pull request has been successfully created
{
"id": 1,
"number": 1,
"html_url": "text",
"state": "open",
"title": "text",
"body": "text",
"draft": true
}
Closes an open pull request without merging. The PR can be reopened later if needed. This action preserves all PR history including comments and reviews.
Repository identifier in the format owner/repo
flxbl-io/sf-core
The pull request has been successfully closed
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/sf-core"
}
The pull request has been successfully closed
{
"id": 1,
"number": 1,
"state": "closed"
}
Reopens a previously closed pull request. The PR must not have been merged. All previous history including comments and reviews is preserved.
Repository identifier in the format owner/repo
flxbl-io/sf-core
The pull request has been successfully reopened
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/sf-core"
}
The pull request has been successfully reopened
{
"id": 1,
"number": 1,
"state": "open"
}
Generates a scoped authentication token that is only valid for the specified repository. For GitHub, this returns an installation token scoped to the repository. The token is cached for 50 minutes to avoid unnecessary API calls. For other providers, returns appropriate authentication tokens. This endpoint requires an application token and the repository must be registered as a project.
Repository identifier in format owner/repo
flxbl-io/sf-core
Authentication token generated successfully
Forbidden - User authentication not allowed, application token required
Repository not found or not registered as a project
GET /sfp/api/repository/auth-token?repositoryIdentifier=flxbl-io%2Fsf-core HTTP/1.1
Host:
Authorization: Bearer JWT
Accept: */*
{
"token": "text",
"expiresAt": "2025-08-14T14:43:22.888Z",
"type": "installation",
"provider": "github",
"scope": "text"
}
Was this helpful?