diff --git a/lexicons/org/tangled/repo/review/patch.json b/lexicons/org/tangled/repo/review/patch.json new file mode 100644 index 000000000..c8b9f1b4a --- /dev/null +++ b/lexicons/org/tangled/repo/review/patch.json @@ -0,0 +1,30 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.review.patch", + "defs": { + "main": { + "type": "record", + "key": "any", + "description": "Immutable patch attached to the ticket. Record-key must be CID of this record.", + "record": { + "type": "object", + "required": [ + "ticket", + "base", + "head", + "createdAt" + ], + "properties": { + "ticket": { + "type": "string", + "format": "record-key", + "description": "ticket-id" + }, + "base": { "type": "ref", "ref": "org.tangled.git.object" }, + "head": { "type": "ref", "ref": "org.tangled.git.object" }, + "createdAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/org/tangled/repo/review/unspecced/defs.json b/lexicons/org/tangled/repo/review/unspecced/defs.json new file mode 100644 index 000000000..1e8bad889 --- /dev/null +++ b/lexicons/org/tangled/repo/review/unspecced/defs.json @@ -0,0 +1,15 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.review.unspecced.defs", + "defs": { + "reviewState": { + "type": "string", + "knownValues": [ + "commented", + "approved", + "changes-required", + "dismissed" + ] + } + } +} diff --git a/lexicons/org/tangled/repo/review/unspecced/round.json b/lexicons/org/tangled/repo/review/unspecced/round.json new file mode 100644 index 000000000..26b0d0caf --- /dev/null +++ b/lexicons/org/tangled/repo/review/unspecced/round.json @@ -0,0 +1,43 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.review.unspecced.round", + "defs": { + "main": { + "type": "record", + "key": "tid", + "description": "Review round created by a reviewer.", + "record": { + "type": "object", + "required": [ + "subject", + "commit", + "state", + "createdAt" + ], + "properties": { + "subject": { + "type": "string", + "format": "record-key", + "description": "ticket-id", + }, + "commit": { + "type": "ref", + "ref": "org.tangled.git.object", + "description": "ID of commit that is getting reviewed." + }, + "state": { + "type": "ref", + "ref": "org.tangled.review.unspecced.defs", + "description": "The reviewed state of that commit. This is one and only meaningful content of this record." + }, + "labels": { + "type": "ref", + "description": "Self-label values for this record. Most common use-case is 'bot'.", + "ref": "com.atproto.label.defs#selfLabels" + }, + "createdAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/org/tangled/repo/track/defs.json b/lexicons/org/tangled/repo/track/defs.json new file mode 100644 index 000000000..6a8c8936e --- /dev/null +++ b/lexicons/org/tangled/repo/track/defs.json @@ -0,0 +1,14 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.track.defs", + "defs": { + "ticketState": { + "type": "string", + "enum": [ + "open", + "closed", + "merged" + ] + } + } +} diff --git a/lexicons/org/tangled/repo/track/ticket.json b/lexicons/org/tangled/repo/track/ticket.json new file mode 100644 index 000000000..949e4187e --- /dev/null +++ b/lexicons/org/tangled/repo/track/ticket.json @@ -0,0 +1,54 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.track.ticket", + "defs": { + "main": { + "type": "record", + "key": "any", + "record": { + "type": "object", + "required": [ + "title", + "state", + "createdAt" + ], + "properties": { + "title": { + "type": "union", + "refs": [ + "org.tangled.markup.markdown#inline" + ] + }, + "body": { + "type": "union", + "ref": [ + "org.tangled.markup.markdown" + ] + }, + "state": { + "type": "ref", + "ref": "org.tangled.repo.track.defs#ticketState" + }, + "labels": { + "type": "ref", + "description": "Self-label values for this record. Most common use-case is 'bot'.", + "ref": "com.atproto.label.defs#selfLabels" + }, + "tangledLabels": { + "type": "array", + "items": { + "type": "union", + "refs": ["org.tangled.label.defs#labelToken"] + } + }, + "createdAt": { "type": "string", "format": "datetime" }, + "targetBranch": { + "type": "string", + "description": "Target branch name. Must not include the `refs/heads/` prefix.", + "maxLength": 244 + } + } + } + } + } +} diff --git a/lexicons/org/tangled/repo/track/unspecced/milestone.json b/lexicons/org/tangled/repo/track/unspecced/milestone.json new file mode 100644 index 000000000..6de814e73 --- /dev/null +++ b/lexicons/org/tangled/repo/track/unspecced/milestone.json @@ -0,0 +1,15 @@ +{ + "lexicon": 1, + "id": "org.tangled.repo.track.unspecced.milestone", + "defs": { + "main": { + "type": "record", + "key": "tid", + "description": "TBD", + "record": { + "type": "object", + "properties": {} + } + } + } +}