Skip to content
Project settings

Project settings

A project's name and its ID for the read API and the MCP server.

Every project has a name, a run timeout and an ID. Organization admins change the name and the run timeout; every member can see all three.

Settings are one page with two groups of tabs:

  • Project: General, Ingest key, Integrations, Reports and AI analysis. They only affect this project.
  • Organization: Projects, Members, Read keys, Plan & usage and Organization. They apply to every project of the organization - see Organization.

Above the tabs stand the organization and the project, the tab’s name as the page title, and one sentence on what the tab affects. A project tab says it only affects the project, and that members, read keys and plan apply to the whole organization; an organization tab says it applies to every project in the organization. Opening the project’s settings opens General.

General holds the Project card - name, run timeout and project ID, with one Save - and, for admins, the danger zone. Members see the fields but cannot change them.

The name Squally shows for the project everywhere - in the app, in emails and in the read API. Admins can rename a project at any time; nothing else changes with it.

How long a run may go without sending anything before Squally ends it as Incomplete: minutes without new results, counted from the run’s last activity - when it began, last sent results or reported its end. 60 by default; admins set 30 to 1440. A long suite that keeps reporting stays running whatever the value; raise it when a single test, or a stretch of setup, can run longer than the timeout without finishing a test. See the run timeout.

A fixed ID Squally gives each project, shown in the project’s settings with a copy button. You need it for the read API - every project route starts with /projects/{projectId} - and for the MCP server, whose tools take it as an argument. It never changes, and it is not a secret: on its own it gives no access.

The ID is also in the address of every page of the project, after the organization’s ID: app.squally.dev/o/{organizationId}/p/{projectId}/runs. A link to a run, a test or an error therefore opens that project, whichever one the person opening it had open last. A link into another organization switches to it for its members; for anyone else it is a page that does not exist.

A project’s Integrations tab shows GitHub and Slack as one card each, with the project’s status. A card reads Set up while the project is not connected yet - GitHub until the project links a repository, Slack until it has a webhook - and Configure once it is. Members, who can read an integration’s settings but not change them, see View on every card. On GitHub’s card, Set up installs the GitHub App right from the project when the organization has not connected GitHub yet (admins only), and brings you back to the project to pick its repository.

A project’s GitHub page links the project to repositories of the GitHub accounts the organization has connected - see GitHub. It is the same card as on the Integrations tab, with the controls in its rows: Account, each Repository with Unlink in its menu and its Check name, PR comments with its switch once a repository is linked, and Status. An admin picks the next repository under the rows, with Link. When the app is installed on several accounts, the page names all of them and the picker offers the repositories of each. A linked repository whose account GitHub has suspended the app on says so: nothing is posted for it until the app is unsuspended.

Admins see the danger zone under the Project card. It is one row with what the action does and its button:

  • Delete project… when the organization has more than one project: “Removes the project with its runs, results and artifacts. Its ingest key stops working.”
  • Delete all runs… when it is the organization’s only project: “Removes every run, result and artifact of this project. The project and its ingest key stay.”

The dialog names what will go - runs, test results, screenshots and traces - and you type to confirm. A deleted project’s ingest key stops working at once; a CI job still using it gets a 401 without failing the build.