groups: - id: registry.vcs.repository type: attribute_group brief: > This group defines the attributes for [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). attributes: - id: vcs.repository.url.full type: string stability: experimental brief: > The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. examples: [ "https://github.com/opentelemetry/open-telemetry-collector-contrib", "https://gitlab.com/my-org/my-project/my-projects-project/repo", ] - id: vcs.repository.ref.name type: string stability: experimental brief: > The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. examples: ["my-feature-branch", "tag-1-test"] - id: vcs.repository.ref.type type: members: - id: branch value: branch brief: "[branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch)" stability: experimental - id: tag value: tag brief: "[tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag)" stability: experimental stability: experimental brief: > The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. examples: ["branch", "tag"] - id: vcs.repository.ref.revision type: string stability: experimental brief: > The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. note: | The revision can be a full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change to a ref within a repository pointing to a commit [commit](https://git-scm.com/docs/git-commit) object. It does not necessarily have to be a hash; it can simply define a [revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) which is an integer that is monotonically increasing. In cases where it is identical to the `ref.name`, it SHOULD still be included. It is up to the implementer to decide which value to set as the revision based on the VCS system and situational context. examples: [ "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc", "main", "123", "HEAD", ] - id: vcs.repository.change.title type: string stability: experimental brief: > The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. examples: [ "Fixes broken thing", "feat: add my new feature", "[chore] update dependency", ] - id: vcs.repository.change.id type: string stability: experimental brief: > The ID of the change (pull request/merge request) if applicable. This is usually a unique (within repository) identifier generated by the VCS system. examples: ["123"]