Project
There are two distinct types of Projects: Connected and Standalone.
To create a new project click the New Project
button at the top right of your organization's view.
Creating a new project or editing the properties of an existing project requires Administrator or Owner privileges. Also, note that a project's type (connected vs standalone) cannot be changed.
Connected
A Connected
project is "connected" to a single Git repository through an integrated service: GitHub,
Bitbucket,
or GitLab
.
Select one of the available repositories and click OK. All currently connected repositories will be grayed out
and unselectable. A public
repo is represented by an open lock vs a closed lock for private
.
- Each project is connected to a single Git repository.
- Each space under the project maps to a branch in the repository.
- Spaces are automatically created with each new branch and are hidden when the branch is deleted.
Implementing and running manual tests requires Connected
projects. As of this writing, the manual functionallity is available only using GitHub
.
Publishing results from automated testing can use Connected
and/or Standalone projects.
Settings
Option | Description |
---|---|
Name | Read-only. Derived from the connected repository (<org-name>:<repo-name> ) |
Description | Read-only. Derived from repository description. |
Public | Read-only. Controlled by the access setting for the repository: Public or Private . |
Users | A selection of users that have access to the project with their current email notification settings. |
Branches
Spaces under the project represent the repository's branches that have associated test results. Only the default branch (i.e. master) will be listed even without having results.
When a new branch in the repository is created a new corresponding space is automatically created too:
- It will be named after the branch name
- Is pre-populated with exemptions and metrics from the most recent result in the space corresponding to the base branch (if such data exists). The prepopulated "base" content is given an auto-generated result name:
[<number>]<base-space-name>#<base-result-set-name>
There are also spaces automatically create:
- For each Fork Pull Request to the repository, named after the PR
id
(e.g.PR-123
) and pre-populated with exemptions and metrics from the most recent result in the space corresponding to the PR target branch. - Single, named :TAGS:, for results representing all Tags in the repository.
Branch Settings
Option | Description |
---|---|
Name | Read-only. Derived from the branch name. |
Description | Textual description of the space. The description text supports a subset of Markdown. |
Sandbox | Read-only. Branches that are "non" default branches are automatically set as a sandbox. |
Health Indicators | Allows you to specify a Publication deadline for results in days. Exceeding the deadline fails the space's health. A value of ''0'' disables the deadline (default). |
To edit the settings of an existing project, in the organization's Projects
tab, hover your mouse over a row in the listing, on the very left a "hamburger" icon will be shown. If you left-click on the icon, a menu is displayed with options to Edit
or Delete
.
Configuration
Testspace can be customized to manage "non" default branches as release branches, preventing the sandbox attribute from being enabled. To control that behaviour a .testspace.yml
configuration file is required to be placed at the root of your repo
, for example:
root
├── README.md
└── .testspace.yml
..
Example .testspace.yml
content that specifies any branch with _release
name ending as a release branch:
release: # optional one or more branch-wildcard entries
- *_release
Sandbox
Sandbox spaces provide a fully-functional space that can be used for non-mainline tasks. They are used primarily for staging new tests, and for providing a sandbox when bug fixing or experimentation.
For connected
Projects, unless explicitly suppressed via configuration, the sandbox
state of a space is automatically set based on the existance of a non-draft Pull Request with the corresponding branch (or fork) set as a base.
Sandbox spaces have the following attributes:
- Email notifications are never sent regardless of the space's settings
- These spaces are not shown in the
Organization
view - These spaces are shown only on their parent's
Project
view - They are excluded from project
Insights
Deletion
A repository deletion does not result in the connected project being deleted. A project can only be deleted manually through its options. Deleted projects may be restored up to thirty days after they are deleted. Refer to the Standalone Project Deletion for restoration policy.
A Space in a connected
Project follow the life time of its corresponding branch (or fork-PR) - it is automatically hidden when the branch is deleted (or fork-PR closed). All associated metric data is maintained up to 12 months to provide statistics for the project.
The lifetime of individual Results is bound to a separate retention policy.
Standalone
A Standalone
project, as opposed to Connected, provides management of results from any source (i.e. custom build automation). It has no service connection and requires all spaces to be manually created.
Select the STANDALONE
button on the bottom left of the new Project dialog.
Settings
Option | Description |
---|---|
Name | Names are not case-sensitive
/ & # ? |
Description | Textual description of the project. The description text supports a subset of Markdown. |
Public | When checked the project are visible to the public. Otherwise the project is considered private and is only accessible to Users in your organization. |
Users | A selection of users that have access to the project with their current email notification settings. |
To edit the settings of an existing project, in the organization's Projects
tab, hover your mouse over a row in the listing, on the very left a "hamburger" icon will be shown. If you left-click on the icon, a menu is displayed with options to Edit
or Delete
.
Spaces
Spaces under standalone projects are manually created and can be updated or deleted at any time. They are used to collect and analyze data from any source (i.e. custom build automation). To create a new space, c/lick on the New Space
button in the Spaces
tab of a project's view.
Space Settings
Option | Description |
---|---|
Name | Name of the space
|
Description | Textual description of the space. The description text supports a subset of Markdown. |
Sandbox | When checked the space is categorized as a sandbox and is not listed in the top level organization dashboard. Sandbox spaces do not send email notifications and are excluded from contributing to the parent project's Insights. |
Copy settings from another space | On creation only, this allows you to copy settings from an existing "base" space. This includes metrics, badges, and thresholds. The prepopulated "base" content is given an auto-generated result name: [<number>]<base-space-name>#<base-result-set-name> |
Health Indicators | Edit Space dialog only. Allows you to specify a Publication deadline for results in days. Exceeding the deadline fails the space's health. A value of 0 disables the deadline (default). |
Space Sandbox
Sandbox spaces provide a fully-functional space that can be used for non-mainline tasks. They are used primarily for staging new tests, and for providing a sandbox when bug fixing or experimentation.
Sandbox spaces have the following attributes:
- Email notifications are never sent regardless of the space's settings
- These spaces are not shown in the
Organization
view - These spaces are shown only on their parent's
Project
view - They are excluded from project
Insights
Space Editing
In the Spaces
tab in a project's view, if you hover your mouse over a row in the listing, on the very left a "hamburger" icon will be shown. If you left-click on the icon, a menu is displayed with the following options.
Option | Description |
---|---|
Edit | Displays the Space's settings dialog. |
Move | Displays a dialog allowing you to move the Space to a different Project. |
Delete | Deletes the Space. |
Space Deletion
A deleted space can be restored up to thirty days after it has been deleted. When there are one or more restorable spaces there will be shown a special link below the Spaces Listing on contaning project's view.
Clicking on the Recover your deleted spaces
link will show a special view which lists the Project's deleted Spaces within the thirty-day window. To restore an individual space in this list, hover your mouse cursor over the right end of the row that lists the space of interest. (Names shown in this list have extra text appended to the original space name to ensure that all names in the list are unique.) A clickable circular arrow icon is shown.
Clicking the icon will restore the space. (The original unmangled space name will be given to the restored space unless another space in the project already has this name, in which case the restored space will be given the mangled name.)
Space Retention Policy
To prevent abuse, the lifetime and count of Spaces in a standalone
Project are bound to the following retention policy:
- 3 months to keep (independent of the count)
- 50 minimum to keep (independent of the timestamp)
Independent of the above, all metric data is maintained to provide statistics for the project.
The lifetime of individual Results is bound to a separate retention policy.
Deletion
A project can only be deleted manually through its options.
Deleted projects may be restored up to thirty days after they are deleted. When there are one or more restorable projects there will be shown a special link below the Projects Listing on the top organization view.
Deleted projects may be restored up to thirty days after they are deleted.
Clicking on the Recover your deleted projects
link will show a special view which lists the Organization's deleted Projects within the thirty-day window. To restore an individual project in this list, hover your mouse cursor over the right end of the row that lists the project of interest. (Names shown in this list have extra text appended to the original project name to ensure that all names in the list are unique.) A clickable circular arrow icon is shown.
Clicking the icon will restore the project. (The original unmangled project name will be given to the restored project unless another project already has this name, in which case the restored project will be given the mangled name.)
Notes
Notes are a Project-level feature that supports sharing information and status with others on your team. The content you create here is persisted and searchable. Navigating to the Notes tab from any Space will show the Notes Summary view for the parent Project.
Note: A single Notes collection is shared by all Spaces in a Project.
- Use these tabs to switch to view either active or archived Notes.
- You can search for Notes containing the text you enter here.
- Clicking on the star icon here toggles a filter that shows either only starred Notes or all Notes.
- If a Note has a To-Do list, the number of outstanding (unchecked) To-Do items is shown here.
- If a Note has been assigned an owner, the owner's name is shown here.
- Clicking on the star icon toggles the importance of the Note between normal (no star) and important (starred).
- Note titles are displayed as clickable links, with the Note title comprising the link text.
- If a Note has one or more files attached, this icon is shown along with the count of file attachments.
- If a Note has comments attached, this icon is shown along with the count of comments.
- Clicking this icon will archive the Note, making it appear in archived Notes view.
New Note
There are two ways to create a new Note.
- Directly from the Note summary view
- Implicitly from a specific result set
To create a Note directly click on the New Note
button in the upper right of the view.
- The Note title goes here. This is the text that will comprise the link text in the Notes view.
- Here you can optionally assign a Note owner. This is useful when the Note has follow-up items (such as to-dos) and you want to make one person responsible for completion. The owner is displayed with the note in the Note view and is automatically subscribed to the Note.
- These tabs allow you to toggle between input markup text (Markdown format) and the rendered version.
- Editor toolbar. Hovering over each button will show a tooltip describing its function.
- Clicking here will display the editable note text in a full-screen mode. This is useful for Notes with lots of text.
- The note text goes here. The text is written in Markdown format with a custom extension to support to-do check boxes.
- Click and drag this thumb to resize the text box.
- Clicking here allows you to attach one or more files of any type to the note. These files will appear in the Note as clickable links.
- Users selected here will receive an email notification when the note is submitted and when any comments are added to the note in the future. The creator of the Note and the owner (if any) are automatically subscribed.
Note From Results
Often, you want to share information related to a specific result set with other members of your team. For example, there may be some test failures or other anomalies that need to be addressed.
As a convenience, you can create a Note implicitly from a result set. For more deatils see commenting on a space's result.
To-Do List
The Notes editor implements a custom extension to Markdown that's used to create ToDo check boxes.
When creating or editing a Note, you can enter the check box markdown yourself, or use the Editor Toolbar button labeled To-Do to automatically insert the text.
Shown below is the markup text and how it is rendered in the Note.
Markup
Rendered
Check State
Typically, when you create a Note with To-Do items, you create the list with all items open (unchecked). The task owner will then change the state of each item to checked once completed.
When viewing the Note, anyone can toggle the state of a To-Do check box by simply clicking on the check box.
Only the creator of the Note can edit the list.
Archive
Notes can be archived by clicking on the far right icon.
A Note can be restored to the Active
tab by selecting the following icon within the Archive
sub-tab.