{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-repositories-revision-metadata-schema.json", "title": "repositoriesRevisionMetadata", "description": "RevisionMetadata contains metadata for a specific revision in a Git repository. This field is used by the\nSource Hydrator feature which may be removed in the future.", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/harness-applications-api-openapi.yml#/components/schemas/repositoriesRevisionMetadata", "type": "object", "properties": { "author": { "type": "string", "title": "who authored this revision,\ntypically their name and email, e.g. \"John Doe \",\nbut might not match this example" }, "date": { "$ref": "#/$defs/v1Time" }, "tags": { "type": "array", "items": { "type": "string" }, "title": "Tags specifies any tags currently attached to the revision\nFloating tags can move from one revision to another" }, "message": { "type": "string", "title": "Message contains the message associated with the revision, most likely the commit message.\nThe message is truncated to the first newline or 64 characters (which ever comes first)" }, "signatureInfo": { "type": "string", "description": "SignatureInfo contains a hint on the signer if the revision was signed with GPG, and signature verification is enabled." }, "references": { "type": "array", "items": { "$ref": "#/$defs/repositoriesRevisionReference" }, "description": "References contains references to information that's related to this commit in some way." } }, "$defs": { "repositoriesCommitMetadata": { "type": "object", "properties": { "author": { "type": "string", "description": "Author is the author of the commit, i.e. `git show -s --format=%an <%ae>`.\nMust be formatted according to RFC 5322 (mail.Address.String()).\nComes from the Argocd-reference-commit-author trailer." }, "date": { "type": "string", "description": "Date is the date of the commit, formatted as by `git show -s --format=%aI` (RFC 3339).\nIt can also be an empty string if the date is unknown.\nComes from the Argocd-reference-commit-date trailer." }, "subject": { "type": "string", "description": "Subject is the commit message subject line, i.e. `git show -s --format=%s`.\nComes from the Argocd-reference-commit-subject trailer." }, "body": { "type": "string", "description": "Body is the commit message body minus the subject line, i.e. `git show -s --format=%b`.\nComes from the Argocd-reference-commit-body trailer." }, "sha": { "type": "string", "description": "SHA is the commit hash.\nComes from the Argocd-reference-commit-sha trailer." }, "repoUrl": { "type": "string", "description": "RepoURL is the URL of the repository where the commit is located.\nComes from the Argocd-reference-commit-repourl trailer.\nThis value is not validated and should not be used to construct UI links unless it is properly\nvalidated and/or sanitized first." } }, "description": "CommitMetadata contains metadata about a commit that is related in some way to another commit." }, "repositoriesRevisionReference": { "type": "object", "properties": { "commit": { "$ref": "#/$defs/repositoriesCommitMetadata" } }, "description": "RevisionReference contains a reference to a some information that is related in some way to another commit. For now,\nit supports only references to a commit. In the future, it may support other types of references." }, "v1Time": { "type": "object", "properties": { "seconds": { "type": "string", "format": "int64", "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive." }, "nanos": { "type": "integer", "format": "int32", "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive. This field may be limited in precision depending on context." } }, "description": "Time is a wrapper around time.Time which supports correct\nmarshaling to YAML and JSON. Wrappers are provided for many\nof the factory methods that the time package offers.\n\n+protobuf.options.marshal=false\n+protobuf.as=Timestamp\n+protobuf.options.(gogoproto.goproto_stringer)=false" } } }