Headlessly

Projects

Project, Issue, Comment — work and collaboration.

Build features, fix bugs, ship releases, track everything.

Project

Container for organized work.

import { Noun } from 'digital-objects'

export const Project = Noun('Project', {
  name: 'string!',
  slug: 'string##',
  description: 'string',
  organization: '-> Organization',
  status: 'Active | Archived | Completed',
  visibility: 'Public | Private',
  owner: '-> Contact',
  startDate: 'date',
  targetDate: 'date',
  issues: '<- Issue.project[]',
  tags: 'string',
  archive: 'Archived',
  complete: 'Completed',
})
VerbEventDescription
archiveArchivedArchive for reference
completeCompletedMark all work done

Issue

Unit of work — bugs, features, tasks, epics.

export const Issue = Noun('Issue', {
  title: 'string!',
  description: 'string',
  status: 'Open | InProgress | Review | Done | Closed',
  priority: 'Low | Medium | High | Urgent',
  type: 'Bug | Feature | Task | Epic',
  project: '-> Project.issues',
  assignee: '-> Contact',
  reporter: '-> Contact',
  labels: 'string',
  milestone: 'string',
  dueDate: 'date',
  comments: '<- Comment.issue[]',
  assign: 'Assigned',
  close: 'Closed',
  reopen: 'Reopened',
})
VerbEventDescription
assignAssignedAssign to a user
closeClosedClose the issue
reopenReopenedReopen after close

Comment

Discussion on Issues.

export const Comment = Noun('Comment', {
  body: 'string!',
  author: '-> Contact',
  issue: '-> Issue.comments',
})

On this page