CI

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/ci.json

The Continuous Integration supported by the project. The configuration files are found in the repository itself, under a path that depends on the CI system.

type

object

properties

  • type

The type of continuous integration

anyOf

enum

Apache Gump, Azure DevOps Server, Bamboo, Buddy, Buildbot, BuildMaster, CircleCI, Drone, Forgejo Actions, Gitea Actions, GitHub Actions, GitLab, GoCD, Jenkins, OpenMake, Semaphore, TeamCity, tekton, Travis CI, Vexor, Woodpecker CI

type

null

additionalProperties

False

Comment

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/comment.json

Comment associated to a commentable object (i.e. issue, review, etc.). Forge users add a comment to an object to create a non-threaded conversation.

type

object

properties

  • index

Unique identifier of the comment.

type

string

  • poster_id

Unique identifier of the comment author.

type

string

  • created

Creation time.

type

string

format

date-time

  • updated

Last update time.

type

string

format

date-time

  • content

Markdown content of the comment.

type

string

  • reactions

List of reactions.

anyOf

type

array

items

Reaction

type

null

additionalProperties

False

Identities

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/identities.json

Pairs of unique object identifiers (i.e. index in a comment). The first element is the identifier stored in the F3 format, the second element is the identifier allocated by the forge after the object was inserted in a given forge.

type

object

properties

  • pairs

type

array

items

type

string

additionalProperties

False

Issue

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/issue.json

An issue within an issue tracking system, relative to a project.

type

object

properties

  • index

Unique identifier of the issue.

type

string

  • poster_id

Reference to the user who authored the issue.

type

string

  • title

Short description displayed as the title.

type

string

  • content

Description of the issue.

type

string

  • ref

Optional reference (branch) associated with the issue in the project repository.

type

string

  • milestone

Unique identifier of the milestone.

type

string

  • state

An issue is ‘closed’ when it is resolved, ‘open’ otherwise. Issues that do not relate to a topic that needs to be resolved, such as an open conversation, may never be closed.

enum

closed, open

  • is_locked

A locked issue can only be modified by privileged users. It is commonly used for moderation purposes when comments associated with the issue are too heated.

type

boolean

  • created

Creation time.

type

string

format

date-time

  • updated

Last update time.

type

string

format

date-time

  • closed

The last time ‘state’ changed to ‘closed’.

anyOf

type

string

format

date-time

type

null

  • due

Due date.

anyOf

type

string

format

date

type

null

  • labels

List of labels.

anyOf

type

array

items

type

string

type

null

  • reactions

List of reactions.

anyOf

type

array

items

Reaction

type

null

  • assignees

List of assignees.

anyOf

type

array

items

Name of a user assigned to the issue.

type

string

type

null

additionalProperties

False

Label

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/label.json

Label associated to an issue.

type

object

properties

  • index

Unique identifier.

type

string

  • name

Name of the label, unique within the repository.

type

string

  • color

Color code of the label in RGB notation ‘xxx’ or ‘xxxxxx’.

type

string

  • description

Long description.

type

string

  • exclusive

There can only be one label with the prefix found before the first slash (/).

type

boolean

additionalProperties

False

Milestone

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/milestone.json

Milestone relative to a project, for the purpose of grouping objects due to a given date (issues, etc.).

type

object

properties

  • index

Unique identifier.

type

string

  • title

Short description.

type

string

  • description

Long description.

type

string

  • deadline

Deadline after which the milestone is overdue.

type

string

format

date-time

  • created

Creation time.

type

string

format

date-time

  • updated

Last update time.

type

string

format

date-time

  • closed

The last time ‘state’ changed to ‘closed’.

anyOf

type

string

format

date-time

type

null

  • state

A ‘closed’ milestone will not see any activity in the future, otherwise it is ‘open’.

enum

closed, open

additionalProperties

False

Object

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/object.json

Meta information and reference to an opaque content such as an image. The unique identifier is the SHA-256 of the content of the object.

type

object

properties

  • index

Unique identifier.

type

string

  • mime

Mime type of the object.

type

string

  • name

Human readable file name.

type

string

  • description

Description.

type

string

additionalProperties

False

Organization

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/organization.json

A forge organization.

type

object

properties

  • index

Unique identifier of the organization.

type

string

  • name

Unique name of the organization.

