Projects
Projects connect a repository to Jaah: its branches, gate commands, members, environment variables, assigned nodes and linked Jira issues. Environments are the per-task working environments a dynamic project creates.
List environments
Lists the live per-task environments the caller may see, ordered by project and request time, leaving out destroyed ones. Accepts `limit`.
Destroy environment
Starts tearing down one per-task environment and returns its detail; the teardown report appears on a later read. Repeating the call does not start a second teardown. Requires the Org Owner or Org Admin role.
Get environment
Returns one per-task environment, including a destroyed one with its teardown report and any last error.
List projects
Lists the projects the caller may view, ordered by name, up to `limit`.
Create project
Connects an existing repository as a new project without adding any files to it. With `placement`, also declares worktrees on a node in the same step, which requires the Org Owner or Org Admin role. Returns 201 with the project.
Get governance authority for a new project
Returns `may_author_governance`: whether the caller may set branch, gate, stack and push settings on a new project. Creating a project with those fields fails with 403 when it is false.
Delete project
Deletes the project from Jaah without touching its repository. Returns 409 while the project still has worktrees, otherwise 204 with no body. Requires the Org Owner or Org Admin role.
Update project
Changes the fields sent on a project; null clears an optional field, but null on the name, branch, prefix, gate or stack commands, push setting, slot mode or default worktree count returns 422. Changing branch, gate, stack or push settings needs governance authority, and changing the default worktree count needs the Org Owner or Org Admin role. Returns the project.
List project docs
Lists the markdown documents in the project repository's MkDocs folder, read live from GitHub through the current user's connected GitHub account. Returns `enabled: false` with a reason when the repository has no MkDocs configuration or the user cannot see it.
Read project doc
Returns the raw markdown of the document at `path`, which must be one the project's document list returns. Reads through the current user's connected GitHub account; any other path returns 404.
List project environment variables
Lists the project's environment variables, both project defaults and every user's overrides, marking which one wins for the current user. Literal values are returned; a credential-drawn variable names its credential and field, never the secret.
Create project environment variable
Adds an environment variable to the project, as a literal value or drawn from a credential. A project default requires project edit permission; anyone who can view the project may add their own override. Returns 201 with the variable.
Preview project environment variables
Returns the winning environment variables a worktree for `user_id` (default: the current user) would receive from the project: literal values in full, credential-drawn ones by credential and field only. Variables whose status is not `ok` are not written.
Delete project environment variable
Removes an environment variable. A project default requires project edit permission; only its own user may remove an override. Returns 204 with no body.
Update project environment variable
Changes an environment variable in place. A project default requires project edit permission; only its own user may change an override. Returns the variable.
Get project governance authority
Returns `may_author_governance`: whether the caller may change the project's integration branch, branch prefix, gate and stack commands, and push setting.
Search project Jira issues
Searches the project's linked Jira site for issues matching `q` by key or text, returning each one's key, summary and status, up to `limit` (default 15, max 50). Returns 409 when the project has no usable Jira credential.
Get project Jira issue
Returns one Jira issue's key, summary, markdown description and browse URL from the project's linked Jira site.
List project members
Lists the users who reach the project through a role on it or its organization, directly or through a group: the candidates for its business analyst and architect.
Get project nodes
Lists the nodes the project runs on, with each one's worktree count and whether a node group placed it, plus the organization's other nodes it could run on.
Set project nodes
Replaces the nodes the project runs on, with an optional fixed worktree count per node, then creates or removes worktrees to match; a node a node group placed stays assigned when omitted. Requires the Org Owner or Org Admin role. Returns the new assignments plus the worktrees created and removed, tasks requeued and any warnings.