type

string

  • full_name

Readable name of the organization.

type

string

additionalProperties

False

Project

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/project.json

A software project contains a code repository, an issue tracker, etc.

type

object

properties

  • index

Unique identifier of the project.

type

string

  • name

Name of the project, relative to the owner.

type

string

  • is_private

True if the visibility of the project is not public.

type

boolean

  • is_mirror

True if it is a mirror of a project residing on another forge.

type

boolean

  • description

Long description of the project.

type

string

  • default_branch

Name of the default branch in the code repository.

type

string

  • repositories

type

array

items

Repository

  • forked

Unique identifier of the project from which this one was forked.

anyOf

type

string

type

null

  • ci

type

array

items

CI

  • archived

True if archived and read only.

type

boolean

  • archived_at

Time of archival.

type

string

format

date-time

  • created

Creation time.

type

string

format

date-time

  • updated

Last update time.

type

string

format

date-time

  • url

URL associated with the project, for instance the project home page.

type

string

  • stars

Number of stars.

type

number

  • has_ci

True if CI is enabled.

type

boolean

  • has_issues

True if the issue tracker is enabled.

type

boolean

  • has_packages

True if the software packages are enabled.

type

boolean

  • has_kanban

True if the kanban is enabled.

type

boolean

  • has_pull_requests

True if pull requests are enabled.

type

boolean

  • has_releases

True if releases are enabled.

type

boolean

  • has_wiki

True if the wiki is enabled.

type

boolean

additionalProperties

False

Pull request

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/pullrequest.json

A pull requests to merge a commit from a ‘head’ that may be another branch in the same repository or a branch in a forked repository.

type

object

properties

  • index

Unique identifier of the pull request.

type

string

  • poster_id

Unique identifier of the user who authored the pull request.

type

string

  • title

Short description displayed as the title.

type

string

  • content

Long description.

type

string

  • milestone

Name of the milestone.

type

string

  • state

A ‘closed’ pull request will not see any activity in the future, otherwise it is ‘open’.

enum

closed, open

  • is_locked

A locked pull request can only be modified by privileged users.

type

boolean

  • created

Creation time.

type

string

format

date-time

  • updated

Last update time.

type

string

format

date-time

  • closed

The last time ‘state’ changed to ‘closed’.

anyOf

type

string

format

date-time

type

null

  • labels

List of labels.

anyOf

type

array

items

type

string

type

null

  • reactions

List of reactions.

anyOf

type

array

items

Reaction

type

null

  • assignees

List of assignees.

anyOf

type

array

items

Name of a user assigned to the issue.

type

string

type

null

  • patch_url

URL from which the patch of the pull request can be retrieved.

type

string

  • merged

True if the pull request was merged.

type

boolean

  • merged_time

The time when the pull request was merged.

anyOf

type

string

format

date-time

type

null

  • merged_commit_sha

The SHA of the merge commit.

anyOf

type

string

type

null

  • head

The changes proposed in the pull request.

anyOf

type

object

type

null

  • base

The branch where the pull request changes in the head are to be merged.

anyOf

type

object

type

null

  • merged_by

Unique identifier of the user who merged the pull request.

type

string

  • due

Due date.

anyOf

type

string

format

date

type

null

  • allow_edit

True when the author of the pull request allows pushing new commits to its branch.

type

boolean

additionalProperties

False

Pull request reference to a commit

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/pullrequestbranch.json

The location of a commit and the repository where it can be found.

type

object

properties

  • ref

Repository reference of the commit (branch, tag, etc.).

type

string

  • sha

SHA of the commit.

type

string

  • repo_name

Name of the project that contains the repository.

type

string

  • owner_name

Name of the user or organization that contains the project.

type

string

additionalProperties

False

Reaction

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/reaction.json

Reaction associated to a comment that is displayed as a single emoji.

type

object

properties

  • index

Unique identifier of the reaction.

type

string

  • user_id

Unique identifier of the user who authored the reaction.

type

string

  • content

Representation of the reaction. The rendering of the reaction depends on the forge displaying it.

type

string

additionalProperties

False

Release

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/release.json

A release is associated with a tag in a repository and consists of a set of files (release assets).

type

object

properties

  • index

Unique identifier of the release.

type

string

  • tag_name

Tag name of the release.

type

string

  • target_commitish

Specifies the commitish value that determines where the tag is created from. Can be any branch or commit SHA. Unused if the tag already exists.

type

string

  • name

The name of the release.

type

string

  • body

Text describing the contents of the release, usually the release notes.

type

string

  • draft

True if the release is a draft.

type

boolean

  • prerelease

True if the release is a pre-release.

type

boolean

  • publisher_id

Unique identifier of the user who authored the release.

type

string

  • publisher_name

Name of the user who authored the release.

type

string

  • publisher_email

Email of the user who authored the release.

type

string

  • assets

List of assets associated with the release.

anyOf

type

array

items

Release asset

type

null

  • created

Creation time.

type

string

format

date-time

  • published

Publication time.

type

string

format

date-time

additionalProperties

False

Release asset

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/releaseasset.json

A file associated with a release. The content of the file is opaque.

type

object

properties

  • index

Unique identifier of the release asset.

type

string

  • name

The name of the release asset.

type

string

  • content_type

The content type of the release asset (application/zip, etc.).

type

string

  • size

Size in bytes of the release asset.

type

number

  • download_count

The number of times the release asset was downloaded.

type

number

  • download_url

The URL from which the release asset can be downloaded.

type

string

  • created

Creation time.

type

string

format

date-time

  • updated

Last update time.

type

string

format

date-time

  • sha256

SHA256 of the cnotent of the asset.

type

string

additionalProperties

False

Repository

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/repository.json

VCS repository relative to a project. The actual content of the repository is found in the sibling ‘repository’ directory.

type

object

properties

  • name

Suffix to add to the clone URL of the project to access the repository.

type

string

  • vcs

The type of the repository, defaults to ‘git’

anyOf

enum

git, hg, bazaar, darcs, fossil, svn

type

null

additionalProperties

False

Review

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/release.json

A set of review comments on a pull/merge request.

type

object

properties

  • index

Unique identifier of the review.

type

string

  • reviewer_id

Unique identifer of review author.

type

string

  • official

True if a positive review counts to reach the required threshold.

anyOf

type

boolean

type

null

  • commit_id

SHA of the commit targeted by the review.

type

string

  • content

Cover message of the review.

type

string

  • created_at

Creation time.

type

string

format

date-time

  • state

State of the review.

enum

PENDING, APPROVED, CHANGES_REQUESTED, COMMENTED

  • dissmissed

True if the review was dismissed.

anyOf

type

boolean

type

null

  • stale

True if the review is stale because the pull request content changed after it was published.

anyOf

type

boolean

type

null

additionalProperties

False

Review comment

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/reviewcomment.json

A comment in the context of a review.

type

object

properties

  • index

Unique identifier of the review comment.

type

string

  • in_reply_to

Unique identifier of the review comment replied to.

type

string

  • content

The text of the review comment.

type

string

  • tree_path

The relative path to the file that necessitates a comment.

type

string

  • diff_hunk

The hunk being commented on, which is the same as the patch only in a different format.

type

string

  • position

Equals the number of lines down from the first ‘@@’ hunk header in the file you want to add a comment. The line just below the ‘@@’ line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.

type

number

  • line

The line number of the comment in the tree_path.

type

number

  • commit_id

The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the position.

type

string

  • poster_id

Unique identifier of the user who authored the comment.

type

string

  • reactions

List of reactions.

anyOf

type

array

items

Reaction

type

null

  • created_at

Creation time.

type

string

format

date-time

  • updated_at

Last update time.

type

string

format

date-time

  • resolver

Unique identifier of the user who resolved the comment.

type

string

additionalProperties

False

Topic

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/topic.json

A category associated with a project. There can be multiple topics/categories for a given project.

type

object

properties

  • index

Unique identifier.

type

string

  • name

The name of the category the project belongs to.

type

string

additionalProperties

False

User

https://lab.forgefriends.org/friendlyforgeformat/f3-schemas/-/blob/v1.0/user.json

A forge user.

type

object

properties

  • index

Unique identifier of the user.

type

string

  • name

User readable name of the user.

type

string

  • email

Mail of the user.

type

string

  • username

Unique name of the user.

type

string

  • password

Password of the user.

type

string

  • admin

True if the user has administrative permissions on the forge.

type

boolean

additionalProperties

False