PulseUno User Help
Micro Focus PulseUno version 21.1
Last updated: July 30, 2021
Introduction
About PulseUno
PulseUno is a web-based user interface that enables you to:
- Directly work with a Git server and use standard Git functionality, such as creating and cloning Git repositories, collaborating with individuals and teams, committing, reviewing, and merging changes.
- Continually build and inspect the health and quality of code using plugins such as dependency checkers and static analysis. This information helps you decide when changes are ready to be merged, deployed, and released.
- Use PulseUno vaults to secure collections of packages such as binaries, artifacts, and meta data. Vaults provide a central library for your packages and integrate with build and development pipelines.
- Visualize team activity.
- Explore the codebase.
- Use pull requests to review, evaluate, and merge a set of defined changes. Pull requests are a collaborative process that allows teams to review proposed code changes, add review comments, approve changes, and merge changes into a mainline.
- Collaborate on development projects using requests, backlogs, and iterations, to plan, track, and execute work.
What's new in 21.1
The following new features and enhancements are introduced in PulseUno 21.1.
Git and CM functionality in one PulseUno UI
You can now work with both Git repositories and Dimensions CM products in one PulseUno instance.
For example, you can synchronize a Git branch with a stream in a Dimensions CM product. See Create a Git repository.
Vault enhancements
Use these enhancements when working with PulseUno vaults:
- Create Docker vaults
In addition to package managers Maven and npm, PulseUno now integrates with Docker. A Docker vault enables you to store Docker images. For details on creating vaults, see Create, configure, and delete vaults.
- Approve multiple vault packages
You can now approve or reject multiple packages at once. See Approve vault packages.
- Delete vault packages
Keep your vaults clean by deleting packages and package versions you no longer need. See Delete packages.
- Download content from a vault
You can download individual files or entire vault packages. See Download files and packages.
- Set content policies
Content policies control what packages can be delivered to a vault. By using the exclude/include filters, you can restrict specific packages and versions from being uploaded. See Set vault content policies.
- Run an automatic vulnerability check
To improve security, use an automatic vulnerability check for vault packages. PulseUno will regularly check for new security issues and report the findings in the Vulnerabilities tab of the related package version. For details on how to enable this option, see Edit vault settings.
- View vault statistics
In the new Statistics panel, you can view vault information such as the total size of all package content, the number of packages and versions, and a breakdown of package versions by state. To view vault statistics, navigate to Spaces > Vaults and open a vault. See Vaults home page.
- Find code hints and examples of package usage
PulseUno provides commands and code snippets for using the package in your build system. To view code hints, open your package version and click the Details tab. See Review package contents.
Activity feed enhancements
Use the following new activity feed options:
- Filter activity by changes that are pulled and pushed in a Git repository.
- Inspect the activity of other users. For details on how to view activity, see View activity.
- Export activity to an XML or JSON file. See Export the activity feed.
Chains enhancements
Use the following features when configuring and running chains:
- Run ongoing vulnerability detection
For chains that have dependencies, you can enable an ongoing vulnerability scanning to regularly check for new vulnerabilities that may be discovered in the future. PulseUno will display the vulnerability information in reviews and on the chain run pages, and will pass it on to the vault. See Enable ongoing vulnerability detection.
- Add custom measurements to a chain
Add your own measurements from a Script step in a chain. Your script can create a properties file which will be used to report measurements to PulseUno. You can then chart the measurements in dashboard reports or publish them as output variables. See Define measurements in chain steps.
- Publish output variables
Use this feature to pass measurements generated by a chain step to later chain steps and child chains. See Publish output variables to chain steps.
- Stop downstream chains
If a chain runs other chains, you can instruct the parent chain to stop its child jobs whenever it is stopped. See Configure chains to stop downstream chains.
Git enhancements
These new features are available in Git:
- Content import from other repositories
You can create repositories with content imported from other repositories, for example, from GitHub or BitBucket. See Create a Git repository.
- Automated pull requests
You can set pull requests to be created automatically in specified Git branches. For details, see Configure how pull requests are created.
- Large file support (LFS)
When you check out a Git repository, the LFS feature enables Git to download only the latest file version rather than the entire history of versions, which saves time and space. See Create, modify, and delete Git repositories.
- Signed commits
Use GPG keys to sign commits. See Add GPG keys to verify signed commits.
For details on how to enforce signed commits, see Define branch policies.
Integrations
PulseUno has expanded its integration capabilities:
- Use Dimensions CM requests in a Git repository
You can set up Dimensions CM as a request provider for your Git project. See Integrate with external request providers.
- Synchronize with ALM Octane
You can synchronize PulseUno review and pull request states with the phases of ALM Octane backlog items. The synchronization is available for Dimensions CM products configured to use ALM Octane external requests. See Synchronize with ALM Octane.
- Send chain results to ALM Octane
You can create a pipeline to send chain results from PulseUno to ALM Octane. See Set up a chain to publish chain results to ALM Octane.
PulseUno licensing
PulseUno now supports the AutoPass License Server (APLS) for managing user and agent licenses. See PulseUno licensing.
Known issues and limitations
The following issues are known to exist at the time of the latest PulseUno release.
Installation and upgrade
- Uninstalling or upgrading on Windows: Depending on your system's virtual memory, when you attempt to uninstall PulseUno 20.1 or upgrade PulseUno to version 21.1, the following errors may occur:
Unable to load and to prepare the installer in GUI mode.
or
CopyAndModFiles Git data-dir processing error: file does not exist C:\PulseUno\git-server\logback-dimensions-remote-helper.xml
Solution: - Edit the Change PulseUno Installation.lax file in the PulseUno installation directory.
Default path: C:\Program Files\Micro Focus\PulseUno\Change PulseUno Installation.lax
Set the memory allocation parameters to the following values or greater:
lax.nl.java.option.java.heap.size.initial=536870912
lax.nl.java.option.java.heap.size.max=1073741824 - Try uninstalling or upgrading PulseUno again.
- When upgrading to 21.1, HTTPS is not applied for a remote Git or Vault server: If you selected an HTTPS option for a remote Git or Vault server connection, the installer may not apply the option.
Solution: After the upgrade, verify that the Git and Vault URLs point to HTTPS. Open the startup.properties file in the pulse_data\conf directory and check the URLs:gitserver.url=https\://<hostname>\:<port>/vault-server vaultserver.url=https\://<hostname>\:<port>/vault-server
Change the URLs to HTTPS if they are incorrect, and then restart Common Tomcat.
- When upgrading to 21.1, the installer doesn't update the host name for a remote Git or Vault server: The installer may use your current Git or Vault server host name instead of the new host name supplied during the upgrade.
Solution: After the upgrade, verify that the Git and Vault server URLs point to correct host names. Open the startup.properties file in the pulse_data\conf directory and check the URLs:
gitserver.url=http\://<hostname>\:<port>/vault-server vaultserver.url=http\://<hostname>\:<port>/vault-serve
Change the host names if they are incorrect, and then restart Common Tomcat.
PulseUno vaults
- Deploying Maven artifacts: When deploying a Maven artifact with an incorrect password, you may get the "Connection reset by peer" error instead of the "Failed to log in with user name <username>" error.
When you deploy a Maven artifact with an -X switch, a detailed error message is displayed:
[DEBUG] Failed to dispatch transfer event 'PUT PROGRESSED <URL> <> <local-path> to org.apache.maven.cli.transfer.ConsoleMavenTransferListener
java.lang.IllegalArgumentException: progressed file size cannot be greater than size: 696320 > 568158
This is an issue with Maven, and it may be fixed in a future Maven release.
- Docker vaults:
- When you view vault statistics, the displayed size of files in a vault may not be completely accurate. When a Docker image layer is shared among Docker images, its size is counted for each image using the layer, but only one copy of the layer is stored in the vault.
- Docker vaults don't support anonymous access. Even if a Docker vault is configured for anonymous access, unauthenticated users cannot pull from the vault, receiving this message:
User 'anonymousUser' does not have permissions to read from vault.
- Serena SSO: The PulseUno Vault server is not supported when using Serena SSO.
Git functionality
- Serena SSO/CAC: The PulseUno Git server doesn't support Serena SSO/CAC authentication. To work with the Git server, choose an authentication scheme other than Serena SSO.
- Signed commits and server-side merge: Defining a branch policy that enforces signed commits in a particular branch may prevent server-side merges of pull requests to that branch. This behavior is expected, as the server-side merge doesn't have access to your private GPG key to sign commits on your behalf.
Workaround: Merge locally with a signature and push.
- Enabling automatic pull request creation after the upgrade: If you had automatic pull request creation enabled for a repository, and you upgraded from PulseUno 20.1, you may need to reset the branch name patterns for pull request creation before making other changes to the repository settings. For details, see Configure how pull requests are created.
- Automatic pull request merge may fail: In a Git repository that uses Dimensions CM requests and has a branch policy requiring commit messages to a particular branch to include request IDs, the following issue exists:
When pull requests are merged into such a branch, the default commit message for server-side merge commits doesn't place the request ID in square brackets, as expected. For example, [QLARIUS_CR_44]. When merging manually, you can edit the generated commit message. But if you have automatic merge enabled in the merge rules, the merge may fail.
Workaround: Use a database tool to connect to the pulse schema. In the overriddendefaults table, add a row with the following values in the keyname and keyvalue columns:
For example, if you use SQL syntax:keyname pull.request.merge.commit.patternkeyvalue Merged %LABEL% from %AUTHOR% (%SOURCE%) %REQUESTEXTLABEL% [%REQUESTLABEL%]
INSERT INTO overriddendefaults (keyname, keyvalue) VALUES ('pull.request.merge.commit.pattern', 'Merged %LABEL% from %AUTHOR% (%SOURCE%) %REQUESTEXTLABEL% [%REQUESTLABEL%]');With this configuration change, the generated commit message for server-side merges will satisfy the branch policy.
Navigate
The following image displays some of the common user interface elements in PulseUno.
Top navigation
The top navigation contains:
- Links to My Work, Spaces, and Administration.
My Work Displays information for the user who is currently logged in to PulseUno, such as their review inbox, reviews they own, and packages waiting for approval. Spaces Displays a list of spaces. A space is a collection of related software products. See Create, modify, and delete spaces. Administration An area for performing administrative tasks. Visible only to administrators. See Administer. - A search field. To starch searching, click the search icon. For details, see Search.
- A link to user preferences. To access preferences, click the user icon and select Preferences. For details about modifying preferences, see Configure user preferences.
- An information link. To access the online help, community page, and product news and events, click the question mark icon.
Sidebar
Use the sidebar to access items that are relevant to your current location in PulseUno.
Breadcrumbs
Use breadcrumbs to view your current location in PulseUno.
Search
You can search in:
- Activity feeds
- History tabs when you are browsing the contents of streams or branches.
- Backlog and iteration lists
- Request catalogs
Examples:
- A review label: Q234
- A request label: QLARIUS_CR_44
- A backlog title: "Performance backlog"
Search for requests and reviews
You can search for requests and reviews wherever you are located in PulseUno.
- (Optional) To restrict the scope of the search, select a space, product, or a stream.
- Click Search on the top navigation.
- From the list select Reviews or Requests.
- Enter a search filter (you can enter part of a name, label, or title). You can search for:
- Labels
- Requests
- Owners
- Individual words in titles
- Phrases (in double quotes, for example: "Fix API error")
- Click Search or press Return. The results are displayed below. Click a result to view more details.
- To refine your search, do one of the following:
- Select a filter from one of the results lists. The filter appears in the Refined by box:
- Control-click to select multiple filters from the lists. In the Refined by box click Apply. The box is updated:


The Search Results window is updated. You can further refine your search by removing filters from the Refined by box.
Click Clear to remove all filters.
Keyword search
You can also use keywords in a search.
- Use keywords in this format:
<keyword>:<value> - Separate multiple values in each keyword with commas, for example:
Review:Q1,Q3 - Separate multiple keywords with spaces, for example:
Review:Q1,Q3 Event:Deliveries,Reviews - You can use these operators: AND, OR, NOT, - (minus), for example:
Review:Q12 OR Review:Q16 - Search is not case-sensitive.
Activity feed keywords
| Keyword | Searches for | Examples |
|---|---|---|
| Event | Events and activities for spaces, products, Git repositories, streams, and branches:
|
Event:Deliveries,Reviews |
| Review | Review labels | Review:Q1,Q3 |
| Changeset | Changeset labels | Changeset:123,124,125 |
| Date | A specific date. Use the format yyyy-mm-dd |
|
| Date Range | In a date range. Use the format yyyy-mm-dd,yyyy-mm-dd |
|
Code history keywords
| Keyword | Searches for | Examples |
|---|---|---|
| Date | A specific date. Use the format yyyy-mm-dd |
|
| Comment | Comments added by users (you can enter part of a comment), a phrase must be double-quoted. | Comment:"Remove inclusion of libC.a" |
| User | User IDs (you can enter part of a name) | User:andys,david |
Request keywords
| Keyword | Searches for | Examples |
|---|---|---|
| Label | Request labels. You can enter part of a label. |
Label:Q234,IT536,ECR_47 |
| Title | Request titles. You can enter part of a title, a phrase must be double-quoted. |
Title:install,refactor |
| State | Request states, a state name with multiple words must be double-quoted. | State:Raised,"Under Work" |
| Phase | Request phases | Phase:Create |
| Type | Request types | TYpe:CR,TASK |
| Stream | Requests associated with specific streams or branches. | Stream:Qlarius_Java |
| Product | Requests associated with specific products and Git repositories. | Product:Qlarius |
| External | External link labels in requests | External:SBM |
Review keywords
| Keyword | Searches for | Examples |
|---|---|---|
| Label | Review labels. You can enter part of a label. |
Label:Q234,IT536,ECR_47 |
| Title | Review titles. You can enter part of a title, a phrase must be double-quoted. |
Title:install,refactor |
| Owner | Reviews associated with specific users (you can enter part of a name) |
Owner:andys,david |
| Request | Reviews associated with specific requests | Request:Q1,Q2 |
| Reviewer | Reviews associated with specific reviewers (you can enter part of a name) |
Reviewer:andys,david |
| Comment | Comments added by users (you can enter part of a comment). A phrase must be double-quoted. | Comment:"Remove inclusion of libC.a" |
| State | Review states, a state name with multiple words must be double-quoted. | State:Assigned,"Peer Review" |
| Message | Commit delivery messages (you can enter part of a message). A phrase must be double-quoted. | Message:"Delivered SQL server fix" |
Keyboard shortcuts
On Review and Changeset pages you can use these keyboard shortcuts:

ADM Help Center
The ADM Help Center provides comprehensive user assistance for Dimensions CM, StarTeam, and Accurev.
Install and upgrade
Install a standalone PulseUno instance
This section provides the prerequisites, considerations, and instructions for installing PulseUno on Windows and Linux using the PulseUno installer.
You can also install PulseUno as part of Dimensions CM. For details, see Install PulseUno as part of Dimensions CM.
Use one of the following methods to install PulseUno as a standalone product:
| Windows | Run the installation wizard on Windows |
| Linux | Run the installation wizard on Linux |
Before you install
Before installing PulseUno, review the following requirements and considerations:
| Support matrix | Verify that your system meets the hardware and software requirements. For details, see the Support Matrix. |
| Permissions | Verify that you have proper permissions to perform the installation:
|
| Limitations | Dimensions CM: Make sure that you don’t have Dimensions CM installed on the same system where you are installing PulseUno. Otherwise, the installation will fail. Deployment Automation: To install PulseUno on a system that hosts a Deployment Automaton server, contact Support. |
Database:
|
Before installing PulseUno, set up a database. The PulseUno installer creates a pulse database user and/or schema. You just need to supply a database super user account that will create the pulse database user and/or schema, and allow TCP/IP network access and username/password authentication. Windows only: An embedded PostgreSQL 12 database is bundled with the installer. If you decide to use it, you don’t need to prepare a database before the installation. For details about an Oracle database, see the Oracle documentation. For details about an MS SQL server, see the Microsoft documentation. For details about PostgreSQL, see the PostgreSQL documentation. |
| Git command line | The PulseUno Git server requires the Git command line to synchronize branches to Dimensions CM. Before installing PulseUno, ensure that you have the Git command line on the same system where you are installing the PulseUno Git server. This way, the installer will automatically configure the Git server to use the Git command line. |
| Licenses | Determine what type of licenses and how many licenses you need for PulseUno. PulseUno provides an evaluation option limited to three users and three agents. For details, see PulseUno licensing. |
Support Matrix
The PulseUno Support Matrix provides information on the hardware and software requirements, supported operating systems, technologies, and tools.
| Hardware | Use the following hardware guidelines for a single system with all components: CPU: 4-core or more |
| Prerequisite software | The following software is required to run PulseUno:
The installation package includes the prerequisite software. If you already have these applications on your PulseUno machine, the installer automatically detects and, if needed, upgrades them. During installation, the missing prerequisite software is installed. Git command-line tool: To enable the PulseUno Git server to synchronize branches with Dimensions CM, install a Git command-line tool before installing PulseUno, for example, Git for Windows. |
| Operating systems | Windows:
|
Linux:
|
|
| Browsers |
|
Databases |
Windows:
|
Linux:
|
Installation components
PulseUno includes the following modules:
- The PulseUno server. The main server with the PulseUno web application. This is where PulseUno stores its configuration information. The database is accessed through this server.
- The Vault server. The server for the library of software components (packages). For details about vaults, see Use vaults to store software components.
- The Git server. The server for Git repositories. For details about Git repositories, see Create, modify, and delete Git repositories.
You can install all the modules on the same system, or use different machines and install each module separately. For example, you might consider having Vault on a separate machine to ensure enough disk space for your packages.
Windows only: In addition to the main modules, the installation includes an embedded PostgreSQL 12 database which you can use instead of an external database.Run the installation wizard on Windows
Before installing PulseUno, ensure that you have fulfilled all the prerequisites. For details, see Before you install.
The PulseUno installation wizard for Windows guides you through the installation process step-by-step.
To install PulseUno on Windows:
- Download the installation zip file and extract the installer.
- As a local system user, launch the installer.
- Read and accept the license agreement.
- Enter the installation path or accept the default location:
C:\Program Files\Micro Focus\PulseUno - Select the modules to install:
- PulseUno server
- Vault server
- Git server
- Enter an encryption passphrase to connect the modules.
NOTE If you are installing each module separately, you must use the same passphrase for all the modules. You can later connect other Git and Vault instances to PulseUno using this passphrase. The passphrase is case-sensitive.
- If you are installing PulseUno without the Git or Vault modules:
- To configure the Git and Vault connection, enter the hostname and port for the Git and Vault servers. Select the HTTPS option to enable an HTTPS connection.
- To skip configuring the Git and Vault connection, select Do not configure PulseUno for a remote Git/Vault server.
NOTE To configure the Git and Vault connection after the installation, edit the startup.properties file in the pulse_data\conf directory and modify thegitserver.urlandvaultserver.urlproperties, for example:
gitserver.url=http\://localhost\:8080/git-server
Then restart Common Tomcat.
vaultserver.url=http\://localhost\:8080/vault-server
- Enter the root directory for the data directories or accept the default location:
C:\ProgramData\Micro Focus\PulseUno - Select the database from the following options:
- Create a new database. This is the default option that installs an embedded PostgreSQL 12 database.
- Use existing PostgreSQL installation.
- Use existing Oracle installation.
- Use existing MSSQL installation.
- Provide the database details:
Embedded PostgreSQL:
Setting Description PostgreSQL DB admin user The PostgreSQL admin’s username.
DB admin password The PostgreSQL admin’s password. Port The port for the PostgreSQL instance.
Default: 5432
Existing PostgreSQL, Oracle, or MS SQL:
Setting Description Host The hostname for the database server.
Default: localhostPort (PostgreSQL only) The port number for the PostgreSQL server.
Default: 5432Database The database name. User The username to connect to the database. Password The password to connect to the database. - Enter the port for Common Tomcat.
Default: 8080 - Enter the hostname and port for the mail server to use for sending notifications.
Default host: localhost
Default port: 25 - Review the installation details. Go back if you need to change the settings.
- Click Install.
- When the installation is finished, click Done.
By default, all modules are selected.
Next steps
Install from a command line on Windows
Before installing PulseUno, ensure that you have fulfilled all the prerequisites. For details, see Before you install.
To install PulseUno from a command line, run the installation in console mode.
The default installation path is C:\Program Files\Micro Focus\PulseUno
To install PulseUno from a command line on Windows:
- Download the installation zip file and extract the installer.
- From a command line, as a local system user, change to the directory with the installation file.
- Run this command to launch the installer in console mode:
<PulseUno-installer>.exe -i console
For example:
pulseuno-21.1.0-setup-windows.exe -i console
A new shell for the console installation opens. - In console mode, read and accept the license agreement.
- Enter the installation path or press Enter to accept the default location:
C:\Program Files\Micro Focus\PulseUno - Select the modules for installation:
- PulseUno server
- Vault server
- Git server
To install specific modules, enter their corresponding numbers separated by a comma and press Enter. For example, to install PulseUno and Git server, enter: 1,3 - Enter an encryption passphrase to connect the modules.
NOTE If you are installing each module separately, you must use the same passphrase for all the modules. You can later connect other Git and Vault instances to PulseUno using this passphrase. The passphrase is case-sensitive.
- If you are installing PulseUno without the Git or Vault modules:
- To configure the Git and Vault connection, enter the hostname and port for the remote Git and Vault servers. To enable an HTTPS connection, enter Y.
- To skip configuring the Git and Vault connection, press Enter for each connection option.
NOTE To configure the Git and Vault connection after the installation, edit the startup.properties file in the pulse_data\conf directory and modify thegitserver.urlandvaultserver.urlproperties, for example:
gitserver.url=http\://localhost\:8080/git-server
Then restart Common Tomcat.
vaultserver.url=http\://localhost\:8080/vault-server
- Enter the root directory for the data directories or press Enter to accept the default location:
C:\ProgramData\Micro Focus\PulseUno - Select your database:
- To create an embedded PostgreSQL database, enter 1 or press Enter. This is the default option.
- To use an existing PostgreSQL database, enter 2.
- To use an existing Oracle database, enter 3.
- To use an existing SQL server, enter 4.
- Enter the database details:
Embedded PostgreSQL:
Setting Description PostgreSQL admin user Enter the PostgreSQL admin’s username.
Or press Enter to accept the default username, postgres.
DB admin password Enter the PostgreSQL admin’s password. Port Enter the port for the PostgreSQL instance.
Or press Enter to accept the default port, 5432.
Existing PostgreSQL, Oracle, or MS SQL:
Setting Description Host The hostname for the database server.
Default: localhostPort (PostgreSQL only) The port number for the PostgreSQL server.
Default: 5432Database The database name. User The username to connect to the database. Password The password to connect to the database. - Enter the port for Common Tomcat.
Or Press Enter to accept the default port, 8080. - Enter the hostname and port for the mail server to use for sending notifications. Or press Enter to accept the default settings:
Default hostname: localhost
Default port: 25 - Review the installation details and press Enter to install.
- When the installation is finished, press Enter to exit the installer.
Next steps
Run the installation wizard on Linux
Before installing PulseUno, ensure that you have fulfilled all the prerequisites. For details, see Before you install.
The PulseUno installation wizard for Linux guides you through the installation process step-by-step.
To install PulseUno on Linux:
- Download the installation tar file.
- As a root user, navigate to the location of the tar file and extract the installer.
To extract the installer using a command line, run this command:
tar xvf <PulseUno-installer>.tar
- Launch the installation wizard. To launch from a command line, run this command:
./<PulseUno-installer>.bin
For example:
./pulseuno-21.1.0-setup-linux.bin
- Read and accept the license agreement.
- Enter the installation path or accept the default location:
/opt/microfocus/PulseUno - Select the modules to install:
- PulseUno server
- Vault server
- Git server
- Enter an encryption passphrase to connect the modules.
NOTE If you are installing each module separately, you must use the same passphrase for all the modules. You can later connect other Git and Vault instances to PulseUno using this passphrase. The passphrase is case-sensitive.
- If you are installing PulseUno without the Git or Vault modules:
- To configure the Git and Vault connection, enter the hostname and port for the Git and Vault servers. To enable an HTTPS connection, select the HTTPS option.
- To skip configuring the Git and Vault connection, select Do not configure PulseUno for a remote Git/Vault server.
NOTE To configure the Git and Vault connection after the installation, edit the startup.properties file in the pulse_data/conf directory and modify thegitserver.urlandvaultserver.urlproperties, for example:
gitserver.url=http\://localhost\:8080/git-server
Then restart Common Tomcat.
vaultserver.url=http\://localhost\:8080/vault-server
- Enter the root directory for the data directories or accept the default location:
/opt/microfocus/PulseUno/data - Select the database from the following options:
- Oracle
- PostgreSQL
- Provide the database details:
Setting Description Host The hostname for the database server.
Default: localhostPort (PostgreSQL only) The port for the PostgreSQL server.
Default: 5432Database The database name. User The username to connect to the database. Password The password to connect to the database.
- Specify the Common Tomcat network settings:
Setting Description Owning user name The username for the existing user whom you authorize to run Tomcat and have write access to the Tomcat directories.
Note: For security, do not use the root user to own and run Tomcat.Port number The port for Common Tomcat.
Default: 8080 - Enter the hostname and port for the mail server to use for sending notifications.
Default hostname: localhost
Default port: 25 - Review the installation details. Go back if you need to change the settings.
- Click Install.
- When the installation is finished, click Done.
By default, all modules are selected.
Next steps
Install from a command line on Linux
Before installing PulseUno, ensure that you have fulfilled all the prerequisites. For details, see Before you install.
To install PulseUno from a command line, run the installation in console mode.
The default installation path is /opt/microfocus/PulseUno
To install PulseUno from a command line on Linux:
- Download the installation tar file from the link provided by Micro Focus.
- As a root user, change to the location of the tar file and extract the installer using this command:
- Run the installer in console mode:
<PulseUno-installer>.bin -i console
For example:
pulseuno-21.1.0-setup-linux.bin -i console
- Read and accept the license agreement.
Press any key other than Enter to move through the license agreement. Then press Enter to accept the terms. - Enter the installation path or press Enter to accept the default location:
/opt/microfocus/PulseUno - Select the modules for installation:
- PulseUno server
- Vault server
- Git server
- Enter an encryption passphrase to connect the modules.
NOTE If you are installing each module separately, you must use the same passphrase for all the modules. You can later connect other Git and Vault instances to PulseUno using this passphrase. The passphrase is case-sensitive. - If you are installing PulseUno without the Git or Vault modules:
- To configure the Git and Vault connection, enter the hostname and port for the Git and Vault servers. To enable an HTTPS connection, enter Y.
- To skip configuring the Git and Vault connection, press Enter for each connection option.
NOTE To configure the Git and Vault connection after the installation, edit the startup.properties file in the pulse_data/conf directory and modify theIf you are installing only the Git and/or Vault modules, specify the hostname and port for the PulseUno server. To enable an HTTPS connection, enter Y.gitserver.urlandvaultserver.urlproperties, for example:
gitserver.url=http\://localhost\:8080/git-server
Then restart Common Tomcat.
vaultserver.url=http\://localhost\:8080/vault-server - Enter the root directory for the data directories or press Enter to accept the default location:
/opt/microfocus/PulseUno/data - Select the database you have set up for PulseUno:
- For Oracle, enter 1.
- For PostgreSQL, enter 2.
- Enter the database details:
Setting Description Host The hostname for the database server.
Default: localhostPort (PostgreSQL only) The port for the PostgreSQL server.
Default: 5432Database The database name. User The username to connect to the database. Password The password to connect to the database.
- Enter the Common Tomcat network settings:
Setting Description Tomcat user name The username for the existing user whom you authorize to run Tomcat and have write access to the Tomcat directories.
Note: For security, do not use the root user to own and run Tomcat.Tomcat port The port for Common Tomcat.
Default: 8080 - Enter the hostname and port for the mail server to use for sending notifications. Or press Enter to accept the default settings:
Default hostname: localhost
Default port: 25 - Review the installation details and press Enter to install.
- When the installation is finished, press Enter to exit the installer.
tar xvf <PulseUno-installer>.tar
To install all modules (default), press Enter.
To install specific modules, enter their corresponding numbers separated by a comma and press Enter. For example, to install PulseUno and Git, enter: 1,3
Next steps
Install PulseUno in silent mode
Before installing PulseUno, ensure that you have fulfilled all the prerequisites. For details, see Before you install.
Silent mode enables you to run an installation in the background, and you don't need to follow wizard steps and select options. Silent mode uses a response file that contains all the configuration properties for your installation.
Before you can run an installation in silent mode, create a response.properties file in a text editor. Set the installation properties using this syntax: PROPERTY_NAME=value
The following table provides a list of available response properties:
| Property | Description |
|---|---|
USER_INSTALL_DIR |
A path to the PulseUno installation directory. Default paths:
|
FEATURE_PULSEUNO |
The PulseUno server. |
FEATURE_VAULTSERVER |
The Vault server. |
FEATURE_GITSERVER |
The Git server. |
PULSE_HOSTNAME |
If you are not installing the PulseUno server, specify its hostname. |
PULSE_PORT |
If you are not installing the PulseUno server, specify its port. |
GITSERVER_URL |
(Optional) If you are installing PulseUno without the Git server, enter the URL path for the Git server, for example:
|
VAULTSERVER_URL |
(Optional) If you are installing PulseUno without the Vault server, enter the URL path for the Vault server, for example:
|
PULSE_PASSPHRASE |
The passphrase that enables you to connect the modules if they are installed separately. Don’t enclose the passphrase in quotation marks, for example:
|
PULSE_DATA_DIR |
The root directory for the data directories. Default paths:
|
DB_EMBEDDED_POSTGRES |
Windows only: An embedded PostgreSQL database. |
PG_E_ADMINUSER |
Embedded PostgreSQL only: The admin’s username. |
PG_E_ADMINPASS |
Embedded PostgreSQL only: The admin’s password. |
PG_E_PORT |
Embedded PostgreSQL only: The port number to connect to PostgreSQL. |
DB_POSTGRES |
An existing PostgreSQL database. |
DB_ORACLE |
An existing Oracle database. |
DB_MSSQL |
Windows only: An existing MS SQL server. |
DB_HOST |
The hostname to connect to the existing database. |
DB_PORT |
Existing PostgreSQL only: The port number to connect to PostgreSQL. |
DB_NAME |
The name of your existing database. |
DB_USER |
The username to connect to the existing database. |
DB_USER_PWD |
The password to connect to the existing database. |
TC_PORT |
The port number for Common Tomcat. |
TC_USER |
Linux only: The username for the Tomcat owner. Note: For security, do not use the root user to own and run Tomcat. |
MAIL_SERVER_HOST |
(Optional) The hostname of the mail server for sending notifications. |
MAIL_SERVER_PORT |
(Optional) The port of the mail server for sending notifications. |
For examples of how to set the properties in a response.properties file, see Response file examples.
To install PulseUno in silent mode:
- Download and unpack the installation file.
- Prepare a response.properties file using the properties described earlier.
- From a command line, change to the directory containing the installer.
- Run the command for the silent mode installation:
- On Windows, as a local system user:
<installer-location>\<PulseUno-installer>.exe -f <response-file-location>\response.properties -i silent
- On Linux, as a root user:
<installer-location>/<PulseUno-installer>.bin -f <response-file-location>/response.properties -i silent
where:
<PulseUno-installer>.exe
<PulseUno-installer>.binSpecifies the name of the PulseUno installation file, for example, pulseuno-21.1.0-setup-windows.exe or pulseuno-21.1.0-setup-linux.bin.
<installer-location> Specifies the full path to the PulseUno installation file.
<response-file-location> Specifies the full path to the response.properties file.
- On Windows, as a local system user:
Next steps
Response file examples
This topic provides several examples of how to create a response.properties file for installing PulseUno in silent mode.
Example 1 (Windows). Installing the PulseUno server with an embedded PostgreSQL database. The Git and Vault servers are not installed.
USER_INSTALL_DIR=C:\\Program Files\\Micro Focus\\PulseUno FEATURE_PULSEUNO=1 FEATURE_VAULTSERVER=0 FEATURE_GITSERVER=0 PULSE_PASSPHRASE=my-secret GITSERVER_URL=http://remotehost:8080/git-server VAULTSERVER_URL=http://remotehost:8080/vault-server PULSE_DATA_DIR=C:\\ProgramData\\Micro Focus\\PulseUno DB_EMBEDDED_POSTGRES=1 DB_POSTGRES=0 DB_ORACLE=0 DB_MSSQL=0 PG_E_ADMINUSER=postgres-username PG_E_ADMINPASS=postgres-password PG_E_PORT=5432 TC_PORT=8080 MAIL_SERVER_HOST=localhost MAIL_SERVER_PORT=25
Example 2 (Windows). Installing only the Vault server.
USER_INSTALL_DIR=C:\\Program Files\\Micro Focus\\PulseUno FEATURE_PULSEUNO=0 FEATURE_VAULTSERVER=1 FEATURE_GITSERVER=0 PULSE_PASSPHRASE=my-secret PULSE_HOSTNAME=remotehost
PULSE_PORT=8080 PULSE_DATA_DIR=C:\\ProgramData\\Micro Focus\\PulseUno DB_EMBEDDED_POSTGRES=0 DB_POSTGRES=0 DB_ORACLE=0 DB_MSSQL=0 TC_PORT=8080
Example 3 (Linux). A full installation using an existing Oracle database.
USER_INSTALL_DIR=/opt/microfocus/PulseUno FEATURE_PULSEUNO=1 FEATURE_VAULTSERVER=1 FEATURE_GITSERVER=1 PULSE_PASSPHRASE=my-secret PULSE_DATA_DIR=/opt/microfocus/PulseUno/data DB_ORACLE=1 DB_POSTGRES=0 DB_NAME=oracle-database DB_HOST=localhost DB_USER=oracle-username DB_USER_PWD=oracle-password TC_PORT=8080 TC_USER=tomcat-username MAIL_SERVER_HOST=localhost MAIL_SERVER_PORT=25
Example 4 (Linux). Installing only the Git server.
USER_INSTALL_DIR=/opt/microfocus/PulseUno FEATURE_PULSEUNO=0 FEATURE_VAULTSERVER=0 FEATURE_GITSERVER=1 PULSE_PASSPHRASE=my-secret PULSE_HOSTNAME=remotehost
PULSE_PORT=8080 PULSE_DATA_DIR=/opt/microfocus/PulseUno/data DB_ORACLE=0 DB_POSTGRES=0 TC_PORT=8080 TC_USER=tomcat-username
Post-installation steps
After the installation, verify the following:
| Installation logs | Check the installation logs to review the installation process. Default locations:
|
| Running services | Check that the following services are running:
|
Before using PulseUno, ensure that you have the necessary licenses to work with PulseUno. The evaluation option provided by PulseUno is limited to three users and three agents. For details about managing licenses, see PulseUno licensing.
Next steps
Log in to PulseUno
To open the PulseUno web interface, launch the application from your desktop or navigate to the following URL in a browser:
http://<PulseUno-hostname>:<PulseUno-port>/pulse
Out of the box, PulseUno is configured to use internal authentication. To access the PulseUno web interface for the first time, you need the root user credentials:
| Default username | root |
| Default password | An automatically generated super user authentication token. To get the super user authentication token, open the pulse.<date>.log file in the pulse_data\_logs directory. Default locations:
|
After you have logged in, we recommend that you create an administrator account and set its password. The password for the root user is randomly generated every time Common Tomcat is started. To avoid looking up the password in the logs, create a new user, for example, gitsys. For details, see Add users.
See also
Create, modify, and delete Git repositories
Uninstall PulseUno
When you uninstall PulseUno, only the product’s features are removed.
The uninstaller doesn't remove:
- Files and folders created after the installation
- Micro Focus Common Tools
- Database objects
To uninstall PulseUno on Windows:
- Log in as a local system user.
- Depending on your Windows version, navigate to the Apps & features or Programs and Features control panel.
- Select PulseUno in the list of apps/programs.
- Click Uninstall.
To uninstall PulseUno on Linux:
- Log in as a root user.
- From a command line, run this command:
sh <PulseUno-installation-path>/Change\ PulseUno\ Installation
After uninistalling PulseUno, you can manually delete PulseUno objects from your database. For assistance, contact Support.
See also
Run the installation wizard on Windows
Run the installation wizard on Linux
Install PulseUno as part of Dimensions CM
For details on how to install PulseUno as part of Dimensions CM, see the Dimensions CM documentation.
Upgrade PulseUno
This section provides instructions on how to upgrade PulseUno to the latest version.
Upgrade a standalone PulseUno instance
You can upgrade PulseUno from version 20.1 by running the latest installer on top of your existing installation. The installer removes the earlier product version and installs the new version using your current PulseUno database, application server, and mail server settings.
Prerequisite: Before you upgrade PulseUno, back up your current installation. Make a copy of the root directory where the PulseUno data directories are stored:
| Windows | %ProgramData%\Micro Focus\PulseUno For example, C:\ProgramData\Micro Focus\PulseUno If installed with an embedded PostgreSQL database, also back up the directory containing user data: <PulseUno-installation-path>\pgsql_data |
| Linux | <PulseUno-installation-path>/data For example, /opt/microfocus/PulseUno/data |
To upgrade PulseUno, run the installation for your platform, as described in Install a standalone PulseUno instance.
For silent upgrade, follow the instructions in Install PulseUno in silent mode.
After the upgrade, complete the Post-installation steps.Upgrade PulseUno as part of Dimensions CM
If you installed PulseUno as part of Dimensions CM, follow the upgrade instructions in the Dimensions CM documentation.
PulseUno licensing
If your PulseUno instance is configured for internal or LDAP authentication, use the AutoPass License Server (APLS) to manage PulseUno licenses. Out of the box, PulseUno allows three free users and three free agents. To have more users or agents, purchase a full license and set up APLS.
This section explains what license options are available and how to configure and use APLS.
License options
The following license options are available for PulseUno.
| Option | Description |
|---|---|
| Evaluation | Before licensing is required, PulseUno provides three free user logins (if configured for internal or LDAP authentication) and three free agents. |
| Named user license | A license for a specific user. Users cannot share named licenses. A user with the named license can access PulseUno from anywhere and only consume a single license. Named licenses are assigned to users in the AutoPass License Server web interface. |
| Agent license | A license for a specific agent. To assign a license to an agent, you approve the agent in the PulseUno web interface. |
Set up the AutoPass License Server
To manage licenses through AutoPass, install and configure the AutoPass License Server (APLS).
To install and configure APLS:
- Download the AutoPass License Server from the Micro Focus ITOM Marketplace (requires login).
NOTE PulseUno 21.1 and later uses AutoPass 12.0.0 or later. Normally, we recommend using the latest APLS version available. - Run the installer for your platform.
- Open the APLS web interface and configure the server. For details, see the AutoPass License Server documentation.
Alternatively, you can set up APLS as a Docker image. For details, see the Docker documentation.
After the installation, the APLS service starts automatically. To start or stop the service manually, see the AutoPass License Server documentation.
Next steps
Configure PulseUno to use AutoPassConfigure PulseUno to use AutoPass
After installing the AutoPass License Server (APLS), configure the communication between PulseUno and AutoPass.
Configuration steps:
- Add AutoPass details to the PulseUno startup.properties file. See Modify the PulseUno properties with AutoPass details.
- Configure an HTTPS connection to establish the trusted relationship between APLS and PulseUno. Out of the box, APLS uses a custom SSL certificate for HTTPS. You may replace this certificate with another certificate signed by your own certificate authority (CA), or with a self-signed certificate. For details, see Add the SSL certificate to the Java keystore.
Modify the PulseUno properties with AutoPass details:
- On a licensed PulseUno server, edit the startup.properties file in the pulse_data\conf directory to define the following properties:
license.type=autopass
where <APLS-URL> is the URL of your AutoPass License Server, for example:
license.autopass.server=<APLS-URL>
license.autopass.server=https://apls:5814
- Restart PulseUno.
Add the SSL certificate to the Java keystore:
- Obtain the CA certificate or the self-signed certificate used by APLS, as a .pem, .der, or .cer file.
- Back up the cacerts file in the Common JRE's keystore directory. The default keystore locations are:
Windows C:\Program Files\Micro Focus\common\jre\8.0\lib\security\cacerts Linux /opt/microfocus/common/jre/8.0/lib/security/cacerts - Using the Common JRE’s keytool command-line tool, run this command:
Windows:
<JAVA_HOME>\bin\keytool -import -v -trustcacerts -alias APLS -file <certificate-file> -keystore <JAVA_HOME>\lib\security\cacerts -keypass changeit -storepass changeit
where:
<JAVA_HOME> Specifies the root location of the JRE directory. The default locations are:
- Windows: C:\Program Files\Micro Focus\common\jre\8.0
- Linux: /opt/microfocus/common/jre/8.0
<certificate-file> Specifies the path to your SSL certificate file.
- Restart Common Tomcat.
Next steps
Request a license
You need the AutoPass Lock Code to obtain license keys.
To request a license:
- Get the AutoPass Lock Code.
- Open the APLS web interface.
- Navigate to License > Install.
- Copy the alpha-numeric value in the Lock Code field, for example, 1A2B3C-456DEF.
- Visit the Micro Focus Software Entitlement portal (requires login) and use the Lock Code to submit a license request.
- Download your license key from the portal.
For more details, request assistance at Contact Licensing Delivery Center (requires login) or contact your Micro Focus sales representative.
Next steps
Install a license
After configuring your AutoPass License Server (APLS) and obtaining license keys, install the licenses in APLS. You need APLS administrator privileges for this task.
To install a license:
- Open the APLS web interface.
- Navigate to License > Install.
- Add your license keys. For details, see the AutoPass License Server documentation.
After installing licenses, assign them to specific users and agents:
- To assign licenses to users, see Assign named licenses.
- To assign licenses to agents, see Approve agents.
Assign named licenses
After you install named user licenses, assign them to specific user login names in the APLS web interface. You need APLS administrator privileges for this task. For details, see the AutoPass License Server documentation.
Approve agents
When an agent is associated with an instance of PulseUno, it is automatically displayed in Administration > Agents. To confirm that an agent is known and trusted, approve the agent.
If you have already approved three agents, each additional agent that you approve will consume a license.
Considerations:
- When an agent is added to PulseUno, it is unapproved by default, and you cannot use it to run chains. If it's a trusted agent, you can approve it.
- Unapproving or deleting an agent releases the license assigned to the agent.
- Taking an approved agent offline or online does not affect licensing.
- PulseUno provides up to three free agents. Further agents require agent licenses.
To approve an agent:
- In PulseUno, navigate to Administration > Agents.
- Select one or more agents.
- From the Mark As list, select Approved.
- To unapprove an agent and release its license, select Unapproved from the Mark As list.
View license information
You can view the usage of named licenses, expiry dates, capacity, and sharing details in the APLS web interface.
To view named license information:
- Open the APLS web interface.
- Navigate to Usage and Report > License Usage. The page displays an overview of license types.
- To view usage details, click the license type.
You can check if an agent is licensed, or if there are licensing issues with agents, in the PulseUno web interface. To open the Agents page, navigate to Administration > Agents.
Organize work
As an administrator, you can organize work into spaces, register CM products and create Git repositories.
- A space is a collection of related CM products or Git repositories, for example, Insurance.
A space can contain one or more products or Git repositories, for example, Life Insurance and Health Insurance.
You can register CM products so that they respond to events produced from those products.
You can also create Git repositories and maintain them using standard Git functionality. - A product is a major unit of software development and a collection of streams. For example, the product Life Insurance can contain these streams:
- LIFE
- DISCOUNTS
- PROMOTION
- A stream is the same as a Dimensions CM stream or project and represents a single line of development.
- A branch is the same as a Git branch and represents a single line of development.
In PulseUno, the terms stream and branch may be used interchangeably.
Activity feed
You can view recent activity for a space, product, Git repository, stream, or branch. As an administrator or space owner, you can also view the activity of other PulseUno users, for example, when you need to investigate certain events.
PulseUno enables you to export activity data to an XML or JSON file.
The activity feed displays the following recent events:
- Deliveries of changesets to the streams or branches that create reviews.
- Reviewers added to a review.
- Changes to reviews' states.
- Review comments.
- The results of chains and experts than ran on changesets.
- Pushes to and pulls from a Git repository.
View activity
When viewing the activity feed, use filters to narrow down the list of events.
To view and filter activity:
- Choose what activity you want to view:
- To view activity for a space, open Spaces and select a space.
- To view activity for a product, Git repository, stream, or branch, open Spaces and drill down to select the unit you need.
- To view your own activity, open My Work.
- In the sidebar, select Activity. The Activity page with a list of events for the current location opens.
- From the All Activities list, select an event type, for example, Comments.
Alternatively, in the search field, enter a keyword in the format<keyword>:<value>. Keywords are not case-sensitive.
For example, to view activity about pull request PR1234, enterReview:PR1234.
To view activity for two or more event types, enter keywords in the format<keyword>:<value> or <keyword>:<value>, for example,Event:Reviews or Event:Votes.
For more examples, see Activity feed keywords. - Administrators only: To view activity for a particular user, click the user's name in any event done by the user.
To view activity for reviews or changesets, open the Conversation tab of the relevant review or changeset.
Export the activity feed
As an administrator or space owner, you can download activity using the Export feature.
To export the activity feed:
- Open the Activity page for the unit or the user you need, as described in View activity.
- Click Export next to the search field. The Feed Export dialog box opens.
- From the All Activities list, select an event type to export only the filtered results. To export the unit's entire activity feed, keep All activities selected.
To select activity for two or more event types, enter keywords in the format<keyword>:<value> or <keyword>:<value>, for example,Event:Reviews or Event:Votes. Keywords are not case-sensitive. - Select the format in which you want to export the data. The supported formats are XML and JSON.
- Select the period for which you want to export activity.
To specify your own period, select Custom and then select the start and end dates.
- Click Export. A file with activity data is downloaded to your machine.
Create, modify, and delete spaces
As an administrator, you can create, edit, or delete spaces.
In a space, you can register Dimensions CM products or create Git repositories. For details, see the following topics:
Create a space
Spaces are located at the top level of the PulseUno navigation.
To create a space:
- In PulseUno, navigate to Spaces.
- Click New Space (+).
- Enter a title for the new space.
- (Optional) Enter a description for the space. Use the tools to format, and preview, the description.
- Click Save.
Modify a space
As an administrator, you can modify the title and description of a space.
To edit a space:
- In PulseUno, navigate to Spaces and open the space you want to modify.
- Click Edit.
- Change the title and/or description. Use the tools to format and preview the description.
- Click Save.
Delete a space
As an administrator, you can remove a space with all its contents.
To delete a space:
- In PulseUno, navigate to Spaces and open the space you want to delete.
- In the sidebar, click Settings > Advanced.
- On the Advanced page, click Delete This Space and then confirm your action.
Register, modify, and delete products
As an administrator, you can add, modify or delete products in PulseUno.
Register a product to a space
As an administrator, you can register Dimensions CM products in PulseUno.
To register a single product:
- In PulseUno, navigate to Spaces and select a space.
- Click Register (+) and select Register Single Product.
- Enter a title for the product.
A PulseUno product is the same as a Dimensions CM product but the titles can be different. - (Optional) Enter a description for the PulseUno product. Use the tools to format, and preview, the description.
- From the Repository Name list, select one of the following:
- Select an existing Dimensions CM repository.
- Create new Dimensions CM repository.
- If you are creating a new repository, provide these details:
Field Description Title Enter a title for the Dimensions CM repository.
Server Enter the network address of the Dimensions CM server, for example, dm-server.example.com.
Base database name
Enter the CM base database name and connection string, for example, cm_typical@dim14.
System Credentials
(Optional) Select the Always use the following credentials option that controls what set of credentials is used for connecting to the Dimensions CM repository. For details about this option, see Connect to Dimensions CM repositories.
System username
Enter a username for connecting to the Dimensions CM repository.
System password
Set a password for connecting to the Dimensions CM repository.
CI username
(Optional) Enter a username of the Dimensions CM user to be used for chain operations.
Note: For security purposes, we recommend that this user has permissions only to fetch the code and perform other tasks in Dimensions CM chains.
CI password
(Optional) Set a password of the Dimensions CM user to be used for chain operations.
- From the Product in Repository list, select a CM product.
- Click Register.
Register multiple products to a space
As an administrator, you can register several Dimensions CM products at once.
To register multiple products:
- In PulseUno, navigate to Spaces and select a space.
- Click Register (+) and select Register Multiple Products.
- From the Repository Name list, select one of the following:
- Select an existing Dimensions CM repository.
- Create new Dimensions CM repository.
- If you are creating a new repository, provide these details:
Field Description Title Enter a title for the Dimensions CM repository.
Server Enter the network address of the Dimensions CM server, for example, dm-server.example.com.
Base database name
Enter the CM base database name and connection string, for example, cm_typical@dim14.
System Credentials
(Optional) Select the Always use the following credentials option that controls what set of credentials is used for connecting to the Dimensions CM repository. For information about using this option, see Connect to Dimensions CM repositories.
System username
Enter a username for connecting to the Dimensions CM repository.
System password
Set a password for connecting to the Dimensions CM repository.
CI username
(Optional) Enter a username of the Dimensions CM user to be used for chain operations.
Note: We recommend that this user has permissions only to fetch the code and perform other tasks in Dimensions CM chains.
CI password
(Optional) Set a password of the Dimensions CM user to be used for chain operations.
- From the Products in Repository list, shift-click to select multiple CM products.
- Click Register. The new PulseUno products have the same titles as the CM products.
Edit a product
As an administrator, you can modify a product's title and description.
To edit a product:
- In PulseUno, navigate to Spaces, select a space, and then select a product.
- In the sidebar, click Settings. Your product's general settings open.
- Change the product's title and/or description. Use the tools to format and preview the description.
- Click Save.
Delete a product
As an administrator, you can remove a product with all its streams.
To delete a product:
- In PulseUno, navigate to Spaces, select a space, and then select a product.
- In the sidebar, click Settings > Advanced.
- On the Advanced page, click Delete This Product and confirm your action.
The product is now scheduled to be deleted. - To delete the product instantly, click Complete Deletion Now.
- In the warning dialog box, enter the name of the relevant space and product.
- Click Complete Deletion Now.
The product is permanently removed.
To stop the product deletion:
- In PulseUno, navigate to Spaces, select a space, and then select the product to be deleted.
- In the sidebar, select Settings > Advanced.
- On the Advanced page, click Stop Deletion and then confirm your action.
- Reviews in PulseUno are not deleted when their parent location is deleted. You can search for reviews and reregister the product to browse to them. For details, see Search.
- Deleting a product removes its streams from PulseUno but does not affect Dimensions CM.
- Delete a product or unregister a stream if you deleted the corresponding object in Dimensions CM and do not want it to appear in PulseUno.
Create, modify, and delete Git repositories
This topic explains how to create, edit, and delete Git repositories in PulseUno.
As an administrator or space owner, you can organize Git repositories into groups of related repositories by putting them in a space. For details on how to work with spaces, see Create, modify, and delete spaces.
Create a Git repository
As an administrator or space owner, you can create local Git repositories. When you initialize a Git repository, PulseUno enables you to populate it with the contents from a custom template, a Dimensions CM stream, or another Git repository.
To create a Git repository:
- In PulseUno, navigate to Spaces and select the space where you want to add a repository.
- Click Create Git Repository.
- On the New Git Repository page, provide the following details:
Field Description Repository name Enter a name for your repository.
The name becomes a part of the path to your repository.Repository URL (Already provided) The full path to your repository. Description (Optional) Enter additional information about the repository. Initialize repository Select how you want to initialize the repository:
- As an empty repository. Create an empty repository with no branches.
- With a Readme file. Create a repository with a default branch.
- With content from a built-in template. Create a repository with the same content and structure as the custom template you created earlier. For details about templates, see Create a Git repository template.
- Synchronize a branch from another repository. Create a repository with the default branch that will be synchronized with a Dimensions CM stream:
- Select a CM repository connection.
To select a connection, first you need to create it. For details, see Connect to Dimensions CM repositories. - Select a product in the CM repository to which you are connecting.
- Select a CM stream to synchronize with.
- To copy the entire history of the CM stream, clear the Clone tip of stream option. By default, no historical changesets are pulled into the new Git repository.
- Import from another Git repository. Create a repository with content imported from another Git repository, for example, from GitHub or BitBucket. Provide the URL, username, and password for the source repository.
Default branch If you’re initializing a repository with a Readme file or with content from a template, specify the default branch, for example, main or development. Visibility level Set the visibility level to define who has access to the repository:
- Private (default). Only authenticated users who have member permissions to the repository can access it.
- Internal. Authenticated users without member permissions have guest access and can clone or pull the repository. Unauthenticated users have no access.
- Public. Authenticated users without member permissions as well as unauthenticated users have guest access and can clone or pull the repository.
Builds Keep this option selected to run builds using chains. Requests provided by (Optional) If you set up a connection to a request provider such as Atlassian Jira or Micro Focus ALM Octane, you can select it to integrate with the repository. For details about integrations, see Integrate with external request providers.
Reviews Keep this option selected to automatically create reviews when delivering changes. Pull Requests Keep this option selected to automatically create pull requests. Check Lists Select this option to use a check list for reviews and pull requests. Then select the check list you want to use. - Click Save.
Edit a Git repository
As an administrator, you can modify the name and description of a repository.
To edit a Git repository:
- In PulseUno, navigate to Spaces and select the space containing the repository.
- Open the repository.
- In the sidebar, select Settings. Your repository's general settings open.
- Change the repository's name and description. Use the tools to format and preview the description.
- To modify access to the repository, change the visibility level:
Visibility level Description Private Only authenticated users who have member permissions to the repository can access it. Internal Authenticated users without member permissions have guest access and can clone or pull the repository.
Unauthenticated users have no access.Public Authenticated users without member permissions as well as unauthenticated users have guest access and can clone or pull the repository. - Click Save.
Delete a Git repository
As an administrator, you can delete Git repositories.
PulseUno enables you to remove a repository instantly or schedule to delete it in 7 days. During those 7 days, you can cancel the deletion anytime.
To delete a Git repository:
- In PulseUno, navigate to Spaces and select the space containing the repository you want to delete.
- Open the repository.
- In the sidebar, select Settings > Advanced.
- On the Advanced page, click Delete This Product and then confirm your action.
The repository is now scheduled to be deleted in 7 days. - To delete the repository instantly, click Complete Deletion Now.
- In the warning dialog box, enter the name of the relevant space and repository.
- Click Complete Deletion Now.
The repository is permanently removed.
To stop the repository deletion:
- In PulseUno, navigate to Spaces and select the space containing the repository.
- Open the repository scheduled to be deleted.
- In the sidebar, select Settings > Advanced.
- On the Advanced page, click Stop Deletion and then confirm your action.
Create a Git repository template
This topic explains how to generate a Git repository template that you can later use as a blueprint for new repositories. A template is an exact copy of a repository's structure and content.
To create a Git repository template:
- Compress the repository's directory with all its contents into a zip file. By default, you can find the repository's files in your Git server's git_data directory, for example:
C:\ProgramData\Micro Focus\PulseUno\git_data\repositories\<auto-generated-repository-name> - Copy the zip file to the gitserver-templates directory on your PulseUno server, for example:
C:\ProgramData\Micro Focus\PulseUno\pulse_data\conf\gitserver-templates - To make the template available in the web interface, restart Common Tomcat.
For details about creating Git repositories, see Create a Git repository.
Move a product or Git repository
As an administrator, you can move a product or Git repository to another space.
To move a product or Git repository:
- In PulseUno, navigate to Spaces.
- Select a space, and then select a product or Git repository.
- Click Move.
- Select a space from the list.
- Click Move.
Register a Dimensions CM stream to a product
Dimensions CM streams are registered automatically in a PulseUno product when anyone makes a delivery to that stream. However, administrators can manually register a stream, for example, to add a chain before the next delivery to that stream.
To register a stream to a product:
- In PulseUno, navigate to Spaces and select a space.
- Select the product where you want to register a stream.
- Click Register Stream.
- In the Stream Name box start typing the name of a stream. PulseUno automatically displays a list of all the streams that match the string (not case-sensitive).
TIP Use wildcards to help you find a stream:
- Enter an asterisk (*) at the end of a string to match a range of names, for example, DEV:STREAM_A*
- Enter an asterisk (*) to view all the streams in a Dimensions CM product.
- Select a stream.
- Click Save. The stream is registered with the product. Now you can:
- Configure the stream. For details, see Automatically create reviews and run chains.
- Add steps to chains. For details, see Add steps to chains.
Delete streams
As an administrator, you can unregister streams.
To unregister a stream:
- In PulseUno, navigate to Spaces.
- Select a space, a product, and then select one or more streams.
- Click the Delete icon and confirm.
- Reviews in PulseUno are not deleted when their parent location is deleted. You can search for reviews and re-register the stream to browse to them.
- Unregistering a stream does not affect Dimensions CM. The stream is automatically re-registered in PulseUno when deliveries are made to it in CM (unless the parent product is also unregistered).
- Unregister a stream if you deleted the corresponding object in Dimensions CM and do not want it to appear in PulseUno.
Set favorite streams
You can add a stream to your list of favorite, active streams. Favorite streams are marked with a star and are always displayed at the top of the streams list.
To add a stream to favorites:
- In PulseUno, navigate to Spaces.
- Select a space and then a product.
- In the list of streams, click a stream to open it.
- Next to the stream name, toggle the star to add or remove the stream from your favorites.
Filter the list of streams or branches
On a product or Git repository page, you can filter the list of streams and branches.
To apply a filter to streams or branches:
- In PulseUno, navigate to Spaces, select a space, and then select a product or Git repository.
- In the search box, enter a filter and press Enter. For details about using search, see Search.
PulseUno automatically displays a list of streams and branches that match the string (not case-sensitive).
Product, stream, and branch settings
As an administrator, you can set defaults for all the streams in a product or branches in a Git repository. For example, you may want different products to show different check lists when users vote to approve reviews or request changes. You can override these settings for individual streams or branches.
Change the default branch
When creating a Git repository, you define a default branch, which is your main development branch where all pull requests land by default. As an administrator, you can change a Git repository's default branch.
To change the default branch:
- In PulseUno, navigate to Spaces, select a space and then a Git repository.
- In the sidebar, select Settings > Branches.
- On the Branches page, select a default branch from the list of branches.
- Click Save.
Set new stream and branch defaults
When creating new streams or branches, you can copy the settings from either the parent stream/branch or the product or Git repository.
To set the defaults for new streams or branches:
- In PulseUno, navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Settings > Branches.
- On the Branches page, select one of the options:
- Copy settings from parent branch. Create new streams/branches using the settings of a parent stream/branch.
- Inherit settings from product. Create new streams/branches using the product/Git repository settings.
- Click Save.
Define branch policies
Branch policies protect branches in your repository from unwanted actions, such as force pushing commits or deleting branches. With branch policies, you set the conditions for creating branches and submitting commits.
Branch policies enable you to control the following actions:
- Force pushing to a branch.
- Creating a branch with the same name.
- Deleting a branch.
- Requesting a ticket (request identifier) for a commit or branch.
- Requiring verified signatures for commits.
You can define a branch policy for a specific branch or a set of branches in your Git repository.
To create a branch policy:
- In PulseUno, navigate to Spaces, select a space, and then select a Git repository.
- In the sidebar, select Settings > Branch Policies.
- Click the Add button (+).
- On the New Branch Policy page, specify the following details:
Field Description Branch name pattern Enter a branch name or a name pattern. Use an asterisk *as a wildcard to match a set of branches in a repository.Commits Define the following options:
- Require that commit messages or branch names contain valid request identifiers.
Select Apply to Owners as well to enforce this option on all users, including owners.
For details on how to set up a connection to an external request provider, see Integrate with external request providers. - Require that all commits have verified signatures.
Select Apply to Owners as well to enforce this option on all users, including owners.
For details on how to configure commit signing, see Add GPG keys to verify signed commits.
History Define the following options:
- Enforce linear history by preventing merge commits from being pushed.
Select Apply to Owners as well to enforce this option on all users, including owners. - Permit force pushes for all users with push access.
Select Apply to Owners as well to enforce this option on all users, including owners.
Branches Define the following options:
- Prevent all users from creating matching branches.
- Prevent all users from deleting matching branches.
- Require that commit messages or branch names contain valid request identifiers.
- Click Create.
You can create as many branch policies as you need. In the Branch Policies list, rearrange policies in the order you want them to be applied to branches. The top policy takes precedence over those under it.
Set delivery filter defaults
As an administrator, you can set the default delivery filter for a product or Git repository, which automatically assigns it to any streams or branches that do not have a filter. A product or repository can only have one default delivery filter. You can apply a different delivery filter to an individual stream or branch.
Delivery filters determine which changesets create reviews and run chains. For example, you could exclude deliveries of built artifacts made on behalf of your automated CI system in those products where CI was configured. For details on creating delivery filters, see Create delivery filters.
To set a default delivery filter for a product or Git repository:
- In PulseUno, navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Settings > Delivery Filters.
- On the Delivery Filters page, select the filter you want to make default for this product or Git repository.
- Click Set As Default and then click Make Delivery Filter Default.
To set a delivery filter for a stream or branch:
- In PulseUno, navigate to Spaces, select a space, and then select a product or Git repository.
- Open a stream or branch.
- In the sidebar, select Settings > Delivery Filters.
- On the Delivery Filters page, select Override default delivery filter.
- Select Filter deliveries using, and then select the filter you want to make default for the stream or branch.
- Click Save.
Configure how reviews are created
As an administrator, you can define how reviews are created for a product/Git repository or an individual stream/branch.
To configure review settings for a product or Git repository:
- In PulseUno, navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Settings > Reviewing changes.
- On the Reviewing Changes page, in the Reviews section, define the following review settings:
Setting Description Creating Specify options for creating reviews, such as creating reviews automatically, including pull request merges.
Check Lists Select Enable check list to set the default check list for reviews. Then select the check list you want to use.
Rules Select Use custom review rules to apply a rule to reviews. Then select one of the rules.
Rules control how reviews move from one state to another, for example, whether all reviewers must approve a review, or just one reviewer.
- Click Save.
To configure review settings for a stream or branch:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- Select a stream or branch.
- In the sidebar, select Settings and then the Reviews tab.
- From the Creation of Reviews in Stream list, select an option for creating reviews:
- Use the product's default setting.
- Automatically create reviews.
- Allow manual creation of reviews.
- Do not allow reviews.
- From the Rules To Use list, select a rule.
Rules control how reviews move from one state to another, for example, whether all reviewers must approve a review, or just one reviewer. For details, see Review rules. - From the Check List To Use list, select a review check list to be used with new reviews. You also have the option of using the product's default check list or not using a review check list at all.
For details about check lists, see Manage review check lists. - Click Save.
Set pull request options
Configure chain runs
As an administrator, you can configure how chains run on streams or branches.
To define chain run settings:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- Select a stream or branch.
- In the sidebar, select Settings and then the Chain Execution tab.
- From the Run chains list, select one of the options:
- Use the product's default chain execution setting.
- Run chains on this stream.
- Disable chains on this stream.
- Click Save.
Configure agents
Agents are small applications that PulseUno uses to run chains. For details about chains, see Chains.
Considerations:
- Each agent is associated with a specific instance of PulseUno.
- Each instance of PulseUno includes an embedded agent, so you do not need to install an agent on the same machine.
- To distribute the processing load of chains, install multiple agents on different machines on a network.
- Agents only include the code required to run chains and automatically download the required plugins from the PulseUno server. You do not need to manually install plugins on agents.
- You can configure agents to run specific chains by adding capabilities and variables. For details, see Add capabilities to agents and Add variables to agents.
For details about installing and configuring agents, see the PulseUno Agents Guide.
For details about approving and licensing agents, see Approve agents.
Manage agents
View agent information
The Agent page lists all the agents registered for your PulseUno instance. Each agent displays the following information:
- Agent name (same as the host machine, which you cannot change in PulseUno), for example: suse4130-buildagent
- Title (an optional description of the agent), for example, Windows compilers
- Status: Embedded, Offline, Unapproved
- Universal unique identifier (UUID)
- Operating system of the host machine
- Connection status, for example: Started 2 weeks ago
- Heartbeat (when the agent last communicated with PulseUno)
- Agent version
- Capabilities tags
- Memory usage of the host machine
- Workspace remaining on the host machine. A workspace is an area on disk that an agent can populate with code to run a chain.
To view agent details:
- In PulseUno, navigate to Administration > Agents.
- To narrow down the list of displayed agents, select an option from the filter list. For example, you can select all agents or only agents that are online.
- To enable or disable memory and workspace monitoring, click Agent Monitoring.
- To modify an agent's title, open the agent and then click Edit. In the General tab, enter a new title, and click Save.
View agent chains
You can view the chains that are running on an agent and the history of previous chain runs including the last run, last failure, last success, and the total number of runs.
To view chain information:
- In PulseUno, navigate to Administration > Agents.
- On the Agents page, click the agent's name to open the agent.
- To view the chain that is currently running, click the Running tab.
- To view the history of previous chain runs, click the Chains tab. Each chain is on a separate row.
Take agents offline or online
You can take an agent offline, for example, when the host machine is being updated, and you want to temporarily prevent it from running chains.
To take agents offline:
- In PulseUno, navigate to Administration > Agents.
- On the Agents page, select one or more agents.
- From the Mark As list, select Offline.
To take agents back online, select Online from the Mark As list.
Upgrade and restart agents
If an agent is not responding, you can restart it. If you have updated the version of a PulseUno primary. Make sure to update the PulseUno subordinates connected to it. When you upgrade a subordinate, it downloads the agent code from the primary and installs it.
- Upgrade and restart any chains that are running on the agent.
- You cannot upgrade or restart the embedded agent.
To upgrade or restart an agent:
- In PulseUno, navigate to Administration > Agents.
- On the Agents page, click the agent's name to open the agent.
- Click Upgrade or Restart.
Delete agents
Administrators can delete an agent that is registered with PulseUno. Deleting an agent releases any licenses held by that agent.
- You cannot stop or delete the embedded agent.
- If you restart a deleted agent, it is displayed again in PulseUno.
- Deleting an agent does not remove the agent from the host machine where it is installed.
To delete an agent:
- Stop the agent on the host machine.
- In PulseUno, navigate to Administration > Agents.
- Select the agent and click Delete.
- Confirm that you want to delete the agent.
Add variables to agents
You can add variable definitions to agents. A variable provides information about agents that can be used by chain runs. For example:
- The location of a specific compiler on an agent’s host machine.
- The configuration settings used by an expert.
Variables enable you to add steps to chains without needing to know the installation details of applications and tools on your agents.
To add a variable to an agent:
- In PulseUno, navigate to Administration > Agents.
- On the Agents page, click the agent's name to open the agent.
- Click Edit and select the Variables tab.
- Click Add variable (+).
- Enter a name and value pair, for example,
MAVEN_HOME=/home/autobuild/maven3 - (Optional) To make the variable private, select the Private check box. The values of private variables are displayed obscured in the user interface.
- Click Save.
Add capabilities to agents
You can add capabilities to agents. Capabilities describe a host machine's environment, for example:
- A specific operating system
- High memory
- A specific network location
You can add multiple capabilities to agents, use them to match agents to chains, and restrict the agents that can run chains. For example, assume you have multiple agents running Windows. If a chain requires Windows Server 2016 and 64GB of memory, you can:
- Add the capabilities WindowsServer2016 and 64gbMemory to the appropriate agent.
- Add WindowsServer2016 and 64gbMemory as required capabilities on the chain.
When the chain runs it matches its required capabilities with the capabilities of the agents; the chain only runs on the agent that is running Windows Server 2016 and has 64GB of memory.
- On the top navigation click Administration.
- Select Agents and select an agent.
- Click Edit and select the Capabilities tab.
- To add capabilities enter one or more tags. Tags cannot contain spaces.
- Click Save.
Browse code
You can browse the streams and branches in a product or Git repository and view the contents of folders and files. You can browse the current (tip) version of a stream/branch or previous versions. Each file or folder that you open displays information about:
- The user who delivered the changes.
- The changeset ID and delivery message.
- The health of the changes.
- The review associated with the changes.
Files also display:
- Findings from experts when a chain has run on the stream or branch.
- Peer review comments.
- Colored code syntax.
Folders also display:
- A summary of problems with any associated reviews.
- The number of contributors who made changes.
- (Optional) A readme file that describes the folder's contents.
Browse streams and branches
- Open a stream or branch.
- On the sidebar click Code. The Content tab displays the most recent changes to the stream or branch.
- Navigate to a folder or file to view its contents.
Browse previous versions of streams and branches
- Open a stream or branch.
- On the sidebar click Code.
- Do one of the following:
- To browse the entire contents of a previous changeset, select the History tab, select the checkbox for a changeset, and click View at Version. On the Content tab browse the files and folders in the changeset.
- To view a previous version of a file or folder, on the Content tab navigate to the file or folder. Click the History tab, select a version of the file or folder and click View at Version.
- To revert to the tip of the stream or branch, at the top right click View at Tip.
- Enter filters to search the stream or branch, for example, usernames and dates.
- PulseUno displays the version of the stream or branch you selected until you revert to the tip.
- Comments and findings are tied to the file version where they were added and shown when that version is displayed.
- For Dimensions CM, you can only browse changesets created with version 14.1 or later.
Add descriptions of folder contents
(Optional) In each folder, you can create a file that describes its contents. You can write the content in the following formats:
| File Name | Data Type | Search Order |
|---|---|---|
| readme.md | Markdown | 1 |
| package.html | HTML | 2 |
| readme.txt | Plain text | 3 |
| read.me | Plain text | 4 |
| package-info.java | Code | 5 |
PulseUno searches each folder for one of these file types in the order specified in the table above. The first file that is found is rendered, and the content is displayed at the bottom of the folder page.
Add comments to files
You can add comments to files and collaborate with team members. This is similar to adding comments to files in reviews.
Review code changes
About reviews
Overview
You can use peer review to:
- Comment on, and review, the changes in your development projects.
- Collaborate with team members.
- Get insight into the health of changes in your changesets, streams, and branches, such as the results of chain runs.
- Promote team work and development best practices.
- Vote to approve reviews or ask for changes, which may cause reviews to be marked as approved or sent for rework.
As an administrator, you can also:
- Change a review's owner.
- Send a review for rework back to its owner.
- Change a review's state.
- Abandon a review.
The review list displays all the reviews that have been created for the selected user, spaces, product, or stream. A review page displays information about a specific change. You can control how a review's state is changed with the configurable review rules.
Reviews are also displayed on the activity feed for spaces, products, Git repositories, streams, branches, and My Work.
Create reviews
If you are an administrator you can configure changesets to automatically create reviews.
Review states
PulseUno's review states and state changes are:
Reviewers vote to approve, send for rework, and abstain from a review. Depending on the configurable rules their votes may cause a state change, or contribute to a state change in the future. By default, the first reviewer to vote on a review changes its state but different rules may be configured in your environment.
The review states are:
- Draft: the review is being modified by the user who is the owner.
- In Review: the review has been published. Reviewers can add comments and vote on the review.
- Approved: the review's changes have been accepted.
- Rework: the review has been sent back to its owner with suggestions for improvement.
- Completed: if there are no issues the Approved review is normally marked as Completed by the owner.
- Abandoned: a review can be changed to Abandoned at any time by an administrator. The review is closed and removed from circulation.
- If a review's state is changed by mistake to Approved, an administrator can move the review to Rework.
- If a problem is found while reviewing, a reviewer can request changes (which may change its state to Rework).
- If a request's state changes from its peer review state to a previous state, the associated reviews automatically move back to Rework.
- When a request is closed, an associated review at the Approved state automatically moves to Complete.
- Administrators can change a review's state at any time.
Review roles
A user can hold one of the following roles on a review:
- Owner: normally the user that delivered the changeset that created the review. The owner can be changed by an administrator to any valid user.
- Lead reviewer: can be assigned automatically from the changeset and modified manually. For Dimensions CM, the valid lead reviewers are derived from the real role assignments on the design parts in Dimensions CM that own the items being reviewed. For Git, any active user is a valid lead reviewer. A lead reviewer can add optional reviewers.
- Optional reviewer: normally assigned manually. For Dimensions CM, the valid optional reviewers are derived from the candidate role assignments on the design parts in Dimensions CM that own the items being reviewed. For Git, any active user is a valid optional reviewer. Optional reviewers cannot assign other reviewers.
Delivery filters control which changesets automatically create reviews. For Dimensions CM, role assignments on the items in the changeset determine which users are automatically assigned as lead reviewers or are available to be assigned as optional reviewers. For Git, all active users are available to be assigned as lead or optional reviewers.
Review rules
A change in a review's state is triggered by one of the following:
- A user with the appropriate role (Owner or Administrator) changes the review state manually.
- A decision made by a review rule that has run automatically.
The review rules are codified as a script that runs when one of the following significant events occur:
- A new changeset is associated with a review, which may automatically assign reviewers to the review.
- A user manually changes the state of a review.
- A reviewer votes to approve, request changes, or abstain with no opinion on a review that is at the In Review state.
- The owner of a review is changed.
- The reviewers assigned to a review are changed manually.
- Dimensions CM: A request associated with a review is actioned to the In Review state in Dimensions CM. This may automatically assign reviewers.
A rule script uses the votes of the lead and optional reviewers, and additional information, to decide whether to change a review's state. You can create or modify scripts and set the default rule script for each stream. For details, see Configure how new reviews are created.
Review rule scripts
The following table describes the review rule scripts in PulseUno.
| Script | Description |
|---|---|
| defaultRule.js | This script approves or rejects reviews based on the vote of the first reviewer. This is the default review rule script for reviews. The script automatically changes the review state from:
|
| allMustApprove.js | This script handles reviews based on the approval of all reviewers. If any of the reviewers don't approve, the review state changes to Rework. |
| defaultPRRule.js | This script approves or rejects pull requests based on the vote of the first reviewer. This is the default review rule script for pull requests. The script automatically changes the review state from:
|
| leadsOnly.js | This script approves or rejects reviews based on the vote of the first lead reviewer. |
| majorityDecides.js | This script handles reviews based on the approval of a majority, excluding reviewers with no opinion. If half or more reviewers don't approve, or if all reviewers abstain with no opinion, the review state changes to Rework. |
The review list
A review list displays reviews for products, Git repositories, streams, and branches.
To open a review list:
- Select a space, product, stream, or branch.
- On the sidebar select Reviews.
Each row in a review list is a separate review and includes the following information:
- An icon that indicates the review's current state, for example, In Review or Approved
- The review's label (number and title)
- The date the review was created
- The stream associated with the review
- The user who created the review
- The users who are reviewing the review
You can select a filter to modify the type of reviews that are displayed.
- Open a review list.
- From the Reviews list select a filter.
You can also sort the reviews by category, and in ascending or descending order.
- Open a review list.
- Click Sort by.
- Select a category.
- Optionally select, or unselect, Sort descending.
Review pages
Each review page displays the following information:
- An icon that indicates the review's current state, for example, In Review or Approved.
- The review's ID and title.
- The associated stream or project.
- A summary of the review's health, for example, The chains indicated this change is good.
- Reviewer votes.
- The review owner and the lead and optional reviewers.
- Recent activity on the review.
- Related requests.
- The results of chains that ran on the changesets.
- The changesets associated with the review.
- The files and folders associated with the changesets.
- The contents of the files in the review.
Activity
The recent activity on the review is displayed in the Activity section, for example:
- The delivery that created the review
- Chains that ran on the review
You can filter the information that is displayed:
- Discussions & Deliveries: only displays user generated events (such as Review sent for rework) and comments added by reviewers.
- Grouped: also displays the results of chains and experts that ran on the changesets associated with the review.
- All: displays both of the above.
Requests
Related requests are displayed in the Requests section and a summary of the first one is expanded. Click the title of any review to view its details.
The results of any chains that have run on the changesets associated with the review are displayed in the Chain Runs section. Expand a chain run to view the measurements and findings of each expert.

Changesets
The changesets associated with the review are displayed in the Changesets section. Multiple changesets are associated with a review if users have made several deliveries to a stream using the same request.
If a review is associated with multiple changesets you can filter the files that are displayed.
- In the Changesets section select two changesets to compare with each other.
- Click View. The contents section and the sidebar are updated and only files that have changed between the selected changesets are now displayed.
Contents
The Contents section, and the sidebar, display all the files and folders in a review. You can view the contents of any file and add comments.
Publish a review
When a review is created its initial state is Draft. If you are the review owner, or a user with administration privileges, you can publish the review so that it is available to your team. The owner is normally the user that delivered the changeset that created the review.
- On the review list page select the review you want to publish.
- Click Publish.
- Click Publish Review. The review is now at the In Review state.
Add and remove reviewers
Each review can have reviewers with these roles:
- A review owner; normally the user who delivered the changeset that created the review.
- One or more lead and/or optional reviewers.
- A review owner, or an administrator, can add and remove lead and optional reviewers.
- A lead reviewer can add and remove optional reviewers.
- An administrator can add anyone as a review owner or a reviewer.
- A review owner or lead reviewer can only add reviewers that have a role on one of the review items' design parts.
To add reviewers to a review:
- Open a review.
- In the Reviewers section click Add and then Lead Reviewer or Optional Reviewer.
- Select more or more reviewers.
- Control click to select multiple users.
- Use Search to find users.
- Click Add Reviewers.
To remove reviewers from a review:
- Open a review.
- In the Reviewers section select more or more reviewers.
- Click Remove and confirm.
Browse the contents of files in a review
The Contents section, and the sidebar, display all the files and folders in a review. Changes to files and folders, and to lines and characters in files, are displayed with these colors:
| File added | |
| Line and/or characters added | |
| File deleted | |
| Line and/or characters deleted | |
| Line and/or characters deleted | |
| File renamed |
The sidebar displays the total number of files in the review.

The Contents section displays the number of files and folders that have been added, modified, renamed, and deleted.

Click a file to view its contents. Use the Show menu to control how the file contents are displayed.
- Binary files are not displayed but you can download them.
- If a file is marked as binary but you know it is a text file, from the Show menu select As Text. In CM, check the format and upload rules.
- If only part of a file's contents are displayed, from the Show menu select Entire File.
- Only the contents of the first 30 files are displayed. To display more files scroll to the bottom of the review page and click Load more.
- To display the previous revision of a file, from the Show menu select Previous.
- To combine the previous and current revisions of a file, from the Show menu select Unified.
- To display the previous and current revisions of a file in separate columns, from the Show menu select Display Side by Side. The current version is displayed on the right tab and the previous version on the left tab.
- Lines that have been added, or have new characters, start with a '+' (plus) character.
- Lines that have been deleted, or where characters have been deleted, start with a '-' (minus) character.
- To control how white space is displayed, from the Show menu select a white space option.
- To open the version of the stream (in the repository browser) where a file revision was made, click its ID number on the tab.
Add comments to files in reviews
You can add comments to files in a review and collaborate with team members. Each reviewer receives an email with a snippet of the code and the review comments. This is different to adding a comment to an entire review.
- On a review page find a file.
- In the line number column, click and drag to select the lines where you want to add a comment.
- In the Comment box enter your comments. Optionally, format the comment using the toolbar or markdown syntax.
- To display how your comment will look, click Preview. To continue editing click Edit.
- To add the comment click Comment. Your comments are now visible to your team and their responses will be displayed in the same comment box.

You can also email comments to users who are not included in a review, for example, you want the opinions of other developers.
a. On the toolbar click Mention
or enter the @ character in the comment box.
b. Start typing the name of a registered user, PulseUno automatically displays the names of users that match.
c. Select a user.
d. Repeat to add additional users.

- Comments are tied to the file version where they were added and shown when that version is displayed.
- Comments are not added to the actual file versions.
- You can add comments to reviews at specific states.
- You can edit your own comments until there is a reply.
Vote on a review
You can vote to approve a review or request changes. Depending on how the rules script for this stream is configured, your vote may trigger the rule script to move the review to its next state.
- At the top of a review click Approve or Request Changes.
- Enter the reasons why you are voting to approve the review or requesting changes.
- Optionally format your comment (see the markdown reference).
- To display how your comment will look click Preview. To continue editing click Edit.
- If a check list is presented, select items that have influenced your voting decision.
- Click Approve or Request Changes.
You can also abstain from voting. This useful if there is a rule that mandates that all reviewers must vote, but you have no opinion.
- Open a review.
- Click Action
and select Abstain with No Opinion. - Enter a reason for abstaining and click Abstain.
Mark a review as approved
As an administrator, you can bypass reviewer voting and mark a review as Approved.
- Open a review.
- Click Action
and select Mark as Approved. - Click Approve Review.
Change a review’s owner
As an administrator, you can change a review's owner.
- Open a review.
- Click Change Owner.
- Select a user.
- Click Change Owner.
Send a review for rework
If you are a review owner, or a user with an administrator role, you can send a review back to its owner for rework with suggestions for improvement, and bypass reviewer voting.
- Open a review.
- Click Action
and select Send for Rework. - Click Send for Rework.
Abandon a review
If you are a review owner, or a user with an administrator role, you can abandon a review. Abandoning a review indicates that it is no longer active and stops further review activity. This action cannot be reversed.
- Open a review.
- Click Action
and select Abandon Review. - Click Abandon Review.
Close a review
If you are a review owner, or a user with an administrator role, you can close a review. Closing a review prevents further changes being made to it. Only close a review if you are sure that no further work is required.
- Open a review.
- Click Close Review and confirm.
Add comment to an entire review
You can add comments to an entire review when it is at specific states. Comments appear in a review's activity feed. This is different to adding comments to a specific file in a review.
- Open a review.
- Click Action
and select Comment on Review. - Optionally format your comment. To display how your comment will look click Preview. To continue editing click Edit.
- When you have finished click Add Comments.
Edit a review's title
You can edit a review's title.
- Open a review.
- Click Action
and select Edit Title. - Enter a new title and click Save.
Set review page and pull request defaults
You can set the display defaults for the files in your reviews and pull requests:
- Display comments made by reviewers
- Display the findings made by chain runs inline inside files. If you switch this off, mouse over the margin to display findings.
- Display the entire contents of each file
- Display the previous version of each file
- Unify the previous and current differences of each file
You can also select a white space options, for example, Ignore White Space.
- Open a review or a pull request.
- Click Action
and select Display Defaults. - Select options.
- Click OK.
Manage review check lists
When a user votes to approve reviews, request changes, and packages they are typically required to select items from a check list. Administrators can create different types of check lists to satisfy different levels of severity. For example:
- Secure: a complex check list with high levels of tightly controlled compliance, for example, for licensing.
- Minimum: a small list with low levels of compliance, for example, for in-house testing.
For each stream or branch the same check list is used for approvals and changes, however, you can associate a different review check list with each stream.
To create a review check list:
- On the top navigation click Administration.
- Select Check Lists.
- Click New Check List.
- Enter a name for the check list.
- Enter items that you want your reviewers to select when voting to approve reviews or request changes. Review check lists may contain up to ten items. For example:
- Coding standards
- Export compliance regulations
- Software complexity rules
- Click Save.
To delete review check lists:
- Select Administration > Review Check Lists.
- Select one or more check lists.
- Select Delete and confirm.
You can also select the default check list for a space, product, and Git repository.
Watch a review
You can optionally watch a review when it is at specific states. When changes are made to the review you will be notified by email. You can select the notifications that you receive.
- To watch a review click Watch.
- To stop watching a review click Unwatch.
Administrators can configure changesets to automatically create reviews and run chains of experts. The first delivery of a changeset to Dimensions CM creates a new PulseUno review whose title is the same as the delivery change comment. If the review is related to a specific request, subsequent deliveries that use the same request are grouped under the same review.
To create reviews and run chains you need to:
- Create delivery filters
- Configure which changesets automatically create reviews and run chains
Create delivery filters
Delivery filters enable you to control how reviews are created, and chains are triggered, for each stream or branch. Every path in a changeset is matched against the patterns in a stream's delivery filter. If one or more paths pass through the filters, the changeset delivery creates reviews and runs chains. The default delivery filter for a product or Git repository is used by any streams or branches in that product or repository that do not have an assigned delivery filter.
To create a delivery filter for a product or Git repository:
- Select the product or Git repository where you want to create a delivery filter.
- In the sidebar, select Delivery Filters.
- Click the New Delivery Filter icon (+).
- In the Title box, enter a name for the new delivery filter.
- In the Note box, optionally enter information about the filter.
- Use the Exclude Paths/Include Paths fields to control which paths create reviews and run chains.
For Excluded paths, do one of the following:- To prevent specific paths from creating reviews and running chains, enter
Ant-style patterns (one pattern per line), for example:
**/.DS_Store
**/tmp/** - To create reviews and run chains for the included changesets, leave empty.
- To only create reviews and run chains for specific paths, enter Ant-style patterns (one pattern per line),
for example:
**/*.java
**/*.jsp - To create reviews and run chains for all changesets, leave empty.
- To prevent specific paths from creating reviews and running chains, enter
Ant-style patterns (one pattern per line), for example:
- If you have a system that delivers changes using specific usernames, for example a build process, you can ignore
those changesets. In the Exclude authors field, enter the usernames (login IDs)
on separate lines.
For example,regbuildexcludes all deliveries by the user with the login ID regbuild. - To ignore changesets with specific text in their delivery comments, in the Excluded
messages field, enter message patterns, where
*is a wildcard character and each pattern is on a separate line.
For example,*NO_REVIEW*excludes deliveries where the message contains the keyword NO_REVIEW. - Click Save.
For details on how to apply a delivery filter to a product or a Git repository, see Set delivery filter defaults.
Automatically create reviews and run chains
Administrators can configure which changesets delivered to streams and branches automatically create reviews and run chains of experts.
- Select the stream or branch that you want to configure.
- On the sidebar select Settings.
- Select the Filters tab.
- To control which changesets delivered to this stream create reviews and run chains, from the Filter Changesets using Delivery Filter select a delivery filter.
- Select the Reviews tab.
- To specify a review check list to be used with new reviews created in this stream, from the Check list to use list select one of the following:
- The product's default check list.
- Any other list that has been defined.
- No review check list.
- To specify the review rules for this stream, from the Rules to use list select the product's default rule or any other rule that has been defined.
- Select the Chain Execution tab.
- To configure how this stream runs chains, from the Run chains list select one of the following:
- The product's default setting
- Run chains on this stream
- Disable chains on this stream
- Click Save.
Inspect health and quality
PulseUno enables you to inspect the health of your code. You can:
- Create and run chains of experts to check the health and quality of source code and builds. See Chains.
- Review code changes to determine if they are ready to be merged or released. See About reviews.
- Use pull requests to evaluate and merge a set of defined changes. See Use pull requests to manage changes.
- Inspect vulnerabilities in chains and vault packages. See Vulnerability detection.
Chains
PulseUno includes expert plugins that you can run in a sequence of steps called a chain. For details on how to work with chains, see Create and configure chains.
Experts enable you to:
- Perform builds
- Capture build artifacts
- Create and build Docker containers
- Deploy assets
- Fetch code from a repository
- Examine source code and artifacts for security vulnerabilities, report findings, and provide an opinion
- Perform static analysis
- Perform other activities such as fetch sources and send email notifications
Experts
The following experts are included with PulseUno.
Build
- Ant: runs an Ant build.
- CM Build: if your team uses Dimensions Build and you have existing build configurations, you can run the configurations in PulseUno.
- Dimensions CM command-line: enter dmcli commands.
- Gradle: runs a Gradle build.
- Jenkins: a continuous integration server that you can use with PulseUno to execute, and report on, builds of changesets as they are delivered.
- Makefile: runs a build using a makefile.
- Maven: builds and distributes artifacts.
- MSBuild: runs an MSBuild.
- Script: runs a batch script (Windows) or shell script (Linux).
- Visual Studio Build: runs a Microsoft Visual Studio Build.
Capture
- Capture to DA CodeStation: captures build artifacts to Deployment Automation CodeStation. These artifacts represent deployable items such as files, images, databases, configuration materials, or any other assets associated with a software project.
- Capture to Dimensions CM: captures build artifacts to a Dimensions CM stream.
- Capture to Directory: captures build artifacts to a directory.
- Capture to SCP/SFTP: captures build artifacts to a workspace using secure copy (SCP) or to remote network server using Secure File Transfer Protocol (SFTP).
Container
- Build a Docker Image: builds a Docker image in which you can run applications.
- Run a Docker Container: creates a Docker container in which you can run Docker images.
- Run Script in Docker Container: use a command to execute a script in a Docker container that is running, without logging into that container.
Dependency
- CycloneDx Dependency Detector: a lightweight software bill of materials (SBOM) specification designed for use in application security contexts and supply chain component analysis.
- Maven Dependency Detection: analyzes the dependencies of a project and determines which are: used and declared; used and undeclared; unused and declared.
- Npm Dependency Detection: checks which modules you have used in your code and lists them as dependencies in your package.json.
Deployment
- DA Deployment: imports and deploys a component using Deployment Automation.
- DA Generic Process: runs a generic process in Deployment Automation.
Fetch
- Fetch from Dimensions CM: fetches sources from a Dimensions CM repository.
- Fetch from Git: fetches sources from a Git repository.
- Fetch from StarTeam: fetches sources from a StarTeam repository.
Security and compliance
- Dependency Vulnerabilities: finds third party dependencies in your code that may have known security vulnerabilities.
- Fortify SCA (Static Code Analyzer): analyzes your source code and identifies the root causes of security vulnerabilities.
- WhiteSource: identifies all the open source components and dependencies in your build, reports any known security vulnerabilities, and lists their licenses.
Analysis
- Checkstyle: enforces coding standards.
- Copyright header checker: checks files for the presence of copyright statements or other snippets.
- Kiuwan: measures, analyzes, and verifies the quality of your code.
- PMD: analyzes source code and finds common programming bugs.
- SonarQube: inspects the quality of your code.
Test
- CTest Parser: parses CTest results files.
- JUnit Parser: parses JUnit results files.
- Micro Focus LoadRunner: runs Micro Focus LoadRunner load test scenario.
- Micro Focus UFT One: runs Micro Focus UFT One file system based tests.
- MSTest Parser: parses MSTest results files.
- NUnitParser: parses NUnit results files.
- TestNG Parser: parses TestNG results files.
Other experts
- Changeset Summary: counts the number of files added, deleted, and modified in each changeset.
- Code Summarizer: reports about lines in files, code languages, etc..
- Email Notification: sends email notifications to users.
- Halt on Failure: stops a chain if the previous expert in the chain failed.
- Microsoft Teams Notification: adds a Microsoft Teams notification using WebHook.
- Run another chain: run another chain that you have created..
For details about each expert and how to configure it, see Configure Experts.
Expert attributes
Experts have these optional attributes:
- Execution state: Success, Failure, Unstable, or Aborted.
- Measurement: A set of single-valued judgments about source code. For example, 24,847 might be a measurement of lines of code, and High might be a measurement of the security risk level.
- Finding: When issues are identified, experts annotate the source code and provide a "severity" level to indicate how serious an issue is. Annotations are displayed in tabular form in the Experts section of a review page and some experts also annotate the files in the Contents section. Some findings may include a link to a web page that provides more details. See Inspect expert measurements and findings.
Vulnerability detection
You can instruct PulseUno to regularly identify vulnerabilities in chains and vault packages.
When you run a chain or deliver a package to a vault, PulseUno automatically detects vulnerabilities that the chain or package have. For enhanced security, you can enable ongoing vulnerability detection for chains and packages. This way, PulseUno will identify and report any vulnerabilities that may be discovered in the future.
To keep up to date with newly found security issues, PulseUno regularly gathers vulnerability information from the following sources:
To run ongoing vulnerability checks:
| Expert chains |
For details about these steps, see Dependency. |
| Vault packages | Enable the Vulnerability Check option in vault settings. For details, see Edit vault settings. |
Create and configure chains
Overview
A chain consists of a sequence of steps, and each step can run one expert plugin. For details about plugins, see Experts.
In this example, the chain has three steps:

- Step 1: Maven builds the stream.
- Step 2: Capture to Dimensions CM captures the targets to the stream.
- Step 3: DA Deployment deploys the application to an environment.
Chains are owned by streams or branches. You can configure multiple, independent chains to run on the same stream, for example:
- The first chain runs on every delivery and performs brief static analysis.
- A second chain runs at midnight every day, performs more thorough analysis, and deploys software.
Create chains
- In PulseUno, navigate to Spaces and select a space.
- Select the product or Git repository where you want to create a chain.
- In the sidebar, select Chains.
- Click New (+). The New chain page opens.
- In the Steps tab, enter a title and, optionally, additional information about the chain.
- Click Save.
Specify when to run a chain
You can configure the streams and changesets on which a chain runs, and specify a chain run schedule. By default, a chain runs on all changesets.
To select when to run a chain:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- Select the Triggers tab.
- From the Run chain list, select when you want to run the chain:
To disable the chain, select Chain is disabled.Option Description Manually run Trigger chain runs manually. This is the default option. On every changeset Trigger the chain every time a changeset is delivered. When a pull request is published Trigger the chain every time a pull request is published. Hourly
Specify the interval (in hours) for running the chain, for example, every 12 hours at 15 minutes past the hour. The Hourly schedule reflects your local time zone.
To trigger the chain even if no changes were delivered between the runs, select Run as scheduled even if no new changesets have been created since the last run.
Daily
Specify the interval (in days) and the time when the chain will run, for example every 3 days at 19:00. The Daily schedule is set in a 24-hour format using your local time zone.
To trigger the chain even if no changes were delivered between the runs, select Run as scheduled even if no new changesets have been created since the last run.
Weekly
Specify the week days and the time when the chain will run, for example, Tuesday and Saturday, at 19:00. The Weekly schedule is set in a 24-hour format using your local time zone.
To trigger the chain even if no changes were delivered between the runs, select Run as scheduled even if no new changesets have been created since the last run.
Cron
Enter a CRON expression to set the schedule for running the chain. For example, to run the chain every day at noon, enter 0 0 12 ? * MON-FRI. CRON expressions are interpreted in the UTC time zone.
To trigger the chain even if no changes were delivered between the runs, select Run as scheduled even if no new changesets have been created since the last run.
- For Matching streams, enter a pattern to specify the streams where the chain will run. Use asterisks (*) and commas (,) to specify multiple streams, for example, mainline,feature-*
- In the Path filtering field, enter Ant patterns (one per line) to run changesets only on paths that match the pattern. The chain is triggered if at least one path in the changeset matches the pattern.
Leave empty to run the chain on all changesets. - Click Save.
Add steps to chains
You can add plugins or actions as chain steps.
To add a step to a chain:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- Select the Steps tab, and click Add Step to Chain (+).
- In the Add Step list, select an expert or action from one of the categories, or use search to find steps. Click Add next to the step. The step is added to your chain.
- Click the chain step to configure it. Each expert or action has different parameters, some of which are mandatory. For details see Configure Experts.
- Add more steps as required.
To change the running order of steps, drag them to different positions.
To remove a step from a chain, select the step and click the Delete Step from Chain icon. - Click Save.
Add capabilities to chains
Capabilities describe an agent's environment, for example:
- A specific operating system
- High memory
You can add one or more capabilities to a chain. When the chain runs, it matches its required capabilities with the capabilities of the agents. For example, if a chain requires Windows Server 2016 and 64 GB of memory, add WindowsServer2016 and 64gbMemory as required capabilities on the chain. The chain only runs on the agents that match these capabilities.
To add capabilities to a chain:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- Select the Options tab.
- In the Required Capabilities field, enter a comma-separated list of capabilities. Leave empty to run the chain on any agent.
- Click Save.
Add variables to chains
You can use variables in chains to tailor how chains behave on each agent, or to provide a way of reusing the same value in multiple steps. For instance, a variable is defined on an agent to describe where a compiler is installed. This enables a chain to reference that location via the variable instead of a fixed value in the step's configuration. When the chain runs on the agent, the references to the variable are replaced with the values that have been defined for the agent. Similarly, two or more steps may need the same value, in which case you can define a variable on the chain with that value, and reference it in each step.
An agent works out what a value should be for a variable in this order:
- The variable definition on the chain.
- The agent definition.
If there is no definition for the variable on the agent, it is assumed to be empty.
Example:
- An administrator creates a chain that will use Maven and can run on two agents.
- Maven is installed in different locations on each agent.
- The administrator adds a variable to each agent,
MAVEN_HOME, which defines the location of the Maven installation on that agent. For details, see Add variables to agents. - The administrator adds the variable
${MAVEN_HOME}in the chain step. - When the chain runs on an agent, the value of the variable is substituted with the value for the Maven location on that agent.
To add a variable to a chain:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- Select the Variables tab, and click Add Variable (+).
- Enter a variable name and value pair, for example,
MAVEN=M2_HOME - (Optional) To make the variable private, select the Private check box. The values of private variables are displayed obscured in the user interface.
- Click Save.
See also
Publish chain results to ALM Octane
You can instruct chains to publish chain run results to external systems such as ALM Octane.
Before you can run a chain to send results to ALM Octane, add an ALM Octane connection and configure an ALM Octane pipeline, For details, see Set up a chain to publish chain results to ALM Octane.
To publish chain results to an ALM Octane pipeline:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit. Or click New (+) to create a new chain.
- Add the Publish results to Octane step:
- In the Steps tab, click Add step to chain (+).
- In the Add Step list, click the Other tab and select the Publish results to Octane step. Or use search to find the step.
- Click Add next to the step. The step is added to the chain.
- Click the step in the chain to configure it, and specify the following parameters:
Parameter Description Title Enter a name for the chain step. The default name is Publish results to Octane.
Control options Enable step Leave this option selected to enable the step to run.
Clearing this option deactivates the step.Fail step (Optional) Specify the conditions for failing the step, such as findings criteria and/or log entries. Mark step as unstable (Optional) Specify the conditions for making the step unstable, such as findings criteria and/or log entries. Output variables (Optional) Enter the variables that you want to pass to other steps down the chain. For details on how to add output variables, see Publish output variables to chain steps. - Click Save.
In a working ALM Octane integration, PulseUno sends the chain run results to ALM Octane, and you can view them as an ALM Octane pipeline.
Configure chains to stop downstream chains
If a chain runs other chains, you can configure the parent chain to interrupt its child jobs whenever it is stopped.
To configure a chain to stop its downstream chains:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- In the Steps tab, select an existing Run another chain step to view its parameters.
- In the step's parameters, select Wait for chain run results.
Now when you stop the chain mid-run, any chains triggered by this chain will also stop.
Enable ongoing vulnerability detection
You can enable ongoing vulnerability scanning for chains with dependencies. This way, PulseUno will regularly check for new vulnerabilities and detect them as soon as they are discovered. The vulnerability information is displayed in reviews and on the chain run pages, and passed on to the vault.
For details on how PulseUno identifies vulnerabilities, see Vulnerability detection.
To enable ongoing detection of vulnerabilities:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- Select the Option tab.
- For the Vulnerabilities option, select Enable ongoing detection of vulnerabilities.
- Click Save.
Specify content to be analyzed
When a chain runs, you can specify the stream/branch content that will be fetched to the work area and analyzed. By default, the entire contents are fetched, which may be a slow operation depending on the size of the stream/branch.
To specify stream content:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- In the Steps tab, click Fetch sources.
- Select from the following actions:
- To clean the workspace where the chain will run, select Clean workspace before fetching sources.
- To fetch no items, clear the Fetch content from repository selection.
- To analyze the entire stream or branch, select Fetch content from repository and leave the content box empty.
- To analyze part of the stream or branch, select Fetch content from repository and in the content box enter Ant patterns (one per line) that match specific paths.
- Click Save.
View all chains in a stream or branch
You can view all the chains that have been added to a stream or branch.
To view chains:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains. The chain list opens.
- Click the chain's name to open the chain and view its results, configuration, and steps.
Share chains
You can export chains that you created and share them with your team.
To export a chain:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- From the chain list, open the chain that you want to export.
- From the Actions menu
, select Export Chain. - Navigate to the downloads folder on your machine and find a
.chainfile containing the exported chain.
You can import chains from members of your team.
To import a chain:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains, and then open a chain from the chain list.
- From the Actions menu
, select Import Chain. - In the Import Chain dialog box, drag and drop the
.chainfile onto the upload area. Or navigate to the folder containing the.chainfile, select the file, and click Open. - Click Import.
Additional chain configurations
You can set these additional configurations:
- Select a policy for retaining the logs created by a chain.
- Stop a chain after the failure of any step. For example, you have a chain with multiple steps and the last step is a build. If any of the previous steps fails, the chain stops, and the build is not executed. You can use this option instead of adding the Halt on Failure expert.
- Only queue one copy of a chain at any time.
To configure additional chain settings:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains, and then open a chain from the chain list.
- Click Edit and select the Options tab.
- Specify the following settings:
Setting Description Stop early Select to stop a chain on first step failure.
Stop execution after Specify the number of minutes after which the chain run will be stopped. To run the chain indefinitely, enter 0 or leave the field empty.
Limit queued chains Select to allow only one run of this chain to be in the queue.
Retention policy Select a policy for keeping the logs in this chain. For details on how to configure retention policies, see Create chain and vault retention policies.
Tip: You can override the retention policy for individual logs in a chain. For details, see View chain run details.
Define measurements in chain steps
Use the Script, Maven, or Gradle plugins to define custom measurements, capture them to a file, and publish them to PulseUno.
When you run a script with your measurements as part of a Script, Maven, or Gradle chain step, the script can generate a pulse-measurements.properties file, the contents of which PulseUno adds as custom measurements created by the step. You can then view these measurements in the user interface and pass them to other chain steps. For details, see Publish output variables to chain steps.
Guidelines for defining measurements:
- To define custom measurements, your script must create the pulse-measurements.properties file. PulseUno will not recognize the file with a different name.
- Use the following syntax for each line:
measurement-name=measurement-value
- Because pulse-measurements.properties is a Java properties file, use the ISO 8859-1 (ISO Latin1) 8-bit character encoding.
To encode UTF-16 code units that are not in the ISO-Latin1 character set, use Unicode escape sequences such as\uXXXX, whereXXXXis a 4-digit hexadecimal code point that represents a single character. For example, to encode the value €100.00 (one hundred euros), use the following escape sequence:\u20AC100.00 - You can define the string, number, or boolean metric types by adding
@string,@number, or@booleanto the relevant variable. For example,count@number=10creates the count metric with the number value of 10. - You can paste your script into a step or use a script file that you checked in to the project's working directory. When the step completes, PulseUno will look for the pulse-measurements.properties file in the top directory of the chain’s build area (normally, the default working directory for the step).
- Follow the syntax and character guidelines in Publish output variables to chain steps.
To define custom measurements in a chain step:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain for editing, or click New (+) to create a chain.
- Add a Script, Maven, or Gradle step to the chain.
- Click the step to configure it.
- In the step's parameters, specify the script that the step will run:
Script Runs a batch file (Windows) or shell script (other systems).
To add your script:
- Select the script language.
- Enter your script in the Command line box.
Alternatively, from the Location list, select File in workspace, and enter a path to the script file, for example, scripts/runstep.bat.
Maven By default, runs a pom.xml file from the working directory. Gradle By default, runs a build.gradle file from the working directory. - Configure other parameters. For details, see the Gradle, Maven, or Script description in Configure experts.
- Click Save.
When PulseUno runs the step, it will read any custom measurements from the pulse-measurements.properties file, but only if your script creates the file.
To view the measurements in PulseUno, open a chain run and select the Measurements tab.
Publish output variables to chain steps
If a chain step produces measurements, you can publish them as output variables to other steps down the chain. This enables you to pass information to later steps and child chains.
You can define your own measurements and pass them as output variables. For details on how to add custom measurements, see Define measurements in chain steps.
Guidelines for specifying output variables:
- Use only these characters in variable names: a-z, A-Z, 0-9, and underscore (_).
- Enter one
variable-name=variable-valuepair per line. - Measurement names are not case-sensitive. For example,
newvar=${Finding Count}matchesnewvar=${finding count}. - An output variable value can contain the values of other variables or step measurements. Use the following syntax:
${variable-name}or${measurement-name}. - You can combine variables and measurements, for example,
newvar=Step in ${chainnum} has ${finding count} findings. - You can use escape sequences in variable values: newline
\n, tab\t, return\r, and backslash\\. - Variable values defined in later steps override those in earlier steps. For example, if the same output variable is defined in steps 1 and 2, then step 3 will use the value from step 2.
To publish output variables:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Chains.
- Open a chain from the chain list and click Edit.
- In the Steps tab, click the step from which you want to publish output variables.
- In the step's parameters, expand the Output Variables section and enter the output variables you want to publish, one
variable-name=variable-valuepair per line. - Click Save.
Only output variables are replaced. Your PulseUno agent makes a record of step variables in the step log, indicating what output variables have been overwritten. To view the step log, open a chain run and select the Log tab.
Inspect expert measurements and findings
You can inspect expert results and findings in:
- The review where the chain ran
- The associated changeset
Results include:
- Finding for each expert, including Errors, Warnings, Failures, and Information.
- Measurements for each expert. Measurements are a set of single-valued judgments about source code, For example, 24,847 might be a measurement of lines of code, and High might be a measurement of the security risk level.
The state of each chain run is indicated by these icons and colors:
The chain run was successful
The chain run completed but failed
The chain run completed but is unstable
The chain run is in progress
The chain run has not started
The chain run was abandoned
The chain run was stopped or terminated
To inspect expert results and findings:
- Select a space, product/Git repository, or stream/branch.
- In the sidebar, click Reviews or Changeset History. Scroll down to a review or changeset and select it.
The Chain Runs section displays results for all the experts that ran on this review. Expand each expert to view its measurements and findings. Some experts may include a link to a web page that provides more details.

The Contents section of a review displays a list of all the files in the review and the number of expert findings for each file.
- To view an expert's findings for a specific file, in the Contents section select the file.
- From the Show menu select Show Entire File.
- Scroll down the file until you see results that you want to inspect. Each line number with a result has a color that represents one of these categories:
- Blue: information
- Dark Orange: error
- Orange: warning
A line may have multiple results.
- Point to a line number to view information.

View chain run details
You can examine each chain run in detail and view expert findings.
- Navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Chains. The chains list opens.
- Open a chain. A list of the chain's recent runs is displayed. Each run shows:
- The run's state icon
- The run ID
- The changeset where the chain ran
- The duration of the run
- The instance of PulseUno that ran the chain
- Click a chain run ID to view more details. Click a tab to view its details:
- Console: displays the output log for each expert in the chain. Expand an expert to view its logs. Logs are expanded by default if they include failures. Warnings and messages are color coded. To filter the information that is displayed, select a log threshold level. To download a log, from the Actions menu select Download Logs. Log files use LF line separators.
- Findings: displays the findings for each expert in the chain, including Errors, Warnings, Failures, and Information. Expand each expert to view more details.
- Measurements: displays the measurements for each expert in the chain. Measurements are a set of single-valued judgments about source code, For example, 24,847 might be a measurement of lines of code, and High might be a measurement of the security risk level. If any items were captured, a report is attached to this tab.
- Activity: displays the activity for each expert in the chain including: when the expert ran, the changeset where it ran, and the associated review. Some experts include a link to a web page where you can view additional details.
- Changesets: lists all the changesets consumed by this run.
- Requests: lists all the requests associated with this run.
- Contents: lists all the files that have changed since the previous run.
- To run this chain again on the same changeset, click Re-run.
- To override the default log retention policy for this chain and keep the log, click Keep Forever.
Edit and delete chains
As an administrator, you can edit and delete chains:
- Navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Chains. The chains list opens.
- To delete one of more chains, select them from the list, click Delete, and confirm.
- To edit a chain, open it and click Edit.
- Edit the chain's configuration, add and remove steps, change the running order of steps, and add variables.
- Save the changes.
- Activity events involving the deleted chain.
- Findings or measurements that the deleted chain added to reviews.
- Any panels that contain measurements from the deleted chain.
Diagnose chains
If you are having issues with a chain, you can diagnose it by running it manually.
To diagnose the latest changeset, select the product or Git repository containing the chain that you want to diagnose, and do one of the following:
- In the sidebar select Chains, select the chain, and click Run on Latest Changeset.
- In the sidebar select Changeset History, select the latest changeset, and from the Actions menu select Run Chains.
To diagnose a specific changeset:
- Navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Chains. The chains list opens.
- Select the chain.
- In the Runs tab, select a specific run.
- Click Re-run.
Use pull requests to manage changes
A pull request is a special type of review that you use to evaluate and merge a set of defined changes, typically in a topic stream or branch. Pull requests are a collaborative process that enables a team to:
- Review the proposed code changes.
- Add review comments and contribute to a discussion.
- Protect your mainline stream/branch from unwanted changes, bad merges, and broken builds.
- Approve changes and merge them into a mainline.
Key facts:
- Pull requests are related to two streams or branches: the source stream/branch, where the pull request changes are made and reviewed, typically a topic stream; and the target stream/branch, where the pull request changes will be merged to, typically a mainline.
- Pull requests can be related to a request, which is used to merge the changes in the pull request.
- Pull requests enable you to merge changes into a target stream or branch without using a work area. For details, see Merge changes in pull requests.
- Pull requests can run chains to help you decide if the changes in a stream are healthy. For details, see Run chains on pull requests.
As an administrator, you can instruct PulseUno to create a pull request automatically when a branch or topic stream are created. The new pull request is automatically linked to the branch or topic stream. For details, see Configure how pull requests are created.
As part of its integration options, PulseUno enables you to synchronize pull request states with the phases of ALM Octane backlog items and the Dimensions CM request states. For details, see the following topics:
About pull requests and topic streams
Topic streams are temporary Dimensions CM streams that you use for a set of defined changes, for example, to fix a defect or develop a small feature. Topic streams enable you to isolate changes from a mainline stream. Topic streams have some limitations compared to normal streams, but the main advantage is they are very quick to create.
A topic stream and its related pull request work together to help you review and merge changes:
- A topic stream is created from a parent stream, which creates a pull request. You can create topic streams in the Dimensions CM clients.
- Changes are delivered to the topic stream and related to the pull request.
- The pull request is reviewed, approved, and merged into the topic stream’s parent stream.
Key facts:
- Reviewers use the pull request to review the changes in the topic stream.
- The pull request contains the changes in the related topic stream.
- The request related to the pull request is used to merge the changes in the topic stream into its parent stream.
Review pull requests
You can assign reviewers to a pull request before you publish it. Reviewers can add comments to the changes, identify issues, make suggestions, and answer questions. When a comment is made, the pull request author and all the reviewers receive an email with a snippet of the code and the review comments.
Merge changes in pull requests
If the parent stream or branch has been configured to automatically merge pull requests, when a review moves to the Approved state, the pull request is automatically merged into its parent stream or branch. For details on how to set up the automatic merge, see Merge pull requests automatically.
If the automatic merge is not enabled, when changes have been reviewed and approved, and if there are no conflicts between the topic stream or branch and its parent, you can manually merge the pull request. If there are conflicts, you must resolve them in a work area before you can merge the pull request. For details on the manual merge, see Merge pull requests manually.
If the merge is successful, the pull request is automatically closed. If the merge fails, a warning is displayed at the top of the pull request.
Use pull requests
The following topics describe how to use pull requests to review and merge changes.
Create pull requests manually
If pull requests are not configured to be created automatically for a topic stream or branch, you can create one manually. You cannot create a pull request in a non-topic stream or parent branch.
For details on how to define the settings for creating pull requests automatically, see Configure how pull requests are created.
To manually create a pull request:
- Select the topic stream or branch where you want to create a pull request.
- Click New Pull Request.
- In the New Pull Request dialog box, select the following:
- The product where you want to create a pull request. Default: the product to which the stream belongs, or the repository to which the branch belongs.
- A source stream. Default: the topic stream or branch.
- The target stream the pull request will be merged into when development is complete. Default: the parent of the topic stream or branch.
- Enter a title and description.
- Add lead and optional reviewers who can vote to approve or request changes. Choose developers who you think are most suitable to review these changes.
- Select a request that describes the changes to be made. This request will be used to merge the changes into the parent stream. If the topic stream or branch is already related to a request, it is automatically selected. To relate a different request, click Relate and select a request from the Relate Requests dialog box. To unrelate a request, click Unrelate.
- Click Create. The new pull request is now in the Draft state.
Open and modify pull requests
You can open and view a pull request. If you are the pull request author, you can also:
- Edit the title and description.
- Change the author.
- Add and remove reviewers.
- Change the related request.
- Change the display defaults.
To modify a pull request:
- In PulseUno, navigate to Spaces, select a space, and then a product or Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- From the Reviews list, select a filter, for example, Active.
- Select the pull request that you want to view or modify. In the Conversation tab, you can change the following:
- Description
- Author (the owner of the pull request)
- Reviewers
- Related request
- To edit the title or display defaults, select an option from the Actions menu.
Publish pull requests
If you are the author of a pull request, you can publish it for review after you finish delivering your changes.
When you publish a pull request:
- It moves to the In Review state.
- The reviewers are notified.
To publish a pull request:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Select a pull request from the list.
- On the pull request page, click Publish.
- Click Publish Review. Depending on your review rules, you may want to action the related request to its In Review state. For details, see Review rules.
Run chains on pull requests
You can run chains on pull requests to help you decide if the changes in the related stream or branch are healthy. For details about chains, see Inspect health and quality.
To configure a pull request to run chains:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Select the pull request where you want to run chains.
- From the Actions menu, select Run Chains.
- Select one or more chains that have been defined for the related stream or branch.
- Click Run Chains. The selected chains are queued. After the chain has run, click the Chain Runs tab to view the results.
Review and approve pull requests
If you are the reviewer of a pull request, you can:
- View the associated code changes.
- Add review comments and collaborate with team members.
- View the results of chains that have run on the pull request.
- Vote to approve changes to the pull request.
To review and approve a pull request:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Select a pull request from the list.
- To view the code changes, click the Changes tab. The Contents section lists all the files in the review. To review a specific file, select it from the list, or scroll down. The list of files is also displayed in the sidebar.
- To add comments to a file:
- Click and drag to select the lines where you want to add a comment.
- In the Comment box, enter your comments. Optionally, format the comment using the toolbar or Markdown syntax.
- Click Comment. Your comments are now visible to your team, and their responses will be displayed in the same comment box. Each reviewer receives an email with a snippet of the code and the review comments.
- To vote to approve a pull request, click Approve. Enter the reasons for your approval and click Approve.
Request changes to pull requests
If you are the reviewer of a pull request, you can ask for changes to be made to the code. Depending on your review rules, the pull request can be sent back to its author for rework. The author can make additional changes and republish the pull request. For details, see Review rules.
To request changes to a pull request:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Select a pull request from the list.
- To vote for changes to be made, click Request Changes.
- Enter comments and click Request Changes.
Merge pull requests automatically
As an administrator, you can enable approved pull requests to merge automatically into the target stream or branch. Automatic merging only works if there are no conflicts when the pull request moves to the Approved state.
If a pull request fails to merge automatically, you can try and merge it manually. For details, see Merge Pull Requests Manually.
To merge pull requests automatically:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- To enable the automatic merge for a particular stream or branch, select the stream or branch.
- In the sidebar, select Settings >Reviewing changes.
- In the Pull Requests section, from the Merge rule list, select a rule that enables automatic merges. For details about merge rules, see Create Merge Rules.
- Click Save.
Merge pull requests manually
If the parent stream or branch has not been configured to automatically merge approved pull requests, you can do a manual merge if there are no conflicts between the contents of the topic stream/branch and its target stream/parent branch.
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Open the pull request that you want to merge into the target stream or branch.
- Click Merge Pull Request.
- Add a merge comment and click Merge. If the merge is successful, the pull request is automatically closed. If the merge fails, a warning is displayed at the top of the pull request.
Abandon pull requests
As an administrator, you can abandon reviews if they are no longer required. This stops further review activity and cannot be reversed.
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Open the pull request that you want to abandon.
- From the Actions menu, select Abandon Review.
- Click Abandon Review.
Update pull requests
The latest changesets in a topic stream or branch are automatically attached to pull requests. However, to check that the pull request is current, you can scan for the latest changes.
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Open the pull request that you want to update.
- From the Actions menu, select Scan for New Changesets.
- Click Scan.
Change ownership of pull requests
As an administrator, you can change the ownership of pull requests.
To change the ownership (author) of a pull request:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Select a pull request from the list.
- On the Conversation tab, in the Author section, click Change Owner.
- Select the user who will be the new author.
- Click Change Author.
Mark pull requests as approved
As an administrator, you can bypass the review of pull requests and mark them as approved. If the parent stream or branch has been configured to automatically merge, the pull request is merged into its parent stream or branch.
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Open a pull request.
- From the Actions menu, select Mark as Approved.
- Click Approve Review.
Send pull requests for rework
As an administrator, you can bypass the review of pull requests and send them to the author for rework.
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- (Optional) To restrict the scope of the search, select a stream or branch.
- In the sidebar, click Reviews.
- Open a pull request.
- From the Actions menu, select Send for Rework.
- Click Send for Rework.
Configure pull requests
The following topics explain how to configure pull requests settings such as merge rules and check lists.
Configure how pull requests are created
As an administrator, you can define pull requests settings for one or more Git repository branches or a Dimensions CM product or stream.
The default naming scheme for pull requests is PR<nn>:<title>
To configure pull requests for a product or a set of Git branches:
- In PulseUno, navigate to Spaces, select a space and then a product or Git repository.
- In the sidebar, select Settings > Reviewing changes.
- On the Reviewing Changes page, in the Pull Requests section, select if you want to enable pull requests.
- (Optional) If you enabled pull requests, select the option for creating pull requests automatically:
Dimensions CM streams Select Automatically when the source branch is a Dimensions topic stream.
Git repositories - Select Automatically when the source branch matches...
- Specify the branches for which PulseUno will automatically create pull requests.
Enter a comma-separated list of branch names or name patterns. Use an asterisk*as a wildcard to match a set of branches.
- Click Save.
To configure pull requests for a CM stream:
- In PulseUno, navigate to Spaces.
- Select a space, a product, and then a stream.
- In the sidebar, select Settings > Reviewing changes.
- On the Reviewing Changes page, in the Pull Requests section, select Override defaults for pull request creation. This enables PulseUno to use the stream setting instead of the default product setting.
- Select the settings for enabling pull requests and creating pull requests automatically.
- Click Save.
Create merge rules
As an administrator, you can manage the rules that control who can merge pull requests.
To create a merge rule:
- In PulseUno, navigate to Administration > Merge Rules.
- On the Merge Rules pages, click the New Merge Rule icon (+).
- On the New Merge Rule page, provide the following details:
Field Description Title Enter a name for the new merge rule.
Automatically merge To enable pull requests to be merged automatically, select Automatically merge when a pull request is approved. The automatic merge is performed by the repository’s system user in the background.
Conversations Define how pull request conversations affect the merge:
- Ignore conversations (default).
- Do not verify conversations.
- All pull requests must be Resolved and Accepted.
- All pull requests must be Resolved.
Check lists Select All check list items must be checked to enable merging only after all items on the check list are selected.
Who can merge To display the Merge button in pull requests, select the author and/or reviewers. These users must have the correct privileges to perform a merge.
Merge gatekeepers To add other users who can see the Merge button, click the New icon (+) and add merge gatekeepers. These users also require the correct privileges.
- Click Save.
Apply merge rules
As an administrator, you can apply rules for merging pull requests to a stream/branch or a product/Git repository.
Before you can use a merge rule, you need to create it. For details, see Create merge rules.
To apply a merge rule to a product or a Git repository:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- In the sidebar, select Settings > Reviewing Changes.
- On the Reviewing Changes page, in the Pull Requests section, select Use custom merge rule. Then select a rule from the list.
- Click Save.
To apply a merge rule to a stream or branch:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- Select a stream or branch.
- In the sidebar, select Settings.
- Select the Pull Requests tab.
- From the Merge Rule list, select a rule. To use the product's or repository’s setting, select Use the product’s default rule.
- Click Save.
See also
Set pull request rules
As an administrator, you can set the default review rules used by pull requests.
Rules control how reviews move from one state to another, for example, whether all reviewers must approve a review, or just one reviewer. For more details, see Review rules.
To set a pull request rule for a product or a Git repository:
- In PulseUno, navigate to Spaces, select a space, and then select a product or Git repository.
- In the sidebar, select Settings > Reviewing changes.
- On the Reviewing Changes page, in the Pull Requests section, select Use custom pull request rules.
- From the list of rules, select a rule.
- Click Save.
To set a pull request rule for a stream or branch:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- Select a stream or branch.
- In the sidebar, select Settings.
- Select the Pull Requests tab.
- From the Rules To Use list, select a rule.
- Click Save.
Set default check lists
As an administrator, you can set the default review check lists used by pull requests. You can also specify no check list. For details about check lists, see Manage review check lists.
To set a default check list for pull requests in a product or a Git repository:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- In the sidebar, select Settings > Reviewing changes.
- On the Reviewing Changes page, in the Pull Requests section, select Enable check list.
- From the list, select the check list you want to use.
- Click Save.
To set a default check list for pull requests in a stream or branch:
- In PulseUno, navigate to Spaces, select a space, and then select a product or a Git repository.
- Select a stream or branch.
- In the sidebar, select Settings.
- Select the Pull Requests tab.
- From the Check List To Use list, select a check list.
To apply no check list, select Do not use review check lists for reviews in this stream. - Click Save.
Set display defaults
To set the display defaults for your pull requests, see Set review page and pull request defaults.
Set the Dimensions CM reviewer role
Administrators can set the default Dimensions CM role for pull requests. Users that hold this role can be selected as reviewers for pull requests. Default role: REVIEWER
To set the reviewer role:
- In PulseUno, navigate to Administration.
- Select Repositories and a CM repository.
- Select Defaults and then the Pull Requests tab.
- In the Reviewer role name in CM section, enter a Dimensions CM role.
Use merge strategies for pull requests
Out of the box, PulseUno provides several methods for merging commits. As an administrator, you can apply these merge strategies to all pull requests in a Git repository.
The following table describes available merge strategies:
| Merge strategy | Description |
|---|---|
| Merge commit | Keeps all commits from the source branch and makes them part of the destination branch. Use this strategy to keep a detailed, exact history of changes. This is the default strategy for new projects. Git command: git merge --no-ff |
| Squash | Combines your commits into a single commit when you merge the source branch into the destination branch. Use this strategy to keep a clear and simple history of changes. Git command: git merge --squash |
| Fast forward if possible | Enables a fast-forward merge without creating merge commits when it's possible. When a fast-forward merge is not possible (when the merged-in history is not a descendant of the current history), a merge commit is created. For more details about fast-forward merging, see the Git documentation. Git command: git merge --ff |
Set the default merge strategy for automatic merges
As an administrator, you can set the default merge strategy for all automatic merges in a repository.
To set the default merge strategy:
- In PulseUnot, open Spaces, select a space, and then select a Git repository.
- In the sidebar, select Settings > Reviewing Changes.
- On the Reviewing Changes page, in the Pull Requests section, select the merge strategy you want to use.
- Click Save.
PulseUno applies the default merge strategy to all pull requests that are merged automatically.
Enable merge strategies
As an administrator, you can enable merge strategies to let users choose a merge strategy when they merge pull requests.
To enable merge strategies for pull requests:
- In PulseUno, open Spaces, select a space, and then select a Git repository.
- In the sidebar, select Settings > Reviewing Changes.
- On the Reviewing Changes page, in the Pull Requests section, select the merge strategies you want to enable.
- Click Save.
You can now choose one of the enabled merge strategies when you merge a pull request.
See also
Use vaults to store software components
About PulseUno vaults
Vaults overview
A PulseUno vault is a secure repository for collections of software components such as binaries, artifacts, and metadata. A collection of software components is also called a package.
Vaults provide a central library for your packages and integrate with build and development pipelines. Vaults are used by package managers such, as Maven, to retrieve components during build and deployment processes.
Vaults have audit trails, reviews, and approvals that enable you to manage your own, and third-party, packages.

Vault types
PulseUno has the following types of vaults:
- Local: a vault stored on a local file system or repository.
- Remote: a vault stored on a remote file system or repository. Use this type of vault to cache the contents of a remote repository such as Maven Central on your local network so that its contents can be retrieved quickly.
- Virtual: a collection of local and remote vaults. Virtual vaults enable you to organize your vaults into virtual collections. A typical example is a single virtual vault that combines two vaults:
- A local vault containing your application binaries.
- A remote vault containing third-party tools, such as Maven.
Key features of PulseUno vaults
Vaults provide the following functionality:
- Version control of packages in Dimensions CM or a local file system.
- Control access to packages based on an approval process, for example, deny access to packages that have known security issues.
- Integration with package managers such as Maven, npm, and Docker.
- Audit trail and reporting of packages.
- Custom scripts for automating approvals and rejection, for example, automatically approve packages that have an Apache 2.0 license and no security issues.
See also
Create, configure, and delete vaults
Give roles on vaults to users and teams
Review and approve vault packages
Vaults home page
On the Vaults home page, you can:
- View a list of all vaults and their details such as the vault type, storage type, and visibility level (for vaults with public access).
- Filter vaults by package type or vault type, and sort them by creation date or title.
- Search for vaults by name.
- Drill down to view information about each vault, such as packages, URL, and statistics.
The vault statistics includes the following information:- Total size of all package content in the vault.
- Total number of packages and versions.
- A breakdown of package versions by state.
- Drill down to view the details of each package, such as contents, licenses, and detected vulnerabilities.
- Drill down to view activity, such as who delivered, used, reviewed, and approved packages.
To view information about vaults:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page displays all the current vaults.
- To view a vault's packages and details, click the vault's name. The individual vault's page opens, where the vault's URL and statistics are displayed on the right.
- To change the page layout, switch between the views:
List view (default) Displays vault contents as a list of packages, which you can sort by name, namespace, last modified date, and in an ascending or descending order. Tree view Displays vault contents as a hierarchical tree of Maven namespaces, npm scopes, or Docker directories. - To copy the vault's URL for your IDE or build scripts, click Copy
next to the URL. - To view the users with access to the vault, and the roles they hold, for example, developer or approver, click Members in the sidebar.
- To view a vault's general settings, click Settings in the sidebar.
- To view a list of package versions, click the package name.
- To view information about a package version, click the version's name. On the package version page, navigate between the tabs to view recent activity, licenses, and vulnerabilities. Depending on the package type, PulseUno also provides commands and code snippets for using the package in your build system. For details, see Review package contents.
Create, configure, and delete vaults
This topic describes how to create, configure, or remove local, remote, and virtual vaults.
PulseUno supports the following package managers:
- Maven
- npm
- Docker
Create local vaults
A local vault is stored in a local file system or repository.
To create a local vault:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, click Add (+) and select Local. The New Local Vault page opens.
- Enter the following details for the local vault:
Field Description Vault title Enter a name for the local vault. Description (Optional) Enter a description for the vault. Package type Select a vault package type:
- Maven
- npm
- Docker
Access Select the access permission:
- Authenticated (default). Provides full access to the vault to any logged in user.
- Anonymous. Provides read-only access to the vault. No login authentication is required.
A vault with the Anonymous permission is a public vault.
Vulnerability check (Optional) To enable regular vulnerability checks, select Enable automatic checking of packages for vulnerabilities.
Using this option, you instruct PulseUno to regularly update packages in the vault with any new vulnerabilities that may be discovered.For details on how PulseUno identifies vulnerabilities, see Vulnerability detection.
Storage type Select a storage type:
- Filesystem. The vault will be stored on your local machine.
- Dimensions CM. The vault will be stored in a local CM repository.
Select a connection to an existing CM repository or create a new connection. For details, see Configure connections to Dimensions CM repositories.
- Click Save.
Create remote vaults
A remote vault caches copies of content from a remote system.
To create a remote vault:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, click Add (+) and select Remote. The New Remote Vault page opens.
- Enter the following details for the remote vault:
Field Description Vault title Enter a name for the remote vault. Description (Optional) Enter a description for the remote vault. Package type Select a vault package type:
- Maven
- npm
- Docker
Access Select the access permission:
- Authenticated (default). Provides full access to the vault to any logged in user.
- Anonymous. Provides read-only access to the vault. No login authentication is required.
A vault with the Anonymous permission is a public vault.
Vulnerability check (Optional) To stop regular checks for new vulnerabilities, clear the Enable automatic checking of packages for vulnerabilities option.
For details on how PulseUno identifies vulnerabilities, see Vulnerability detection.
Remote Vault Connection Remote URL Enter the URL of the remote repository to be cached, for example:
https://repo1.maven.org/maven2/
Username (Optional) Enter a username for accessing the remote vault. Password (Optional) Enter a password for accessing the remote vault. Storage type Select a storage type:
- Filesystem. The vault will be stored in a local system.
- Dimensions CM. The vault will be stored in a local CM repository.
Select a connection to an existing CM repository or create a new connection. For details, see Configure connections to Dimensions CM repositories.
- Click Save.
Create virtual vaults
A virtual vault is a collection of local and remote vaults.
The order of the vaults in a virtual vault is important: they are searched in descending order, starting from the first vault, to locate matching packages during package download. After you create a virtual vault, change the order of the vaults as required.
To create a virtual vault:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, click Add (+) and select Virtual. The New Virtual Vault page opens.
- Enter the following details for the virtual vault:
Field Description Vault title Enter a name for the virtual vault. Description (Optional) Enter a description for the virtual vault. Package type Select a vault package type:
- Maven
- npm
- Docker
Access Select the access permission:
- Authenticated (default). Provides full access to the vault to any logged in user.
- Anonymous. Provides read-only access to the vault. No login authentication is required.
A vault with the Anonymous permission is a public vault.
Vulnerability check (Optional) To enable regular vulnerability checks, select Enable automatic checking of packages for vulnerabilities.
Using this option, you instruct PulseUno to regularly update packages in the vault with any new vulnerabilities that may be discovered.For details on how PulseUno identifies vulnerabilities, see Vulnerability detection.
- Click Save.
To add vaults to a virtual vault:
- Open the virtual vault you have created.
- In the Vaults tab, click Add (+).
- In the Add Vaults dialog box, enter a search string and press Enter.
- Select one or more vaults from the search results and click Add.
- (Optional) After you have added vaults, change their order by dragging them to different locations.
Specify the vault for publishing packages
Virtual vaults contain multiple vaults. When you publish packages into a virtual vault, the packages are deployed to the vault which you set as published.
When working with virtual vaults, take into account:
- Only one vault in a virtual vault can be published.
- You can change the published vault anytime.
To specify the vault to publish packages into:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, open a virtual vault.
- On the virtual vault's page, select the vault you want to publish.
- Click Publish.
Edit vault settings
As an administrator, you can edit settings and configurations for existing vaults.
To edit vault settings:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, select a local or remote vault. You can also select vaults inside virtual vaults.
- In the sidebar, click Settings.
- Edit the vault's general settings. You can change any setting except the package type and storage type.
Field Description Vault title Change the vault's name. Description Update the vault's description. Access Change the access permission:
- Authenticated (default). Provides full access to the vault to any logged in user.
- Anonymous. Provides read-only access to the vault. No login authentication is required.
A vault with the Anonymous permission is a public vault.
Vulnerability check Enable or disable regular checks of packages for vulnerabilities.
Using this option, you instruct PulseUno to regularly update packages in the vault with any new vulnerabilities that may be discovered.For details on how PulseUno identifies vulnerabilities, see Vulnerability detection.
- Click Save.
Delete vaults
As an administrator, you can delete vaults. Deleted vaults are scheduled to be permanently removed after 7 days. During those 7 days, you can cancel the deletion anytime.
To delete a vault:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, open the vault you want to delete.
- In the sidebar, select Settings > Advanced.
- Click Delete this vault and confirm the deletion.
The vault is now scheduled to be deleted in 7 days. - To delete the vault instantly, click Complete Deletion Now.
- In the warning dialog box, enter the name of the relevant space and vault.
- Click Complete Deletion Now. The vault is permanently removed.
To stop the vault deletion:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Vaults.
- On the Vaults page, open the vault scheduled to be deleted.
- In the sidebar, select Settings > Advanced.
- Click Stop deletion and confirm your action.
Configure HTTP access to vaults
This section describes how to set up an HTTP connection to a vault if you want to use HTTP instead of HTTPS.
Set up HTTP access to a Maven vault
Because Maven 3.8.1 and later doesn't support non-HTTPS repositories, we recommend that you configure your vault server for HTTPS. For details, see Configuring Web Tools for HTTPS in the Dimensions CM Administration Guide.
To enable HTTP access to your Maven vault, follow the instructions in this topic.
To set up an HTTP connection:
Create a custom Maven settings.xml or .mvn/local-settings.xml file with the following entry:
<blocked>false</blocked>
For details on creating the settings file, see the Maven documentation.
Example:
Suppose this is the way you vault is configured in the pom.xml file:
<repositories>
<repository>
<id>my-repository</id>
<name>my-vault</name>
<url>http://my-server:8080/vault-server/maven/my-space/my-vault</url>
</repository>
</repositories>
Then, to unblock HTTP access to the vault, include the following entries in the settings file:
<mirrors>
<mirror>
<id>unblock-my-vault</id>
<mirrorOf>my-repository</mirrorOf>
<name>my-vault</name>
<url>http://my-server:8080/vault-server/maven/my-space/my-vault</url>
<blocked>false</blocked>
</mirror>
</mirrors>
Give roles on vaults to users and teams
This topic describes how to add members (individual users and teams) to vaults and give them roles. Roles have these capabilities:
- Owner: can administer vaults, for example, change vault settings, delete vaults, publish packages into vaults, and download packages from vaults.
- Approver: can approve and reject packages.
- Developer: can only download packages from vaults.
- Deployer: can download and deploy packages into vaults and send packages for approval.
- Continuous Integration: can download and deploy packages.
For information about creating teams see Create and edit teams.
Add users to vaults and give them roles
You can add individual users to vaults and give them a role.
- Open the vaults home page and select a local or remote vault. You can also select vaults in virtual vaults.
- On the sidebar click Members.
- Select the Individuals tab.
- To add users click Add Individual (+). The Add Individuals dialog box opens.
- Select a role from Role to assign.
- Search for users and click Enter.
- Select users and click Add.
Add teams to vaults and give them roles
You can add teams to vaults and give them a role.
- Open the vaults home page and select a local or remote vault. You can also select vaults in virtual vaults.
- On the sidebar click Members.
- Select the Teams tab.
- To add users click Add Team (+). The Add Team dialog box opens.
- Select a role from Role to assign.
- Search for teams and click Enter.
- Select teams and click Add
Delete members from vaults
You can delete users and teams from vaults.
- Open the vaults home page and select a local or remote vault. You can also select vaults in virtual vaults.
- On the sidebar click Members.
- Select the Individuals or Teams tab.
- Select users and teams.
- Click Delete and confirm.
Change the roles for members
You can change the role for members.
- Open the vaults home page and select a local or remote vault. You can also select vaults in virtual vaults.
- On the sidebar click Members.
- Select the Individuals or Teams tab.
- Select users and teams.
- Click Change Role and select a role.
Use vault approval checklists
This topic describes how to:
- Use checklists when approving vaults.
- Set the default checklist across all vaults.
Use checklists when approving vaults
When approvers review packages, you can mandate an approval checklist for each vault. For example, you can require an approver to verify that a package has an Apache 2.0 license and no security issues. For information about checklists and how to create them, see Manage review check lists.
To use checklists when approving vaults:
- In PulseUno, navigate to Spaces and open a space.
- In the sidebar, click Vaults, and then select a local or remote vault. You can also select vaults inside virtual vaults.
- In the sidebar click Settings > Approving changes.
- Select Enable check list.
- Select a package approval checklist for this vault.
- Click Save.
Set the default approval checklist across all vaults
You can mandate the use of package approval checklists and set the default checklist, across all vaults.
To set the default approval checklist for all vaults:
- In PulseUno, navigate to Spaces and open the space containing the vaults.
- Select Settings > Vault defaults.
- Select Enable check list.
- Select the default package approval checklist for all vaults.
- Click Save.
Populate vaults with packages
There are many reasons to store binaries in a vault, but these are the common use cases:
- Internal: binaries built from your software. When you publish these package types they typically do not need to be approved and can be consumed by developers.
- External: components downloaded from third part vendors, such as Maven. When this package type has been added to a vault, it can be reviewed, approved, and then consumed by developers. An external package cannot be used in build and deployment processes until it has been approved. For details, see Review and approve vault packages.
When building software, you need to specify the URLs for the vaults you are publishing packages to or pulling packages from. The configuration of these URLs depends on the package types, build systems, and IDEs that you are using. For details, see your package manager's user help.
Vault URL format
Use the following URL format to specify the location of vaults in PulseUno:
| Maven npm |
http://<hostname>:<port-number>/vault-server/<vault-type>/<space-name>/<vault-name> |
| Docker | <hostname>:<port-number>/<space-name>/<vault-name> |
where:
| Parameter | Description | Example values |
|---|---|---|
| <hostname>:<port-number> | Specifies the machine name and port number where the PulseUno vault is located. |
dev:8080 |
| vault-server | You must specify this parameter for Maven and npm. | n/a |
| <vault-type> | Specifies the vault type. | maven |
| <space-name> | Specifies the name of the PulseUno space where the vault is located. |
app |
| <vault-name> | Specifies the name of the vault that will be populated with the contents of the package. |
dev-cache |
Example URL:
http://dev:8080/vault-server/maven/app/dev-cache
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults.
- On the Vaults page, click the name of a vault. The Details page opens. The vault's URL is displayed on the right.
- To copy the URL to your clipboard, click Copy
. You can then paste the link into your IDE or build scripts.
Publish packages
This topic describes how to publish packages so that they can be reviewed by approvers. For information about adding approvers, see Give roles on vaults to users and teams.
To publish a vault package:
- In PulseUno, open Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page opens.
- Open the vault containing the package you want to publish.
- Open the package and then a package version.
- In the Conversation tab, on the right, click Approver.
- Select approvers for this package and click Save.
- To publish the package so that it can be reviewed and approved, click Publish.
- To confirm, click Publish Package.
Download files and packages
You can download content from a vault. PulseUno enables you to download individual files or entire packages. Packages are saved as single zip files.
To download a file:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page opens.
- Open a vault and then open a vault's package.
- Open the package version that contains the file you want to download.
- Select the Content tab.
- Select a file from the content list. Use the Find field to search for files by name.
- In the Info section, click the file name link. Confirm the download if requested.
To download a package:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page opens.
- Open a vault and then open a vault's package.
- Click Download. Confirm the download if requested.
A zip file with package contents is downloaded to your machine.
Delete packages
As an administrator, you can delete vault packages and package versions.
To delete packages:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page opens.
- Open the vault containing the packages you want to remove.
- Select one or more packages.
- Click Delete
and confirm the deletion.
To delete package versions:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page opens.
- Open a vault and then open a vault's package.
- Select one or more package versions.
- Click Delete
and confirm the deletion.
NOTE Alternatively, to delete a single package version, open the package version and click Delete at the top right.
Review and approve vault packages
This topic describes how to:
- Review package contents, for example, inspect vulnerabilities.
- Approve and reject packages. Approved packages can be consumed by build and deployment processes.
Review package contents
You can inspect the contents of a package, review its details, rename the package, and send comments to team members.
To review package contents:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, click Vaults. The Vaults page opens.
- Open the vault containing the package you want to view.
- Open the package and then a package version.
- To view and edit information about the package, navigate between the tabs:
Tab Description Conversation - Edit the description to change the package's automatically generated name.
- Send comments and questions to other members of your team. Replies from the team are displayed in this tab.
Details - View the package details, for example, who deployed the package and when.
- View command and code hints on how to use the package in your project.
For example, for npm, find commands for installing the package to your npm project or adding the package to a dependency file.
Content - View details about the files and folders included in the package.
- Download a package file or the entire package. For details, see Download files and packages.
Activity View the recent activity for the package. Licenses View licenses for the package, for example, Apache 2.0. Vulnerabilities View vulnerabilities detected by PulseUno, including the source, Common Weakness Enumeration (CWE, software weakness types), severity, and description.
For details on how to enable regular vulnerability checks, see Edit vault settings.
Approve vault packages
Approve packages so that they can be consumed by development teams in their build and deployment processes.
Reject packages if they violate your organizations standards such as licensing, performance, or security. When a package is rejected, it cannot be used. The developer who added the package must fix the issue, for example, use a different version.
You can approve or reject multiple packages at once.
To approve or reject a package:
- In PulseUno, open My Work.
- In the sidebar, click Package approvals. A list of packages pending your approval is displayed. Sort the list as required, for example, by package version or the users who deployed the packages.
- Open the package version by clicking its name.
- To approve the package, click Approve. Optionally, in the Confirm Approval dialog box, enter the reason for approving the package.
To reject the package, click Reject. In the Confirm Rejection dialog box, enter the reason for rejecting the package. - Click Approve or Reject to confirm your action.
To approve or reject multiple packages:
- In PulseUno, open My Work.
- In the sidebar, click Package Approvals. A list of packages pending your approval is displayed.
- Select the packages you want to approve or reject.
To select all the packages, click Toggle Select All
. - To approve the packages, click Change Approval > Approve. Optionally, in the Confirm Approval dialog box, enter the reason for approving the packages.
To reject the packages, click Change Approval > Reject. In the Confirm Rejection dialog box, enter the reason for rejecting the packages. - Click Approve or Reject to confirm your action.
Specify vault approval rules
PulseUno includes the following example vault automated approval rules:
- defaultRule.js: approves all packages that have no critical or high security issues and have an Apache-2.0 license.
- rejectGPL: rejects all packages that contain a GPL license.
- rejectHighSeverity: rejects all packages that contain high severity vulnerabilities.
You can specify the approval rule for all vaults or each vault.
To specify vault approval rules:
- Navigate to Spaces and select a space.
- Set a rule for all vaults or individual vaults:
All vaults In the sidebar, select Settings > Vault Defaults. Individual vaults - In the sidebar, select Vaults.
- On the Vaults page, open a local or remote vault.
- In the sidebar, select Settings > Approving Changes.
- For the Approval Rules option, select Enable automated approval and rejection using rule scripts.
- Select a rule from the list.
- Click Save.
Set a vault content policy
Content policies define what packages can be delivered to a vault and for how long they are kept. As an administrator, you create a content policy when you want to restrict specific packages from being uploaded. A content policy is set for each vault.
When creating a content policy, you can also apply a retention policy that specifies how long PulseUno needs to keep packages in a vault before purging them.
To set a vault's content policy:
- In PulseUno, open Spaces and select a space.
- In the sidebar, click Vaults.
- On the Vaults page, open a vault.
- In the sidebar, select Settings > Content Policy.
- On the Content Policy page, provide the following information:
Field Description Retention policy Set a retention policy for the vault:
- Select Enable automatic deletion of packages using retention policy.
- Select a policy from the list.
Exclude packages Specify the names of packages and versions to exclude from being delivered to the vault. Enter each name on a new line. Use Ant-style patterns and wildcards to exclude multiple packages, for example, com.acme.*. Include packages Specify the names of packages and versions that can be included in the vault. Enter each name on a new line. Use Ant-style patterns and wildcards to include multiple packages, for example, com.acme.test.*.
PulseUno matches each delivered package against the exclude filter first and then against the include filter. Packages that do not pass the filters will not be uploaded to the vault.
- Click Save.
Subscribe to vault notifications
You can subscribe to vault email notifications. For details, see Subscribe to email notifications.
Configure experts
PulseUno includes bundled and built-in experts:
- A built-in plugin can only be upgraded or replaced when you update PulseUno. It is core to the product and is not expected to change without changes to PulseUno.
- A bundled plugin is a standard expert that is shipped with PulseUno. You can overwrite it as long as the newer version is backwards compatible with your version of PulseUno.
- Additional and upgraded experts will be made available for download from the Community page.
- You can write your own expert implementations if you have site-specific requirements or in-house utilities that you want to integrate with PulseUno.
Except where specified all experts are either bundled or built-in.
Each expert section below contains some, or all, of the following information:
- Overview: what the expert does and why you would use it.
- Prerequisites: external tools that the expert depends on.
- Configure: global server configuration files that must be set up, the fields
that you enter when configuring an expert, and whether the expert needs to be in a chain that uses a workspace.
A workspace is a directory that is allocated to a chain when it runs. The workspace is populated with the stream content (its files), so that the experts in the chain can analyze the stream content and report findings back to PulseUno. Workspaces are limited and a chain may be delayed until one is allocated. Workspace directories are located in the PulseUno data directory.
The notation ${dataDir} refers to the PulseUno data
directory on the PulseUno server, for example, C:\ProgramData\Micro Focus\Dimensions CM\Pulse or
/opt/microfocus/dimensions/14.5.1/pulse_data.
file.path=C:\\TEMP\\myfile.binManage experts
The Administration > Plugins page displays all the experts that are currently installed in your environment. The plugins are separated into these categories:
- Build
- Capture Artifacts
- Container
- Dependency
- Deployment
- Other
- SCM
- Security and Compliance
- Static Analysis
- Test
As asn administrator, you can:
- Check what plugins are installed.
- Enable and disable plugins.
- View the results of recent expert runs.
- On the top navigation, click Administration.
- Select Plugins.
- For each plugin, do the following:
- Enable or disable the plugin.
- View the last runs.
For details about installing additional plugins, see the Dimensions CM Administration Guide.
Capture to DA CodeStation
Overview
Captures build artifacts to Deployment Automation CodeStation. These represent deployable items such as files, images, databases, configuration materials, or anything else associated with a software project. For details about configuring and using Deployment Automation, visit the Deployment Automation Help Center.
Prerequisites
- The Deployment Automation server must be installed in a network location where the expert can connect to.
- A working component configured in your Deployment Automation server for the expert to invoke.
This expert supports DA version 6.1.5.
Configure
Configure expert settings
| Field Name | Description | Example Value | Required |
|---|---|---|---|
| Step Name | The name of this expert step. | Capture to DA CodeStation |
Yes |
| Username | The name of the user that will log into DA. | Yes | |
| Password | The user's password. | Yes | |
| DA server URL | The URL of the DA server. | Yes | |
| Component name | Enter name of a DA component. The components that are available are listed in the field. | ${EXPERT_RUN_ID} | |
| Version name | Enter the version of the DA component. The versions that are available are listed in the field. | ${EXPERT_RUN_ID} | |
| Artifact directory | The path to the directory where build artifacts will be captured. | ||
| Include patterns | To only capture specific files, enter one or more Ant patterns (one per line). To capture all files leave this field blank. | ||
| Exclude patterns | To exclude specific files from being captured, enter one or more Ant patterns (one per line). To capture all files leave this field blank. | ||
| Flatten files | Capture all the files into one flat directory. |
Capture to Dimensions CM
Overview
Captures build artifacts to a Dimensions CM stream.
Configure
| Field/Option | Description | Example Value | Required |
|---|---|---|---|
| Step Name | The name of this expert step. | Yes | |
| Use the chain's stream to capture targets | Capture targets to the stream that owns this chain. | ||
| Target stream | Enter the name of the product and stream where the targets will be captured. Only displayed if you do not select the previous option. | QLARIUS:JAVA_BRANCHA_STR | Yes |
| Request | Enter the name of the CM request that will be related to the targets. | ||
| Source Directory | Enter the path to the source directory where the build artifacts are located. | ||
| Target Directory | Enter the path to the target directory in the stream where you want the build artifacts to be captured. | ||
| Include patterns | To only capture specific files, enter one or more Ant patterns (one per line). To capture all files leave this field blank. | ||
| Exclude patterns | To exclude specific files from being captured, enter one or more Ant patterns (one per line). To capture all files leave this field blank. | ||
| Commit message | Enter a message that describes this commit to the CM stream. | Committed using the expert Capture To Dimensions CM | |
| Flatten files | Capture all the files into one flat directory. |
Capture to Directory
Overview
Captures build artifacts to a directory.
Configure
| Field/Option | Description | Example Value | Required |
|---|---|---|---|
| Title | Enter a name of this expert step. | Yes | |
| Source relative directory | Enter the path to the source directory where the build artifacts are located. This is the path that is relative to the root of the stream that owns this chain. | Yes | |
| Destination directory | Enter the absolute path to the target directory where you want the build artifacts to be captured. You can use tokens, for example:
|
‘D:\destinationDir\${SUITE_NAME}\${PRODUCT_NAME} \${STREAM_NAME}\${CHANGESETT_ID}\’ |
Yes |
| Include patterns | To only capture specific files, enter one or more Ant patterns (one per line). To capture all files, leave this field empty. | ||
| Exclude patterns | To exclude specific files from being captured, enter one or more Ant patterns (one per line). To capture all files, leave this field empty. | ||
| Flatten files | Capture all the files into one flat directory. |
Capture to SCP/SFTP
Overview
Captures build artifacts to a workspace using secure copy (SCP) or to remote network server using Secure File Transfer Protocol (SFTP).
Configure
| Field/Option | Description | Example Value | Required |
|---|---|---|---|
| Title | Enter a name of this expert step. | Yes | |
| SCP/SFTP | Select a method for capturing artifacts. | ||
| Host | Enter the name of the machine where the artifacts will be captured. | localhost dev7_unit_test |
Yes |
| Port | Enter the port number on the machine. | Yes | |
| Username | Enter the name of a user who has permission to access the machine. | Yes | |
| Password | Enter the user's password. | ||
| Source directory | Enter the path to the source directory where the artifacts are located. | ||
| Target directory | Enter the relative path to the target directory where you want the artifacts to be captured. |
||
| Include patterns | To only capture specific files, enter one or more Ant patterns (one per line). To capture all files, leave this field empty. | ||
| Exclude patterns | To exclude specific files from being captured, enter one or more Ant patterns (one per line). To capture all files, leave this field empty. | ||
| Flatten files | Capture all the files into one flat directory. |
Changeset Summary
The Changeset Summary expert is a built-in expert that counts the number of files added, deleted, and modified in each changeset. To track of the number of changes, which indicates the level of code churn, you can configure this expert to run on every changeset.
This expert has no prerequisites or configuration and does not require a workspace because it uses the changeset information.
Checkstyle
Overview
The Checkstyle expert is a bundled expert that uses the Checkstyle development tool to check that Java code adheres to a defined coding standard.
Use Checkstyle to help you comply with Java coding standards by automating code checking. Checkstyle is highly configurable and can support most coding standards. For more information, see the Checkstyle documentation.
This expert has no prerequisites (the Checkstyle 5.7 libraries are embedded in the expert so there are no external tools to install).
Configure
Create server configuration file
To customize the Checkstyle rules to be checked by this expert, create an XML configuration file in
${dataDir}/conf/experts/com.serena.starlight/checkstyle/ on the PulseUno server.
The default filename is config.xml.
The Checkstyle expert searches for a configuration file in the following sequence:
- If the field Configuration File Name specifies a filename, looks for that file in
${dataDir}/conf/experts/com.serena.starlight/checkstyle/. - If the field Configuration File Name is empty, looks for
config.xmlin the same directory on the PulseUno server. - If the field Configuration File Name is empty, and
config.xmldoes not exist, uses a built-in configuration based on Sun Coding Conventions.
Configure expert settings
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description |
|---|---|
| Step Name | Enter a name for this step in the chain. |
| Configuration location | Select one of the following options:
|
| Configuration File Name | Specify the path and filename of a configuration file that you created on the PulseUno server. |
Checkstyle operates on source code files so add the Checkstyle expert to a chain that populates a workspace.
CM Build
Overview
If your team uses Dimensions Build and you have existing build configurations, the bundled CM Build expert enables you to run the configurations in PulseUno. Dimensions Build is a build management, execution, and monitoring tool that is part of Dimensions CM. For details see the Dimensions CM Build Help.
Prerequisites
A build configuration, created in Dimensions Build, for each stream that you are going to build.
Configure
When you add this expert to a chain configure it as follows:
- Enter a name for this step in the chain.
- Select a CM user account to be used to run the build:
- Service account: use the account and credentials of the user current logged into PulseUno. This is the account that was used to populate the work area associated with the stream.
- Custom account: use a different CM user account. Specify the user name and password.
- Set Configure using command line to one of the following:
- Yes: enter a BLD command and specify a poll rate. For details of the BLD command see the Dimensions CM Command-Line Reference.
- No: configure CM Build using the fields described below.
| Field Name | Description | Required | Example |
|---|---|---|---|
| Build based on request(s) | Restrict the build to sources that are related to CM requests that you specify. Enter a comma separated list of requests. Leave blank if you do not want to restrict the build. | QLARIUS_CR_21,QLARIUS_CR_56 | |
| Area type | Select a Dimensions CM area type:
|
||
| Area name | Specify the area to be used for this build. Default: all areas associated with the build configuration or stage. | ||
| Stage | Specify the stage where the targets will be built. Only displayed if you select a Deployment area. |
DEV | |
| Build configuration name | Specify the build configuration, and version, that you want to build. If you do not specify a version, by default the latest is used. | Yes | ANT_JAVA_BUILD;6 |
| Build area user | Enter a Dimensions CM credential set that has access to the build area. Only displayed if you select a Work area. |
MY_CREDENTIAL_SET | |
| Populate the work area with all files | Select this option to populate the work area with all the files that are related to the build. Only displayed if you select a Work area. |
||
Check in built items
|
Select one of the following options:
|
||
| Target stream name | Specify the stream where the collected and built items will be delivered. Default: the same stream as the sources. Only displayed if you are checking in built items. |
QLARIUS:JAVA_BRANCHA_STR | |
| Relate built items to requests | Specify a comma separated list of requests to which new items created from the final build targets will be related. Only displayed if you are checking in built items related to custom requests. |
QLARIUS_CR_24,QLARIUS_CR_18 | |
| Build options | Select one of these options:
Only displayed if you select a Deployment area. |
||
| Target selection |
For details see the BLD command in the Dimensions CM Command-Line Reference. |
||
| Poll rate | Specify how often (in seconds) that the expert checks if the build has completed. | Yes | 50 |
CM Build manages its own workspaces so you can add it to a chain that does not populate a workspace.
DA Deployment
Overview
The DA Deployment expert is a bundled expert that allows you to integrate PulseUno with Deployment Automation (DA) and to publish and deploy artifacts from a Dimensions CM stream.
You can use the DA Deployment expert to automate the path to production for your application. For example, the expert can support continuous delivery by:
- Publishing files from a stream to a Deployment Automation server as a new component version.
- Adding a Deployment Automation status to a new published version.
- Deploying the new published version.
Prerequisites
The Deployment Automation server must be installed on your network, but not necessarily on the PulseUno server, where this expert can connect to it. The DA Deployment expert has been tested with Deployment Automation server version 6.1.1.
You will need a working application process configured in your Deployment Automation server for the DA Deployment expert to invoke.
Configure
Create server configuration file
The following DA Deployment expert properties file is usually required:
${dataDir}/conf/experts/com.serena.starlight/sdadeploy/sda-pulse-expert.properties
The property below identifies the location of the Deployment Automation server, if the default value shown is correct you do not need to edit it:
| Property Name | Description | Required | Example |
|---|---|---|---|
| sdaServerUrl | URL to the Deployment Automation server web application | Yes | http://localhost:8080/da |
Configure expert settings
When you add this expert to a chain in PulseUno, modify the following configuration fields:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Step Name | Enter a name for this step in the chain. | DA Deployment | Yes |
| Username | Enter the username of a Deployment Automation server administrator. | admin | Yes |
| Password | Enter the password of the Deployment Automation server administrator. | admin | Yes |
| Component Name | Specify the name of the Deployment Automation component that will be published. | my_component_1.5 | Yes |
| Version | A new version of a Deployment Automation component is created each time this expert runs. Use this option to specify the format of the version name and make it easier to identify its source. You can include the following variables by using the syntax '${<variable_name>}' in the value:
|
VERSION_NAME-${CHANGESET_ID} | Yes |
| Artifact Directory | Specify the relative path in the stream where assets are located. | target\ | Yes |
| Include | To only publish specific files, enter one or more Ant patterns (one per line). To publish all files leave this field blank. | *.war *.jar |
No |
| Exclude | To exclude specific paths from being published, enter one or more Ant patterns (one per line). To publish all files leave this field blank. | *.java *.html *.xml |
No |
| Add Status | Select this option to display the field Status Name. | No | |
| Status Name | (Visible if Add Status is selected) Specifies the Deployment Automation status to move the new component version to. | STATUS_SUCCESS | Yes (if Add Status is selected) |
| Deploy | Select this option to display fields that specify how the new component version will be deployed. | No | |
| Application Name | Specify a Deployment Automation application (contains a component to be deployed). | my_application | Yes (if Deploy is selected) |
| Application Process Name | Specify the Deployment Automation application process to be executed. | my_deploy_app_process | Yes (if Deploy is selected) |
| Environment Name | Specify the Deployment Automation environment to deploy to. | my-environment | Yes (if Deploy is selected) |
| Deploy Properties | Specify deploy properties that will be used to run the Deployment Automation application process. Enter one pattern per line in this format: <property_name>=<prop_value> |
set_up_db=true use_logging_level=trace |
No |
Because Deployment Automation normally operates on binary files, add the DA Deployment expert to a chain that populates a workspace with build artifacts.
DA Generic Process
Overview
The DA Generic Process expert is a bundled expert that allows you to integrate PulseUno with Deployment Automation (DA) and run a DA global process on a specific resource. For example, you can use this expert to run a regular, repeated process when updated artifacts are delivered.
Prerequisites
The Deployment Automation server must be installed on your network, but not necessarily on the PulseUno server, where this expert can connect to it. The DA Generic Process expert has been tested with Deployment Automation server version 6.1.1.
You will need a working global process configured in your Deployment Automation server for the DA Generic Process expert to invoke.
Configure
Create server configuration file
The following DA Generic Process expert properties file is usually required:
${dataDir}/conf/experts/com.serena.starlight/sdaprocessexecutor/sda-pulse-expert.properties
The property below identifies the location of the Deployment Automation server, if the default value shown is correct you do not need to edit it:
| Property Name | Description | Required | Example |
|---|---|---|---|
| sdaServerUrl | URL to the Deployment Automation server web application | Yes | http://localhost:8080/da |
Configure expert settings
When you add this expert to a chain in PulseUno modify the following fields:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Step Name | Enter a name for this step in the chain. | DA Generic Process | Yes |
| Username | Enter the username of a Deployment Automation server administrator. | admin | Yes |
| Password | Enter the password of the Deployment Automation server administrator. | admin | Yes |
| Generic Process Name | Specify the name of the Deployment Automation global process to be run on the Deployment Automation server. | setup_net_process | Yes |
| Resource Name | Specify the name of the Deployment Automation resource on which the global process will be run. | machine_without_net_resource | Yes |
| Process Properties | Specify properties that will be used to run the Deployment Automation global process. Enter one pattern per line in this format: <property_name>=<property_value> |
set_up_db=true use_logging_level=trace |
No |
Because Deployment Automation normally operates on binary files, add the DA Generic Process expert to a chain that populates a workspace with build artifacts.
Dependency Vulnerabilities
Overview
The Dependency Vulnerabilities expert is a bundled expert that integrates the Open Web Application Security Project (OWASP) dependency-check tool that can scan Java, .NET, and Python applications and their dependent libraries.
This expert identifies vulnerable dependencies in the analyzed stream and displays the findings in the Experts section of a PulseUno Review page. One finding per vulnerability is displayed and there can be multiple vulnerabilities for each dependency. Each finding contains the ID of the vulnerability and the name of the dependency where it was found. A report file can be viewed from the Review page.
Prerequisites
There is no external software to install (the dependency-check 1.3.6 library is embedded in the Dependency Vulnerabilities expert). However, the expert relies on data from the National Vulnerabilities Database (NVD) web site to find vulnerabilities and requires access to the internet to download and update data.
On the first run the expert creates:
- The folder
${dataDir}/conf/experts/com.serena.starlight/dependencyvulnerabilities/data/ - The file
cve.2.9.h2.dbthat is updated from the Common Vulnerabilities and Exposures (CVE) data . Each run automatically updates the CVE data if autoupdate in the properties file is set to true.
Configure
Create server configuration file
The properties file is optionally located in ${dataDir}/conf/experts/com.serena.starlight/dependencyvulnerabilities/dependencycheck-pulse-expert.properties.
It contains configuration properties for both the Dependency Vulnerabilities expert and its embedded dependency-check library.
You only need to create this file if you need to override one of the default values.
| Property Name | Description | Example Value | Default Value | Required |
|---|---|---|---|---|
| pulseWarningCvssThreshold | Vulnerabilities with a CVSS score less than the specified value are treated as a WARNING. | 3.0 | 4.0 | No |
| pulseErrorCvssThreshold | Vulnerabilities with a CVSS score less than the specified value are treated as an ERROR. The value must be bigger than that specified for pulseWarningCvssThreshold. | 9.0 | 7.0 | Yes |
| pulseAutoUpdate | Automatically updates the CVE data. The possible values are:
|
ALWAYS |
Configure expert settings
When you add this expert to a chain in PulseUno modify the following fields:
| Field Name | Description | Example Value | Default Value | Required |
|---|---|---|---|---|
| Step Name | Enter a name for this step in the chain. | Dependency Vulnerabilities | Dependency Vulnerabilities | Yes |
| Application name | Enter the application name to be displayed in the report file. | My-App | Yes | |
| Include patterns | To only include specific paths, enter one or more Ant patterns (one per line). To include all paths leave blank. | *.war **/*.jar |
**/* | No |
| Exclude patterns | To exclude specific paths, enter one or more Ant patterns (one per line). To include all paths leave blank. | target/*.class | No | |
| Suppression file | Enter the relative path in the stream to the suppression file. | conf/suppression.xml | No | |
| CVE Suppression List | Enter a comma-separated list of CVE IDs to suppress. | CVE-2008-0732,CVE-2011-5034 | No | |
| Enable Archive analyzer | Scans these files types: ZIP, EAR, WAR, JAR, SAR, APK, NUPKG, TAR, GZ, TGZ | Yes | No | |
| Enable Jar analyzer | Scans these files types: JAR, WAR | Yes | No | |
| Enable Assembly analyzer | Scans these files types: EXE, DLL | Yes | No | |
| Enable Nuspec analyzer | Scans the NUSPEC file type. | Yes | No | |
| Enable Python package analyzer | Scans these files types: py, zip, PKG-INFO, METADATA | Yes | No | |
| Enable Python distribution analyzer | Scans these files types: whl, egg, zip | Yes | No | |
| Enable CMaker analyzer | Scans these files types: CMakeLists.txt, *.cmake | No | ||
| Enable NodeJS analyzer | Scans this file type: package.json | No | ||
| Enable OpenSSL analyzer | Scans this file type: opensslv.h | No | ||
| Enable Ruby analyzer | Scans these files types: rakefile, *.gemspec | No | ||
| Enable Composer Lock analyzer | Scans this file type: composer.lock | No | ||
| Enable Autoconf analyzer | Scans these files types: configure, configure.in, configure.ac | No | ||
| Enable Central analyzer | Checks for Maven GAV (Group/Artifact/Version) information in the scanned area. | Yes | No | |
| Enable Nexus analyzer | Checks for Maven GAV (Group/Artifact/Version) information in the scanned area. | Yes | No | |
| Unstable threshold | If there are vulnerabilities with a CVSS score higher than the value you specify, the expert result is UNSTABLE. If no value is set the result is SUCCESS. | 7.0 | No | |
| Failure threshold | If there are vulnerabilities with a CVSS score higher than the value you specify, the expert result is FAILURE. If no value is set the result is SUCCESS. | 9.0 | No | |
Automatically update CVE DB |
Select an update option for the CVE database:
|
For more information about analyzers, see the File Type Analyzers page.
The Dependency Vulnerabilities expert may report false-positive dependencies. For example, you consume a vulnerable library but you do not use the vulnerable functionality, or the vulnerability only applies in circumstances that does not apply to you. You can suppress any CVE by passing the suppression XML file with CVE suppressions (Suppression file property) or the CVE ID list (CVE suppression list property). For more information about suppression, see the Suppressing False Positives page.
The dependency-check analyzers operates on binary files, so add the Dependency Vulnerabilities expert to a chain that populates a workspace with build artifacts.
Run a Docker container
Overview
Creates a Docker container, which is a runtime instance of a Docker image.
Configure
| Field/Option | Description | Example Value | Required |
|---|---|---|---|
| Step Name | The name of this expert step. | Yes | |
| Docker image name | Enter the name of the Docker image that will be created. | ||
| Pull image from registry | Pull image from registry. | ||
| URL | Enter the URL that matches the directory in the Docker engine from which you want to access a remote Docker Registry. |
https://registry.company.com/ | |
| Username | Enter the name of the user who can access the Docker Registry. | ||
| Password | Enter the user's password. | ||
| Enter the email of the Docker Registry user. | |||
| Start container | Start container. | ||
| Attach container | Attach container. | ||
| Container name | Enter the name of the Docker container that will be created. |
|
|
| Port mappings | Bind the port number from the Docker host engine into the container. | host_port:container_port, 80:8080 | |
| Environment variables to pass to container. | PULSE_USER=user | ||
| Command to run in container (exec) | The command to run in the Docker container. | bash | |
| Container working directory | Working directory inside the container. | /app | |
| Volumes to mount into container | Volumes to mount into container. | /app/src:/app | |
| Mount volumes from another container. | |||
| Verify TLS certificates | Verify TLS certificates. | ||
| Local file path on Agent to certificates. | |||
| Configuration directory on Agent. | |||
| Remote Docker API version. |
Build a Docker image
Overview
Creates a Docker image, which is an ordered collection of root filesystem changes and the corresponding execution parameters that you can use in a container runtime. An image typically contains a union of layered filesystems stacked on top of each other. You can optionally push the image to a Docker repository.
Configure
| Field/Option | Description | Required |
|---|---|---|
| Step Name | The name of this expert step. | Yes |
| Root context directory for script | The root context directory normally contains the dockerfile for the image. | |
| Docker image name | The name of the Docker image that will be created. | Yes |
| Specify Dockerfile contents | The path to a Dockerfile. Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains commands to be called at the command line. |
|
| Use cache when building the image | You can cache the image layers inside the registry to avoid fetching the same content from the server to the registry on every pull operation. Set this parameter if your registry is remote from your Dimensions CM server. | |
| Push image to registry | Push image to registry. | |
| URL | The URL that matches the directory in the Docker engine from which you want to access a remote Docker Registry. |
|
| Username | The name of the user who can access the Docker Registry. | |
| Password | The user's password. | |
| The email of the Docker Registry user. | ||
| Verify TLS certificates | Verify TLS certificates. | |
| Local file path on Agent to certificates. | ||
| Configuration directory on Agent. | ||
| Remote Docker API version. |
Run script in Docker container
Overview
Enables you to use a command to execute a script in a Docker container that is running, without logging into that container.
Configure
| Field/Option | Description | Required |
|---|---|---|
| Step Name | The name of this expert step. | Yes |
| Docker image name | Enter the name of the Docker image where the script will run. | |
| Mount workspace path | Mounts a workspace in the container. | |
| Type of script | Select one of the following:
|
|
| Script language | Select a script language:
|
Yes |
| File path | Enter the path to the file that contains the command. Use single quotes to escape spaces in the path name. | |
| Command line | Enter the command that you want to execute. |
Halt on failure
This expert does not have any parameters.
Fortify SCA
Overview
The Fortify SCA expert is a bundled expert that analyzes the source code of an application for security issues. Static Code Analyzer (SCA) identifies the root causes of software security vulnerabilities and delivers accurate, risk-ranked results with line-of-code remediation guidance.
Prerequisites
The Fortify SCA expert requires Fortify SCA (and any tools that it will use, such as Microsoft Visual Studio) to be installed and configured correctly for the named user account that Tomcat will run as.
Configure
Create server configuration file
The Fortify SCA expert's server configuration file is mandatory and is located in: ${dataDir}/conf/experts/com.serena.starlight/hpfortify/hpfortify-pulse-expert.properties
| Property Name | Description | Required | Example |
|---|---|---|---|
| sourceAnalyzerPath | Specifies one of the following:
|
Yes | C:\\Program Files\\HP_Fortify\\HP_Fortify_SCA_and_Apps_4.30\\bin\\sourceanalyzer.exe |
| reportGeneratorExecutablePath | Specifes the full path to the Fortify SCA report generator. | Yes | C:\\ProgramFiles\\HP_Fortify\\HP_Fortify_SCA_and_Apps_4.30\\bin\\ReportGenerator.bat |
| visualStudioExecutablePath | Specifies the full path to Microsoft Visual Studio. | No | C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\devenv.exe |
Example server configuration file:
sourceAnalyzerPath=C:\\Program Files\\HP_Fortify\\HP_Fortify_SCA_and_Apps_4.30\\bin\\sourceanalyzer.exe reportGeneratorExecutablePath=C:\\ProgramFiles\\HP_Fortify\\HP_Fortify_SCA_and_Apps_4.30\\bin\\ReportGenerator.bat visualStudioExecutablePath=C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\devenv.exe
Configure expert settings
When you add this expert to a chain configure it as follows:
- Enter a name for this step in the chain.
- Select a custom translation option:
- Yes: use a custom translation string. Enter a string in Custom translation options but only include phase options and exclude '-b'.
- No: select translation options (see the table below).
- For Analysis phase optionally enter additional rulepack files or folders, one per line. You can specify an absolute path or one that is relative to the root of the stream. Use the sourceanalyzer Ant task rules attribute.
- To create a PDF of the report select Generate PDF report and enter the path of a report template. You can specify an absolute path or one that is relative to the root of the stream. If you do not specify a report template the default is used. Use the ReportGenerator utility's template option.
| Translator type | Option | Description |
|---|---|---|
| Java sources | Sources include pattern | Enter patterns for Java sources, for example: src/**/ *.java Default pattern: **/*.java |
Classpath |
Enter a Java class path. The format is the same as javac (colon or semi-colon separated list of paths). Use the sourceanalyzer Ant task classpath attribute. | |
| Resolution source path | Enter a path to a Java resolution sources folder. Sources are used for resolution not analysis. Use the sourceanalyzer Ant task sourcepath attribute. | |
Java version |
Specify the JDK version the Java code is written for. Use the sourceanalyzer Ant task source attribute. | |
| .NET sources | Solution file path | Enter the relative path to a solution file. |
| Other sources | Include pattern |
Enter an 'include' pattern for other sources, for example: **/ *.sql |
Jenkins
Overview
The Jenkins expert is a bundled expert that can invoke a Jenkins job on a remote Jenkins server. For example, use it to run a continuous integration build against each changeset as it is delivered and report the build time.
Prerequisites
The Jenkins server must be installed on your network, but not necessarily on the PulseUno server, for this expert to connect to. See the Jenkins documentation for more information about installing.
You must define a job on your Jenkins server that the expert will invoke.
Optionally add build parameters to the job so that information about the Dimensions CM stream and changeset are available in your build. Alternatively, allow the Jenkins expert to make any configuration change to the Jenkins job automatically (no manual changes to your Jenkins job are needed).
If you add the build parameters manually, select the option This build is parameterized in your Jenkins job configuration page and add each build parameter as a String Parameter. The values Default Value and Description in Jenkins are not important.
| Jenkins Build Parameter Name | Description | Required |
|---|---|---|
| cmkey | An opaque value that uniquely identifies the build run to the Jenkins expert. Although shown here as Required, the Jenkins expert can automatically add this parameter to your Jenkins job and no manual job configuration is needed. |
Yes |
| repo | An opaque value that is different for each SCM repository. | No |
| stream | The name of the stream or project to which there was a delivery. | No |
| version | The stream or project version that the delivery created. | No |
| changeset | The repository (forest) version of the changeset for the delivery. | No |
Configure
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Required |
|---|---|---|
| Step Name | Enter a name for this step in the chain. | Yes |
| Jenkins Job Location | Specifies the URL for the Jenkins job (the location of the continuous integration server, including the job name). | Yes |
| Username | Specifies a Jenkins username. May be required if you are using Jenkins authentication. | No |
| Password | Specifies a Jenkins password or API token of the Jenkins user. May be required if you are using Jenkins authentication. | No |
| Automatically add build parameters to Jenkins Job | Automatically reconfigure the Jenkins job to add the mandatory build parameter cmkey. You can also add parameters manually (see above) if you prefer that the Jenkins expert does not touch your job. | No |
| Record Jenkins Job build result | Specifies whether the Jenkins expert should monitor the job and record its state it completes. | No |
| Check Jenkins Job status every (seconds) | If Record Jenkins Job build result is selected, specifies how often the Jenkins expert checks if the job has completed. | No |
- Select your name at the top-right of the Jenkins page.
- From the Actions menu select Configure.
- Click Show API Token.
If your Jenkins job requires a build authentication token before it can be triggered (see this
Jenkins wiki page for details)
add the token to the end of the Jenkins URL, for example: http://hostname:port/jenkins/job/MyProject/?token=buildtoken
The Jenkins expert:
- Uses the parameters after the question mark in the build request URLs that are sent to the Jenkins server.
- Supports freestyle and pipeline jobs.
Jenkins manages its own workspaces so you can add the Jenkins expert to a chain that does not populate a workspace.
Configure the output log
By default, the last 100 lines from the Jenkins log are displayed in the output log of a chain run and stored in the database.
To change the number of lines that are displayed and stored:
- Open the Jenkins property file:
${dataDir}/conf/experts/com.serena.starlight/jenkins/jenkins-pulse-expert.properties - Modify the value of this property:
jenkins.console.lines.count
Kiuwan
Overview
The Kiuwan expert is a bundled expert that integrates with Kiuwan Software Analytics in the Cloud, an online code quality and security service. If you are signed up to the Kiuwan service use this expert to:
- Track the quality and security of your changesets.
- Make that information visible in PulseUno reviews and reports.
Prerequisites
You must have an active account (username and password) for the Kiuwan service, have logged into the service, and configured an application name for your stream.
You must install the Kiuwan Local Analyzer on the PulseUno server.
Configure
Create server configuration file
The Kiuwan expert's server configuration file is mandatory and is located in: ${dataDir}/conf/experts/com.serena.starlight/kiuwan/kiuwan-pulse-expert.properties
| Property Name | Description | Required | Example |
|---|---|---|---|
| kiuwan.agent.command | Specifies the full path to the Kiuwan Local Analyzer's agent launcher (agent.cmd or agent.sh not kiuwan.cmd or kiuwan.sh). | Yes | C:\\KiuwanLocalAnalyzer\\agent.cmd |
| kiuwan.poll.interval | Specifies how often to check whether an analysis has completed (seconds). | Yes | 180 |
| kiuwanUsername | Specifies the username (email) used to log into the Kiuwan service. | No | cibuild@example.com |
| kiuwanPassword | Specifies the password to log into the Kiuwan service. | No | I@m!S3cR3t |
| kiuwanAnalysisApplication | Specifies the application name that has been configured in the Kiuwan account. | No | Qlarius |
- You can specify the properties kiuwanUsername and kiuwanPassword when you add the Kiuwan expert to a chain. However, if you always use the same account it is more convenient to specify them in the server configuration file.
- Normally the property kiuwanAnalysisApplication will vary based on the stream. However, if you always use the same application name you can specify it globally in the server configuration file.
Configure expert settings
When you add this expert to a chain in PulseUno modify the following fields:
| Field Name | Description | Required | Example |
|---|---|---|---|
| Step Name | Enter a name for this step in the chain. | Yes | Kiuwan |
| Username | Specifies a username for the Kiuwan account. | No | cibuild@example.com |
| Password | Specifies the password for the Kiuwan account. | No | I@m!S3cR3t |
| Application | Specifies the application name to register analysis results against in your Kiuwan account. | No | Qlarius |
The properties Username, Password and Application are only optional if they have been configured in the server configuration file.
The Kiuwan Local Analyzer operates on source code files so add the Kiuwan expert to a chain that populates a workspace.
Maven
Overview
The Maven expert is a bundled expert that executes Maven goals.
Prerequisites
Maven must be installed on an agent and added as a capability. For details, see Add capabilities to agents.
Configure
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Required |
|---|---|---|
| Title | The name for this step in the chain. | Yes |
| Execution goals | The goals to be executed, for example: Clean install | Yes |
| Relative directory | The path, relative to the stream’s root, where the build will run. | No |
| Advanced Maven JVM options | Additional Maven JVM options (MAVEN_OPTS), for example: -Xdiag -XshowSettings:all |
No |
| Environment properties | Pairs of environment properties to use with this chain. Enter each pair in the format
|
No |
Ant
Overview
The Ant expert is a bundled expert that runs Apache Ant builds. Apache Ant is an open-source build automation tool. For details, see the Apache Ant documentation.
Prerequisites
Ant must be installed on an agent and added as a capability. For details, see Add capabilities to agents.
Configure
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Title | The name for this step in the chain. | Yes | |
| Path to Ant | The location of the Ant executable. To use the location defined in your path, leave this field empty. |
||
| Targets | A list of Ant targets, separated by spaces. To use the default target, leave blank. | ||
| The path to the Ant build script relative to the checkout directory. | |||
| The working directory if different from the location of the Ant build script. | |||
| Optional list of Ant command-line parameters, separated by spaces. | -dbug -DmyValue=1 | ||
| to use | Location of the Java JDK. To use the system JAVA_HOME, leave empty. | ||
| Java options, separated by spaces. | -Xms200m -Xmx700m |
Gradle
Overview
The Gradle expert is a bundled expert that runs Gradle builds. Gradle is an open-source build automation tool. For details, see the Gradle documentation.
Prerequisites
Gradle must be installed on an agent and added as a capability. For details, see Add capabilities to agents.
Configure
When you add this expert to a chain in PulseUno, modify the following properties:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Title | The name for this step in the chain. | Yes | |
| Select the Gradle option to use for this build. | Yes | ||
| The location of the Gradle installation. | Yes | ||
| Gradle task names, separated by spaces. To use the default task, leave blank. | clean build | ||
| The build path relative to the stream's root. | |||
| Command-line build arguements. | |||
| Log debug messages | Logs debug messages (equivalent to -d). | ||
| Print stacktrace | Prints the stacktrace (equivalent to -s). | ||
Specify environment variables that will override other settings for this chain. Enter each variable on a seperate line in this format: KEY=VALUE |
|||
| Location of the Java JDK. To use the system JAVA_HOME, leave the field empty. | |||
| Java options, separated by spaces. | -Xms200m -Xmx700m |
Makefile
Overview
The Makefile expert is a bundled expert that runs GNU Make builds. Make is an open-source build automation tool.
Prerequisites
Makefile must be installed on an agent and added as a capability. For details, see Add capabilities to agents.
Configure
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Title | The name for this step in the chain. | Yes | |
| The location of the Make executable. To use the location defined in your path, leave this field empty. | |||
| Makefile name. If left blank, the default one will be run. | Makefile-1 | ||
| The location of the working directory if it is different to the checkout directory. Relative to the stream's root. | |||
| Goals | The Makefile goals to be executed. To use the default goal, leave this field empty. | ||
| Options | Additional flags. | -d | |
| Variables | Additional variables, separated by spaces. | myValue=1 myOtherValue=2 |
MSBuild
Overview
The MSBuild expert is a bundled expert that runs the Microsoft Build Engine, a platform for building applications.
Prerequisites
MSBuild must be installed on an agent and added as a capability. For details, see Add capabilities to agents.
Configure
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Title | The name for this step in the chain. | Yes | |
| Project File | Builds the targets in the project file that you specify. If you do not specify a project file, MSBuild searches the current working directory for a file name extension that ends in "proj" and uses that file. You can also specify a Visual Studio solution file for this argument. | ||
| Options | Addtional options. For details, see MSBuild Command-Line Reference. |
/t:Build /p:Configuration=Debug | |
Environment variables that will override other settings for this chain. Enter each variable on a separate line in this format: KEY=VALUE |
Visual Studio Build
Overview
The Visual Studio Build expert is a bundled expert that uses Microsoft Visual Studio to build applications and to create assemblies and executable programs.
Prerequisites
Visual Studio Build must be installed on an agent and added as a capability. For details, see Add capabilities to agents.
Configure
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Example | Required |
|---|---|---|---|
| Title | The name for this step in the chain. | Yes | |
| Project File | The path to the Visual Studio project file (.proj or .sln) relative to the stream's root. | Yes | |
| Task | Goal of the Visual Studio execution. | Build | Yes |
| Options | Additional or custom options for Visual Studio. | /p:Configuration=Release | Yes |
Environment variables that will override other settings for this chain. Enter each variable on a seperate line in this format: KEY=VALUE |
Fetch from Dimensions CM
Overview
A bundled expert that checks out source items from a Dimensions CM repository.
Configure
| Field/Option | Description | Example Value | Required |
|---|---|---|---|
| Step Name | The name of this expert step. | Yes | |
| Dimensions CM repository URL. | scm:dimensions//dimensions-server/cm_typical@dim14 | ||
| User name | The name of a registered CM user. | ||
| Password | The user's password. | ||
| Stream | The stream to fetch sources from. | QLARIUS:QLARIUS_TEST | |
| Paths | You can fetch specific folders instead of the entire stream. Specify each folder path on a new line. Leave blank to fetch the entire stream. | src/subdirectory-1 src/subdirectory-2 |
|
| Clean workspace before fetching sources | Clean the local work area before fetching sources. | ||
The version (changeset ID) of the stream to fetch. Default: the latest (tip) version. |
|||
The sub directory to fetch sources to. Default: the entire content of the local work area is replaced with the sources you are fetching. |
Notification
Overview
Sends notifications by email if a chain succeeds or fails.
Configure
| Field/Option | Description | Required |
|---|---|---|
| Step Name | The name of this expert step. | Yes |
| Failed | Enter the emails (one per line) of users you want to be notified if the chain fails. | |
| Succeeds | Enter the emails (one per line) of users you want to be notified when the chain succeeds. |
PMD
Overview
The PMD expert is a bundled expert that scans Java source code (and other languages) and looks for potential problems such as bugs, dead code, suboptimal code, overcomplicated expressions, and duplicate code. You can use it to find common programming flaws during your code review process. PMD is configurable and can find many different issues, for more information, see the PMD web site.
This expert has no prerequisites (the PMD 5.3.7 libraries are embedded in the expert so there are no external tools to install).
Configure
When you add this expert to a chain in PulseUno modify the following configuration fields:
| Field Name | Description | Required | Example | PMD command line option | Notes |
|---|---|---|---|---|---|
| Step Name | Enter a name for this step in the chain. | Yes | PMD | ||
| Source folder | Enter the relative stream folder to run the analysis against. | Yes | src/main/java | -dir | Should be a relative path. |
| Rulesets location | Select a ruleset location:
|
Yes | |||
| Rulesets | Enter a comma separated list of rulesets names to use. | Yes | rulesets/internal/all-java.xml | -rulesets | For a full list of possible rulesets, see the PMD documentation. You can also use a custom ruleset. |
| Project classpath | Specify the classpath for libraries used by the source code. | No | commons-collections.jar;derby.jar | -auxclasspath | |
| Source encoding | Specify the source code encoding. | No | UTF-8 | -encoding | |
| Source language | Specify the source code language. | No | Java | -language | |
| Language version | Specify the language version. | No | 1.7 | -version | |
| Show suppressed | Show suppressed findings. | No | false | -showsuppressed | |
| Suppress marker | Specify the suppress marker. | No | NOPMDNEWMARKER | -suppressmarker |
The PMD command line option column shows how each PMD expert configuration field maps to the PMD command-line tool. For details, see the PMD documentation.
PMD operates on source code files so add the PMD expert to a chain that populates a workspace.
Script
Overview
The Script expert is a bundled plugin that enables you to specify one of the following:
- An operating system command.
- The path to a script, for example, a Windows batch file or Linux shell script.
Configure
When you add this expert to a chain, configure it as follows:
- Enter a name for this step in the chain.
- From the Script Type list select one of the following:
- Use inline command and enter an operating system command in the Command line box.
- Use file path and enter the path in the File path box.
- From the Script Language list select Windows Batch or Shell Script.
You can use the following environment variables:
| PULSE_STREAMTITLE | The name of the project or stream. |
| PULSE_STREAMVERSIONID | An identifier for the stream version in Dimensions CM. |
| PULSE_SCMCONNECTIONURI | A unique identifier for the Dimensions CM database. |
| PULSE_LOGINNAME | The user who made the delivery. |
| PULSE_MESSAGE | The commit message for the delivery. |
| PULSE_DIRECTORY | The location of the workspace containing the source code. |
| CURRENT_DIR | Same as PULSE_DIRECTORY (also set as the working directory of the script). |
All the variables in the environment.properties file are available to the script as environment variables.
If the script exits with an exit code of 0, it is a SUCCESS. If the script exits with a non-zero exit code, it is a FAILURE.
SonarQube
Overview
The SonarQube expert is a bundled expert that runs static analysis against source code in a repository and reports findings and metrics. You can use it to analyze your source code on every changeset, or on a regular schedule, and optionally record the defects and metrics in your SonarQube server.
Prerequisites
The SonarQube expert requires SonarQube Runner, a command line application, to be installed and configured on the PulseUno server. A SonarQube server must be installed on your network (not necessarily on the PulseUno server) for this expert to connect to. For details, see the SonarQube help.
SonarQube expert uses the Web Service Java Client to make REST requests to a SonarQube server and has been tested with SonarQube server versions 5.6.x (Long Term Support) and 6.x.
The server configuration file ${dataDir}/conf/experts/com.serena.starlight/sonarqube/sonarqube-pulse-expert.properties
must be present and set up correctly before you can use SonarQube expert.
Configure
Create server configuration file
The SonarQube expert properties file is mandatory and is located in: ${dataDir}/conf/experts/com.serena.starlight/sonarqube/sonarqube-pulse-expert.properties
| Property Name | Description | Required | Example |
|---|---|---|---|
| sonar.host.url | Specifies the SonarQube Server URL. | Yes | http://localhost:9000 |
| pulse.sonar.agent.path | Specifies the full path to the SonarQube Runner application. | Yes | C:\\sonarrunner\\bin\\sonar-runner.bat |
| sonar.jdbc.url | Specifies the JDBC connection URL for the SonarQube database. | No | jdbc:h2:tcp://localhost:9092/sonar |
| sonar.jdbc.username | Specifies the database user for the JDBC connection. | No | sonar |
| sonar.jdbc.password | Specifies the database password for the JDBC connection. | No | sonar |
| pulse.results.delay | When SonarQube analyzes code that produces a large number of findings (2000) a short delay is needed before the results can be fetched. This delay is normally only required on the first run. On subsequent runs only the delta needs to be updated. Default: 30 seconds | No | 30 |
If you do not specify an optional property SonarQube Runner uses the default value specified in ${SONAR_RUNNER_HOME}/conf/sonar-runner.properties.
You can configure additional supported parameters in ${SONAR_RUNNER_HOME}/conf/sonar-runner.properties.
Configure expert settings
When you add this expert to a chain in PulseUno modify the following properties:
| Field Name | Description | Required | Example |
|---|---|---|---|
| Step Name | Enter a name for this step in the chain. | Yes | SonarQube |
| Username | Specifies the username for the web server connection. | No | admin |
| Password | Specifies the password for the web server connection. | No | admin |
| Analysis mode | Select an analysis mode:
|
Yes | publish |
| Project name | Specifies the name of the SonarQube project that will be displayed in the web browser. Typically this is the value defined for <name> in Maven. | Yes | my_project |
| Project key | Specifies the unique SonarQube project key. Typically this is the value defined for<groupId>:<artifactId> in Maven. | Yes | example-key com.example:project1 |
| Project version | Specifies the SonarQube project version. Typically this is the value defined for<version> in Maven. | Yes | 1.0 |
| Source folder | Specifies the relative stream folder in the workspace to run the analysis against. | Yes | src/main/java |
| Full path to the SonarQube Scanner application | Full path to the SonarQube Scanner application. | No | C:\\sonar-scanner\\bin\\sonar-scanner.bat |
The properties Username and Password are optional and are only required in specific security situations. For details, see the SonarQube help.
The SonarQube Runner operates on source code files so add the SonarQube expert to a chain that populates a workspace.
WhiteSource
Overview
The WhiteSource expert is a bundled expert that identifies all the open source components and dependencies in your build, reports any known security vulnerabilities, and lists their licenses.
Prerequisites
- An active organization (and API token) for the WhiteSource SaaS service.
- Access to the WhiteSource administrative site.
- A product and project to report results to.
- The project token.
Configure
Create server configuration file
The WhiteSource expert's server configuration file is located in: ${dataDir}\conf\experts\com.serena.starlight\whitesource\whitesource-pulse-expert.properties
| Property Name | Description | Required | Example |
|---|---|---|---|
| whitesourceServerUrl | Specifies the URL to the WhiteSource server. Only change this URL if you are using the on-premise version of WhiteSource. | No | whitesourceServerUrl=https://saas.whitesourcesoftware.com |
Example server configuration file:
whitesourceServerUrl=https://saas.whitesourcesoftware.com
Configure expert settings
When you add this expert to a chain in Pulse, specify the following fields:
| Field Name | Description | Example Value | Default Value | Required |
|---|---|---|---|---|
| Title | The name of this expert step. | WhiteSource |
WhiteSource | Yes |
| Api key | The API key of a product registered in WhiteSource (also known as organization token). Copy the value from WhiteSource. | Yes | ||
| Product token | The product token generated when registered in WhiteSource. Copy the value from WhiteSource. | No | ||
| Project token | The project token generated when the product was registered in WhiteSource. Copy the value from WhiteSource. | Yes | ||
| Include pattern | Use Ant patterns to include specific resources. Separate each pattern with a space. | **/*.jar | ||
| Exclude pattern | Use Ant patterns to exclude specific resources. Separate each pattern with a space. | **/*sources.jar **/*javadoc.jar | ||
| Poll delay | Specify how often, in seconds, the expert polls the WhiteSource database. | 120 | 30 | |
| Update Inventory | Select this option to update the WhiteSource project dashboard with new information that was found. If not selected, the information is only reported in PulseUno. |
Changesets
About changesets
PulseUno uses changesets to visualize information about changes. A changeset is a logical grouping of changes that is automatically created every time you deliver changes in a stream/branch to a repository. A changeset enables you to identify, work with, and track, sets of changes. Every changeset that you deliver creates a new version of a stream/branch.
There are multiple ways that you can view the information in changesets:
- Changeset Graph: visualizes your changesets and streams/branches of development.
- Changeset History: displays the history of changes in chronological order.
You can view changeset information for spaces, products, streams, and branches. My Work displays changeset information specific to the user who is currently logged in.
You can filter the changeset graph, or any information view, to:
- Limit the data that is displayed.
- Focus on a specific feature or set of streams, branches, and projects.
- Focus on a specific period of time.
- Select a space, product, stream, or branch.
- Open the changeset graph or one of the information views.
- At top right click the date filter.
- (CM only) In the Stream Name box enter a wildcard to match stream and project names, for example: QLARIUS:JAV*
- You can enter multiple wildcard strings; separate each wildcard with a comma.
- To hide specific streams or branches, add a minus '-' character at the start of the string, for example: -*JAV*
- To only display streams or branches that you have marked as favorites, select Show favourites only.
- From the Start Date and End Date lists do one of the following:
- Select a predefined date range.
- Select Since or Until and use the date picker to manually select a date range.
- Start Date displays all data that matches the wildcard from the date that you specify.
- End Date displays all data that matches the wildcard up to and including the date that you specify.
- Select other options as required, for example, show parent streams.
- Click Apply. The graph or view refreshes and displays data that matches the filters that you specified.
View changesets
Overview
A changeset graph visualizes streams and branches and their change history across multiple releases. The graph provides development teams and release managers with a visual understanding of what changes are being worked on, where, and why. Experts provide an opinion on the health of changes and an indication of release readiness. A changeset graph enables you to:
- Visualize all your streams, branches, and projects in one place including branches and merges. Each circle or group represents a changeset or a group of changesets.
- Review the health and readiness of your changesets and determine if they are ready to be merged or released.
- Watch in real time as streams and branches are branched, merged, and moved through the lifecycle.
Changeset health
Changeset health is displayed visually using a combination of the expert opinions of the changes and the review state:
The changeset is currently healthy and the review was successful
The changeset is not healthy or the review failed
The changeset is unstable
Experts are running on the changeset
Experts are scheduled to run on the changeset
No experts were run on the changeset and no review is available
The changeset was stopped
When the review and experts are completed, a changeset icon has a solid border, for example:

When the review or any experts are in progress, a changeset icon has a border that is not solid, for example:

Display a changeset graph
- Select a space, product, stream, or branch.
- On the sidebar select Changeset Graph.
- (Optional) Filter the information that is displayed.
- Use the following methods to display the information on a changeset graph:
- Mouse over a stream's label to display its changeset history.

- Click a stream's label to display an overview.
- Mouse over, or select, a changeset to highlight all the merge lines that connect it to other changesets.
- Control-click changesets to highlight multiple merges.
- Mouse over a changeset to display a summary.

- Mouse over a changeset group to display the stream version range, and the result of the chains that ran on the most recent changeset.

View changeset details
Click a changeset to view its details. A pane at the bottom displays information including:
- The changeset number and description.
- The stream or project version that owns the changeset.
- The user whose delivery created the changeset.
- The date and time the changeset was created.
- The review created by the delivery. Mouse over to display its current state.
- The result of the chain that ran on the changeset.
- Control-click to select and view the details of multiple changesets.
- Click a review to open the review page associated with a changeset.
- (Administrators only) If a changeset did not create a review automatically, click Create Review to create one manually.
Group changesets
You can view changesets individually or grouped by days or weeks. Groups take up less space on the graph and look like this:
The number of changesets contained in a group is displayed at the top right.
- Open a changeset graph.
- From the Changesets Graph list select one of the following:
- Individual Changesets
- Grouped by Days
- Grouped by Weeks
Sort streams and branches on changeset graphs
On the changeset graph you can sort streams and branches by:
- Stream or branches name
- Create date
- Last activity
You can also sort streams and branches in ascending or descending order.
- Open a changeset graph.
- From the Streams sorted by list, select a sort option and a sort order.
View changeset history
The changeset history view displays changes to spaces, products, streams, and branches in chronological descending order. For each changeset the following information is displayed:
- The changeset number and description. Click to open the changeset page.
- The stream or project version that owns the changeset.
- The user whose delivery created the changeset.
- The date and time the changeset was created.
- The review created by the delivery. Click a review to view its details.
- The health of the changeset.
- Select a space, product, stream, or branch.
- On the sidebar, select Changeset History.
- (Optional) Filter the information that is displayed.
- Select a changeset to view its details.
View changeset pages
A changeset page displays information about a specific changeset including:
- The changeset ID and title
- The associated stream or project
- Recent activity, such as experts that ran on the changeset
- Related requests
- The associated reviews
- The results of chains that ran on the changeset including findings and measurements
- A list of all the files in the changeset
- The contents of the files and comments.
- Comments and findings are tied to the file version where they were added and shown when that version is displayed.
- To display this changeset on the Changeset Graph click Show on graph.
- To browse the contents of the parent stream at the time the changeset was delivered, click Code.
To view changeset details:
- Select a space, product, or stream.
- In the sidebar, select Changeset History.
- Select a changeset to view its details.
Customize changeset pages
You can customize if the following elements are displayed by default on a changeset page:
- Comments made by reviewers.
- Findings on files made by experts.
- Entire files (not only the lines that have changed).
- Previous versions of files.
- Combine the previous and current differences of files.
You can also select a white space option for viewing file differences, for example, Ignore White Space.
To customize the view of a changeset page:
- Open a changeset page.
- Click Action
and select Display Defaults. - In the Display Defaults dialog box, select options in the Show by Default section.
- From the Default Tab list, select the tab to be displayed by default.
- From the White Spaces list, select an option.
- Click OK.
Run reports
Dashboard reports
Dashboard reports display statistics and trends that are generated from the activity in your streams and branches. Reports are scoped to the space, product, or stream from where you run them. If you are an administrator you can create and manage reports.
- Spaces can only run reports created at the space level.
- Streams and branches can run all reports created at all levels.
Create reports
You can create a report and add multiple panels. Each panel can have one of the following:
![]() |
Metric: a chart with a single value, for example, the number of deliveries made. |
![]() |
Line Chart: an illustration of data points at successive time intervals. Mouse over a time interval to display the data for each value. |
![]() |
Pie Chart: a circular statistical graphic that is divided into sectors to illustrate numerical proportion. Mouse over a sector to display its value. The value in the middle is the first metric's numeric value as a percentage of the total. |
![]() |
Bar Chart: a diagram in which the numerical values of variables are represented by the height or length of lines, or rectangles of equal width. |
![]() |
Table: a set of data arranged in rows and columns. |
To create a report:
- In PulseUno, navigate to Spaces.
- Select the space, product, or stream/branch where you want to create a report.
- In the sidebar, select Reports. The Dashboards page opens.
- From the Actions menu
, select Create View. The Reports View page opens. - For the Title, enter a name of the new view.
- (Optional) For the Note, enter additional information about the view.
- Click Save.
- To add a panel to the report:
- Click Add panel.
- Enter a name for the panel.
- Select a display type.
- Select Report on difference from previous value to show how a value has changed over time, for example, to show a trend such as the number of defects.
- Select a width for the display (as a percentage of the width of the main window).
- Select one of these metric types:
- Review Metrics
- Expert Metrics (only available for streams and branches)
- Click Add metric and select one from the list. You can add multiple metrics to these display types: pie charts, bar charts, and tables.
- Click Save.
- To add more panels, repeat the earlier step.
- Drag and drop panels to change their position in the report.
Run reports
To run a report:
- In PulseUno, navigate to Spaces.
- Select the space, product, or stream/branch where you want to run the report.
- In the sidebar, select Reports.
- From the Reports list select a predefined report.
- (Optional) Select a time range (start and end dates) for the report.
- To refresh the report, click Refresh.
Manage Reports
As an administrator, you can delete and edit reports.
To edit or remove a report:
- In PulseUno, navigate to Spaces.
- Select the space, product, or stream/branch where the report is located.
- In the sidebar, select Reports.
- From the Reports list, select a report.
- To delete the report, select Delete from the Actions menu
, and confirm. - To edit the report's title and description, select Edit Title & Notes from the Actions menu
. - To edit a report panel, click Edit in its title bar. Modify the settings and click Save.
- To remove a panel, click Delete in its title bar and confirm.
- Drag and drop panels to change their position in the report.
Changeset reports
The Changeset report displays information about changeset creation and health.
To view a changeset report:
- In PulseUno, navigate to Spaces.
- Select the stream/branch where you want to view the report.
- In the sidebar, select Reports > Changesets.
- Select a date range from the filter on the top right. The default range is the last 3 months.
The Changesets Delivered section displays:
- A graph of changeset delivery frequency over the date range.
- The total number of users who contributed and their deliveries.
The Changesets by State section displays:
- Colored tiles that indicate changeset health and display the total number of changesets for each state.
- A graph of the health of changeset deliveries over time. You can display this graph:
- Stacked: displays the changeset states stacked one on top of each other. The pop up label displays the total number of changeset states per day.
- Stream: displays each changeset state separately and shows the trend. The pop up label displays the total number of changeset states per day.
- Expanded: similar to Stacked but the graph is expanded to 100%. The pop up label displays the changeset states as a percentage of the total number of deliveries for each day.
The Changesets Details section lists all the changesets delivered over the date range. Click a changeset or review label to view more details.
Request reports
The requests report displays information about request creation.
To view a requests report:
- In PulseUno, navigate to Spaces.
- Select the stream/branch where you want to view the report.
- In the sidebar, select Reports >Requests.
- Select a date range from the filter on the top right. The default range is the last 3 months.
The Requests Creation graph displays the creation of requests over time, with a tab for each request type.
The Requests by state section lists the total number of requests per state. Click a state to display a list of all the associated requests. Click a request to view its details.
Review reports
The review report displays information about reviews created by changeset deliveries.
To view a review report:
- In PulseUno, navigate to Spaces.
- Select the stream/branch where you want to view the report.
- In the sidebar, select Reports >Reviews.
- Select a date range from the filter on the top right. The default range is the last 3 months.
The Reviews tab displays:
- A graph with the frequency of review creation for the selected date range.
- A list of all reviews by state. Click a state to display a list of all the associated reviews. Click a review to view its details.
The Top Reviewers tab displays the users who reviewed the most reviews.
The Top Owners tab displays the users who own the most reviews.
The Top Rework tab displays the users who have had the most reviews sent for rework.
Contributor reports
You can display a list of all the developers that have made deliveries. The tiles display the number of changesets delivered and the health of their chains:
- Green tiles: the chains were successful and are healthy
- Yellow tiles: the chain are unstable and there are health issues
- Red tiles: the chains failed and there are health issues
- Grey tiles: no chains ran on the changesets
Mouse over a colored section of a contributor's bar to display its percentage of the total number of changesets that have been delivered. The contributor's total number of deliveries is displayed to the right of their bar. The total number of contributors and deliveries for all developers is displayed at the top of the page.
- Select the level where you want to display the report (a space, product, or stream/branch).
- On the sidebar select Reports and then Contributors.
- Select a date range from the filter on the top right. The default is the last 3 months.
Delivery activity reports
You can view the days and hours when deliveries were made. Larger circles indicate higher activity.
- Select the level where you want to view the report (a space, product/Git repository, or stream/branch).
- In the sidebar, select Reports > Punch Card.
- Expand the filter options and provide the following details:
Stream name Enter a stream name. Use an asterisk *as a wildcard to match a set of streams, for example,QLARIUS*.Start date
End dateSelect a date range for the report.
Options Specify filter options for including favorites, topic streams, and parent streams. - Click Apply.
Configure user preferences
Configure SSH authentication
You can configure secure SSH authentication that enables you to access the Git server from a Git command line.
By default, a standalone PulseUno instance uses internal authentication and provides an option to set user passwords. For details, see Change a user's password to PulseUno.
To configure SSH, you need a pair of SSH keys:
- A public key, which you add to PulseUno to verify the SSH connection.
- A private key, which you store in a secure place on your local system.
If you don't have SSH keys, generate a new pair. For details, see the Git documentation.
To set up SSH key-based access:
- In PulseUno, navigate to My Work > Preferences > SSH Keys.
- On the SSH Keys page, click the New SSH Key icon (+).
- Add the public key from the SSH key pair by providing the following details:
Field Description Title Enter a name for the public key. Key Enter the value of the public key, for example:
ssh-ed25519 <key-body> <key-comment>
or
ssh-rsa <key-body> <key-comment>
- Click Save.
After configuring SSH authentication, you can connect to a remote Git repository using the SSH protocol. Test the connection from your Git command-line tool to ensure the connection works.
Add GPG keys to verify signed commits
PulseUno enables you to sign Git commits using GnuPG (GPG) keys.
To configure commit signing, you need a pair of GPG keys:
- A public key, which you add to your PulseUno account to verify commits.
- A private key, which you use to encrypt commits from the Git command line. Store this key in a secure place on your local system.
When you push a commit signed with your private GPG key, PulseUno checks the signature against the corresponding public GPG key in your PulseUno account. If the email address provided in the private key matches the email address in PulseUno, the signature is verified.
PulseUno applies the following labels to signed commits:
| Verified | Commits signed with a verified GPG key of the user who made the commit. |
| Unverified | Commits signed with an unknown GPG key or with a GPG key of another user. |
If you don't have GPG keys, download and install the GnuPG command-line tool from the GnuPG download page. Then generate a key pair as described in the GnuPG documentation. Because GPG keys require your email address, make sure to provide your PulseUno account email.
To add a public GPG key:
- In PulseUno, navigate to My Work > Preferences > GPG Keys.
- On the GPG Keys page, click the New GPG Key icon (+).
- In the Key box, enter the public key from the GPG key pair, starting with this line:
-----BEGIN PGP PUBLIC KEY BLOCK----- - Click Save.
After adding a GPG key to PulseUno, configure your Git command-line tool to sign commits. For details, see the documentation for your Git client.
To permit only signed commits in a Git repository or branch, define a branch policy with the appropriate Commits option. For details, see Define branch policies.
Subscribe to email notifications
You can select the review, pull request, and vault email notifications to which you are subscribed. Notifications are sent when an event takes place, for example:
- Your review or pull request is published or abandoned.
- You become the author of a review or pull request, or are added as a reviewer.
- Your package is published for approval.
- Your package is approved or rejected.
- On the top navigation click My Work.
- On the sidebar select Preferences > Email Subscriptions.
- Select the Review or Vault tab.
- Select, or unselect, notifications.
- Click Save.
Set changeset graph defaults
You can set defaults for how the changeset graph is displayed.
- In PulseUno, navigate to My Work.
- In the sidebar, click Preferences.
- In the Changeset Graph Defaults section, from the Display Scale list, select one of the following:
- Changeset. Displays individual changesets.
- Daily. Groups changesets by days.
- Week. Groups changesets by weeks.
- Select a Zoom Level.
- Click Save.
Set view defaults
You can set defaults for how Views are displayed. Views include Reports, the Changeset Graph, Changeset History, Contributors, and Punch Card.
- In PulseUno, navigate to My Work.
- In the sidebar, click Preferences.
- In the Default Time Period for Views section select the default Start Date and End Date range for the data that is displayed.
- Click Save.
Administer
To perform administration tasks in PulseUno, you need administrator privileges.
Configure the avatar server
Avatars help build a community between your users by providing them with a graphical alter ego. Administrators can configure where PulseUno obtains user avatar images.
- On the top navigation click Administration.
- Select User Data and Avatars.
- Select one of the following sources for avatar images and user data:
- Disabled. All avatars display the default user picture.
- Repository. Use a repository to find avatar images, full names, and email addresses for your users. Select a repository from the Repository Details list.
- Solutions Business Manager. Use an SBM server to find avatar images and full names.
NOTE To use SBM avatars, PulseUno and SBM must be configured to use the same SSO server.
- LDAP Server. Use the LDAP settings to find avatar images, full names, and email addresses. See the instructions in the next step.
To use an SSL-enabled LDAP server (LDAPS), see Enable LDAPS for the avatar server. - Gravatar. Use an email address suffix.
- If you selected LDAP, specify the following information:
Setting Description Server URL The URL of the LDAP server, for example:
ldap://server:389Username The bind user to perform searches as, for example:
cn=binduser,ou=Organizational Unit 1,ou=Organizational Unit 2,dc=example,dc=comPassword The password of the LDAP bind user.
Base DN for search The base DN to search from, for example:
dc=example,dc=com
Avatar image attribute The LDAP attribute containing avatar image data, for example:
thumbnailPhotoSearch filter The LDAP search filter to match objects, for example:
(&(objectClass=person)(sAMAccountName={0}))Follow LDAP referrals (Optional) Select this option to enable searches to follow LDAP referrals.
- Click Save.
Enable LDAPS for the avatar server
To use an SSL-enabled LDAP server (LDAPS) as the source of avatar images, you need to import the SSL certificate of the LDAP server to the Java keystore in your PulseUno instance.
The Java keystore is the cacerts file located in the Java security directory.
To import a certificate to the Java keystore:
- Obtain the LDAP server's SSL certificate as a file, for example, <file>.crt.
- Navigate to PulseUno's Java keystore directory and back up the cacerts file, as you are going to modify it. The default keystore locations are:
- Windows: C:\Program Files\Micro Focus\common\jre\8.0\lib\security\cacerts
- Linux: /opt/microfocus/common/jre/8.0/lib/security/cacerts
- From a command prompt, run the keytool command:
Windows:
<JAVA_HOME>\bin\keytool.exe -import -keystore "<JAVA_HOME>\lib\security\cacerts" -alias "<alias-name>" -file "<file>.crt"
Linux:
<JAVA_HOME>/bin/keytool -import -keystore "<JAVA_HOME>/lib/security/cacerts" -alias "<alias-name>" -file "<file>.crt"
where:
<JAVA_HOME> Specifies the root location of the JRE directory. The default locations are:
- Windows: C:\Program Files\Micro Focus\common\jre\8.0
- Linux: /opt/microfocus/common/jre/8.0
<alias-name> Specifies the name of the LDAP server.
<file>.crt
Specifies the path to the LDAP certificate file.
- When prompted for a password, enter changeit.
- To confirm that you trust the certificate, type yes.
Configure Special Services
Administrators can configure the servers that provide specialized services to PulseUno, such as Solutions Business Manager.
- On the top navigation click Administration.
- Select Servers.
- In the Solutions Business Manager URL box enter the URL for the SBM user workspace, for example:
http://sbm-server.example.com/tmtrack/tmtrack.dll? - In the Email Address Domain Suffix box enter the suffix that is automatically appended to user names to form email addresses, for example:
@example.com. - Click Save.
Administer email notifications
Administrators can manage the review email notifications that users can subscribe to, and unsubscribe from. If a notification is disabled, users will not see the notification listed in their subscription preferences. If a notification is available, users can choose to subscribe to it.
- On the top navigation click Administration.
- Select Notifications.
- For each notification type select one of the following:
- Disabled: the notification is not available for users to subscribe to.
- Send notification: the notification is sent to users by default though they can unsubscribe from it.
- Do not send notification: the notification is not sent to users by default though they can subscribe to it.
- If you do not want users to receive code fragments in email notifications, unselect the option Include code fragments.
- Click Save.
Manage users
This section explains how to add, lock, disable, or delete users, and assign or remove an administrator role.
A user can be one of the following types:
- Standard. Can use peer reviews, changeset views, and request management.
- Administrator. Can change a user's role and administer the system. PulseUno can have multiple administrators.
If PulseUno uses external authentication through LDAP, Dimensions CM, AccuRev, or StarTeam, users are registered automatically as they log in, and PulseUno pulls their email addresses and full names from the external system. As an administrator, you only need to configure which users have administrator privileges. To change passwords, use the external system.
If PulseUno uses internal authentication (for example, when installed standalone), you can add and remove users, assign administrator privileges, and change user passwords. For details, see Change a user's password.
Assign an administrator role
As an administrator, you can give administrator privileges to other users.
To assign or remove an administrator role:
- In PulseUno, navigate to Administration > Users.
A list of users is displayed including their user name, full name, email address, and user type. - To assign administrator permissions, select one or more standard users. In the Actions menu, select Add administrator privilege.
To remove administrator permissions, select one or more administrators. In the Actions menu, select Remove administrator privilege.
Add users
If your PulseUno instance is configured for internal authentication, you can add new users to PulseUno.
To add a user:
- In PulseUno, navigate to Administration > Users.
- On the Users page, click the New User (+) icon.
- In the Add User dialog box, specify the following user details:
Field Description User Name Enter a username for logging in.
Full Name Enter a user’s first and last name.
Email Address Enter a user’s main email address. PulseUno will use this email for notifications.
Secondary Email Addresses (Optional) If a user may commit to Git using a different email address, enter one or more additional email addresses.
Role (Administrator) Select this option to assign a user an administrator role.
- Click Add.
To add another user, click Add & Another.
After you have added a user, proceed to set the user's password. For details, see Change a user's password.
Change a user's password
If your PulseUno instance is configured for internal authentication, for example, when installed standalone, you can set user passwords.
If PulseUno is configured for external authentication, such as LDAP or Dimensions CM, you must set passwords in the external system.
You can also set up secure SSH authentication that enables you to access the Git server from a Git command line. For details, see Configure SSH authentication.
To change a PulseUno password:
- In PulseUno, navigate to Administration > Users.
- Select a user from the list. Use search to help you find users.
- Click Change Password.
- In the change password dialog box, enter a new password and confirm it.
- Click Change Password.
Lock and disable users
As an administrator, you can lock, unlock, disable, and enable user accounts.
A locked user can no longer access PulseUno but can still be added as a reviewer and receives notifications. Use this option if you need to temporarily prevent a user from logging in to PulseUno.
A disabled user can no longer access PulseUno, be added as a reviewer, and receive notifications. Use this option if you need to permanently deactivate a user's account.
To lock a user:
- In PulseUno, navigate to Administration > Users.
- On the Users page, select a user from the list. Use search to help you find users.
- From the Actions menu, select Lock.
To unlock a user's account, select Unlock from the Actions menu.
To disable a user:
- In PulseUno, navigate to Administration > Users.
- On the Users page, select a user from the list. Use search to help you find users.
- From the Actions menu, select Disable.
To activate a disabled account, select Enable from the Actions menu.
Delete users
If your PulseUno instance is configured for internal authentication, you can remove users from PulseUno.
To delete a user:
- In PulseUno, navigate to Administration > Users.
- On the Users page, select a user from the list. Use search to help you find users.
- Click the Delete icon and then confirm your action.
Deleted users are removed from the list of users in the UI, and their previous activity is displayed under anonymized names, for example, Deleted user 123.
See also
Manage members and teams
This section explains how to manage access to Git repositories in PulseUno by assigning user roles, creating teams, and adding teams and members to repositories.
About roles and permissions
PulseUno provides several roles that you can use to control individual and team access to Git repositories. Permissions for each role are predefined and cannot be customized.
To assign or change roles, you need to be an administrator.
The following table describes PulseUno roles and permissions.
| Role | Permissions |
|---|---|
| Guest | Guests can view, clone, and pull repositories. |
| Developer | Developers can:
|
| Owner | Owners have administrator-like permissions and can:
|
Create and edit teams
Teams enable you to grant repository access to groups of users rather than each user individually. All team members share the same permissions.
You create teams and assign them a default role at the space level. You add teams to Git repositories at the repository level.
You can change or remove a team's access as needed. To manage teams, you need to be an administrator or space owner.
To create a team and assign users to it:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Teams.
- On the Teams page, click the Add Team icon (+).
- Enter a name and an optional description for the new team.
- Select the default role for the team.
A team's default role applies to all repositories in a space. For example, if a team is assigned the Owner role as default, the team's members become space owners. - Click Create. The new team's page opens.
- Click the Add (+) icon to add users to the team.
- In the Add User to Team dialog box, search for the user you want to add. Enter a keyword in the search field and press Enter.
- Select a user from the list of search results and then select a role to assign. For details about available user roles, see About roles and permissions.
- Click Add.
To edit a team:
- In PulseUno, navigate to Spaces and select a space.
- In the sidebar, select Teams.
- On the Teams page, click the team's name. The team's page opens.
- (Optional) To change the team's name, default role, or description, click Edit. Make changes and click Save.
- (Optional) To remove a member from the team, select a user from the list of team members. Then click Delete
and confirm your action.
Add a member to a repository
You can share access to a private repository with individual users.
To add a member to a repository:
- In PulseUno, navigate to Spaces, select a space, and then select a Git repository.
- In the sidebar, select Members.
- On the Members page, under the Individuals tab, click the Add Individual icon (+).
- In the Add Individuals dialog box, search for a user. Enter a keyword in the search field and press Enter.
- Select a user from the list of search results and then select a role to assign. For details about available user roles, see About roles and permissions.
- Click Add.
Add a team to a repository
You can share access to a private repository with the team you created earlier.
To add a team to a repository:
- In PulseUno, navigate to Spaces, select a space, and then select a Git repository.
- In the sidebar, select Members.
- On the Members page, select the Teams tab.
- Click the Add Team icon (+).
- In the Add Teams dialog box, search for a team. Enter a keyword in the search field and press Enter.
- Select a team from the list of search results and then select a role to assign. For details about available user roles, see About roles and permissions.
- Click Add.
Change individual and team access to a repository
You can control the level of access to your repository for members and teams.
To change individual or team permissions:
- In PulseUno, navigate to Spaces, select a space, and then select a Git repository.
- In the sidebar, select Members.
- To change a member's permissions, select the Individuals tab.
To change a team's permissions, select the Teams tab. - Select one or more members or teams and click Change Role.
- Select a new role.
For details about user roles, see About roles and permissions.
Remove members and teams from a repository
You can revoke a member's or team's access to a private repository.
To remove a member or team from a repository:
- In PulseUno, navigate to Spaces, select a space, and then select a Git repository.
- In the sidebar, select Members.
- To remove an individual member, select the Individuals tab.
To remove a team, select the Teams tab.
- Select one or more members or teams and click Delete
. Then confirm your action.
See also
Create chain and vault retention policies
By default, chain findings and vault packages are kept for 30 days. Administrators can create custom retention policies and apply them to chains and vaults.
- Chain findings
- Vault packages
- In PulseUno, navigate to Administration > Retention Policies.
- Click New Retention Policy (+).
- Enter a title for the new retention policy.
- (Optional) Provide a description of the retention policy.
- Specify the number of items to be retained in the log, for example, 100.
- Specify how many days items in the log will be retained, for example, 365 (one year).
- Specify the maximum size of the log in megabytes, for example, 1024 (a gigabyte). When the log reaches this size, the oldest items are purged.
- Click Save.
Change authentication to Dimensions CM
If PulseUno uses internal or LDAP authentication, you can switch to Dimensions CM authentication, which enables you to work with a Dimensions CM server.
You change the authentication type in the PulseUno startup.properties file.
To enable Dimensions CM authentication:
- Navigate to the pulse_data\conf directory and open the startup.properties file.
- Replace these properties:
authentication.type=PULSE
authentication.pulse.root.super.user.token=true license.type=AUTOPASS license.autopass.server=<APLS-URL>with the following entries:
authentication.type=AUTO
authentication.dcm.server=<cm-server>:<port>For example:
authentication.type=AUTO
authentication.dcm.server=dimensions-server.com:675
If authenticating through Dimensions CM, PulseUno doesn't require user licenses and may license agents through Dimensions CM.
For details on licensing PulseUno that uses internal or LDAP authentication, see PulseUno licensing.
Connect to Dimensions CM repositories
As an administrator, you can configure connections to Dimensions CM repositories (base databases).
To set up a connection to a Dimensions CM repository:
- In PulseUno, navigate to Administration > Connections.
- Click the Add button (+) and select Dimensions CM from the list.
- In the Connection Details tab, add the following details:
Field Description Title Enter the name of the Dimensions CM repository.
Server Enter the network name of the Dimensions CM server, for example, dm-server.example.com.
Base database name
Enter the database connection, for example, cm_typical@dim14.
Note: These two values, separated by the @ symbol, are the same details that you enter in the DB name and DB connection fields when you log in to a Dimensions CM client.
System username
Enter a username for connecting to the Dimensions CM repository. System password
Enter a password for connecting to the Dimensions CM repository. Always use the credentials
This option controls what set of credentials is used for connecting to the Dimensions CM repository.
- Selected: Use the Dimensions CM account specified in System username and System password fields, which enables connections and caches to be pooled across users. Audit trail and user access control is the same as for the CM user. This option uses less disk space and fewer system resources.
- Cleared (default): Use the credentials of the user currently logged in to PulseUno. Audit trail and user access control is the same as for the PulseUno user. When a PulseUno user is not available, the CM account you specified in System username and System password fields is used for non-interactive connections to the CM repository. This option provides better audit trail and access control.
CI username
(Optional) Enter a username of the Dimensions CM user to be used for continuous integration.
Note: We recommend that this user has permissions only to fetch the code and perform other tasks in Dimensions CM chains.
CI password
(Optional) Enter a password of the Dimensions CM user to be used for continuous integration.
- Click Save.
If you are using built-in Dimensions CM requests, you can synchronize PulseUno roles and states with those of Dimensions CM. For details, see Set integrations with roles and request states.
For details on how to enable Dimensions CM external requests, see Enable integration with external request providers.
Set integrations with Dimensions CM roles and request states
As an administrator, you can map PulseUno roles and request states to those of Dimensions CM. Use this synchronization to automatically copy role assignments to PulseUno or push states from PulseUno to Dimensions CM.
- Actioning a request to In Review causes the review rules to run and will typically change the review's state to In Review.
- Apart from Reviewer role name in CM, the integrations are optional. Leave an integration empty to disable it. Leave all fields empty unless your CM request lifecycle includes an In Review state.
To synchronize PulseUno and Dimensions CM roles and states:
- In PulseUno, navigate to Administration > Connections.
- Select a Dimensions CM repository. For details on connecting a repository, see Connect to Dimensions CM repositories.
- To map review states and roles, select the Reviews tab.
To map pull request states and roles, select the Pull Requests tab. - Set the following mappings:
Setting Description Reviewer role name in CM Enter a Dimensions CM role. Users that hold this role can be selected as reviewers in PulseUno. If you do not specify a role, the default Reviewer is used.
In Review state name in CM Enter a comma-separated list of CM request states that can add reviewers to associated PulseUno reviews. PulseUno listens for Action Request notifications from Dimensions CM. When a request transitions to one of these named states in CM, its Reviewer role assignment is copied to PulseUno, and its review rules are executed.
Rework state name in CM
Enter the CM state to which requests will transition when any associated PulseUno review is sent for rework.
Approved state name in CM
Enter the CM state to which requests will transition when any associated PulseUno review is sent for rework or marked as approved.
Completed state name in CM (pull requests only)
Enter the CM state to which associated PulseUno requests will transition when any pull request is merged.
- Click Save.
PulseUno also enables you to synchronize with the phases of ALM Octane backlog items. For details, see Synchronize with ALM Octane.
Integrate with external request providers
PulseUno enables you to integrate Git repositories with external request systems such as Atlassian Jira, Dimensions CM, and Micro Focus ALM Octane. You can pull issues or requests from an external provider and use them with commits to create reviews and pull requests in PulseUno.
To use external requests, first connect a provider and then enable the integration.
Connect to Atlassian Jira
To enable the use of Jira issues in your Git repository, first connect a Jira instance to PulseUno.
To set up a connection to Jira:
- In PulseUno, navigate to Administration > Connections.
- Click the Add button (+) and select Jira from the list.
- On the New Jira Connection page, add the following details:
Field Description Title Enter the name for the Jira connection. Web URL Enter the base path to the Jira instance, for example, https://jira.example.com. Jira API URL
For Jira Server, provide the base path to the Jira instance API, for example, https://jira-api.example.com, or enter the web URL again.
For Jira Cloud, leave this field empty or enter the web URL again.
Username/Email
For Jira Server, enter a username for connecting to your Jira instance.
For Jira Cloud, enter an email for connecting to your Jira instance.
Password/API token
For Jira Server, provide your Jira instance password.
For Jira Cloud, provide an API token created from your Atlassian account. For details about creating API tokens for Atlassian cloud products, see the Atlassian documentation.
- Click Save.
A working connection is displayed with the Connected status.
Next steps
Enable integration with external request providers
Connect to Dimensions CM
To integrate with Dimensions CM and use Dimensions CM requests, first connect a Dimensions CM repository (base database) to PulseUno. For details, see Connect to Dimensions CM repositories.
Next steps
Enable integration with external request providers
Connect to Micro Focus ALM Octane
To integrate with ALM Octane, first connect an ALM Octane instance to PulseUno.
After you set up a connection, you can:
- Enable Git commits to be related to ALM Octane backlog items by references in the commit messages. For details, see Enable integration with a request provider.
- Synchronize the phases of ALM Octane backlog items with the states of PulseUno reviews and pull requests. Synchronization is available for Dimensions CM products that use ALM Octane external requests. For details, see Synchronize with ALM Octane.
- Configure a chain to send chain results to ALM Octane and display them in ALM Octane as a pipeline. For details, see Set up a chain to publish chain results to ALM Octane.
To set up a connection to ALM Octane:
- In PulseUno, navigate to Administration > Connections.
- Click the Add button (+) and select Octane from the list.
- On the New Octane Connection page, add the following details:
Field Description Title Enter a name for the ALM Octane connection. Web URL Enter the base path to the ALM Octane space, for example, https://octane.example.com. API Token Enter the Client ID key generated in ALM Octane. For details about creating API access keys in ALM Octane, see the ALM Octane documentation. Secret Enter the Client Secret key generated in ALM Octane. For details about creating API access keys in ALM Octane, see the ALM Octane documentation. Shared space Enter the ID of the ALM Octane shared space to which you want to connect, for example, 1001. Pulse instance ID Enter the instance ID of the PulseUno CI server configured in ALM Octane. By default, PulseUno uses the default instance ID assigned in ALM Octane. For details about adding a CI server in ALM Octane, see the ALM Octane documentation.
Important: If you connect several ALM Octane instances, ensure that each connection has a unique instance IDs.
- Click Save.
A working connection is displayed with the Connected status.
Next steps
Enable integration with external request providers
Enable integration with external request providers
To use external requests with commits in a Git repository, enable the integration with an external request system connected to PulseUno.
To enable integration with an external request provider:
- In PulseUno, open Spaces and select the Git repository for which you want to enable integration.
- In the sidebar, navigate to Settings > Integrations.
- On the Integrations page, in the Requests section, select the connection to a request provider.
- Add the following details for the selected provider:
Request provider Description Atlassian Jira - Project keys. Enter the Jira project keys to link specific projects in Jira, for example, AA or AB. To link all projects, leave the field empty.
- Issue key pattern. Enter the Jira issue key pattern to associate with specific issues.
The default pattern is "((?<!([A-Za-z]{1,10})-?)[A-Za-z]+-\\d+)".
Dimensions CM For Dimensions CM product, select a Dimensions CM product that will provide requests.
Important: When referencing a Dimensions CM request in a commit, place the request label in square brackets, for example, [QLARIUS_CR_44]. Using this commit pattern ensures that the PulseUno Git server recognizes CM requests.
ALM Octane
- Workspace. Enter the ID of the ALM Octane workspace to integrate with.
- Commit patterns. Specify message patterns to associate commits with ALM Octane defects, user stories, and quality stories. The following patterns are used by default:
- Defects: defect\s*#(\d+)
Represents the string defect<any number of spaces>#<defect id>. - Quality stories: quality story\s*#(\d+)
Represents the string quality story<any number of spaces>#<quality story id>. - User stories: user story\s*#(\d+)
Represents the string user story<any number of spaces>#<user story id>.
- Defects: defect\s*#(\d+)
- Click Save.
Synchronize with ALM Octane
As an administrator, you can synchronize PulseUno reviews and pull requests with ALM Octane backlog items.
Prerequisites and considerations
To set up synchronization, you define rules that map ALM Octane phases to specific review states in PulseUno. A phase change in ALM Octane triggers the corresponding state change in PulseUno, and vice versa.
For example, you can map the Opened phase of an ALM Octane defect to the In Review state of a PulseUno review. This way, when a defect transitions to the Opened phase in ALM Octane, the corresponding review automatically changes to In Review in PulseUno.
Prerequisites and guidelines for synchronization:
- You can map PulseUno states to ALM Octane system-defined fields such as phase, or user-defined fields of string and list types, for example, review_stage_udf. To access a list of fields, in ALM Octane, navigate to Settings > Spaces, select your shared space, and click Entities > Fields. You need space admin permissions to work with fields. For details, see the ALM Octane documentation.
- To prepare for synchronization, complete these tasks:
In ALM Octane Create an entity rule with the Trigger webhook action to make a webhook call on the Update Entity event. The Trigger webhook rule must include the name and the fields that you will define in the inbound rule in PulseUno. Use a WebSocket for communication. For details, see the ALM Octane documentation. In PulseUno Set up a connection to an ALM Octane space. For details, see Connect to Micro Focus ALM Octane.
- To ensure that no API calls fail in a working synchronization, modify the dm.cfg configuration file on the Dimensions CM server, setting the following flag to true:
DM_OCTANE_HEADERS ALM-OCTANE-TECH-PREVIEW: true
For details, see the Knowledgebase article S143045. - Mapping is available for the following PulseUno states:
For details about review states, see Review states.Reviews In Review, Rework, Approved Pull requests In Review, Rework, Approved, Completed - ALM Octane field names and values are not case-sensitive.
Define request synchronization rules
Before you configure the ALM Octane synchronization rules, review Prerequisites and considerations.
To define request synchronization rules:
- In PulseUno, specify the ALM Octane instance with which to synchronize:
- Open Spaces and select the CM product to synchronize with ALM Octane.
- In the sidebar, navigate to Settings > Integrations.
- On the Integrations page, in the Octane section, select the relevant ALM Octane connection and enter the ALM Octane workspace ID. Ensure that this is the same ALM Octane instance that is configured as the external request provider in the CM product.
- Click Save.
- Navigate to Administration > Connections.
- Click the name of the ALM Octane connection you want to use. The Connection page opens.
- In the sidebar, select Request synchronization.
- On the Request Synchronization page, click the Add (+) button. The new synchronization page opens.
- Select the General tab and specify the following details:
Title Enter a name for the synchronization rule. Workspace Enter a comma-separated list of ALM Octane workspace IDs to synchronize with, for example, 1002,1003,1004. - To set the rules for ALM Octane defects, user stories, or quality stories, select the relevant tab and specify the following settings:
Setting Description Reuse settings Select one of the options:
- Do not reuse settings. Create a new set of rules.
- Same as Defects. For user stories or quality stories, use the same rules as for defects.
- Same as User Stories. For defects or quality stories, use the same rules as for user stories.
- Same as Quality Stories. For defects or user stories, use the same rules as for quality stories.
Reviews IN In Review Inbound rule. Defines the conditions for transitioning a PulseUno review to the In Review state.
Enter the ALM Octane field name and value that will trigger the change in PulseUno and send the associated review to the In Review state.
For example, you can specify Phase as a field name and Opened as its value. This way, when an ALM Octane item transitions to the Opened phase, the associated PulseUno review will change to In Review.
OUT Rework Outbound rule. Defines the transition of an ALM Octane item after a PulseUno review is sent for rework.
Enter the ALM Octane field name and value to which the associated item will transition when a PulseUno review changes to the Rework state.
For example, you can specify Phase as a field name and In Progress as its value. This way, when a PulseUno review is sent for rework, the associated ALM Octane item will transition to the In Progress phase.
OUT Approved Outbound rule. Defines the transition of an ALM Octane item after a PulseUno review is approved.
Enter the ALM Octane field name and value to which the associated item will transition when a PulseUno review advances to Approved.
For example, you can specify Phase as a field name and Fixed as its value. This way, when a PulseUno review is approved, the associated ALM Octane item will transition to the Fixed phase.
Pull requests IN In Review Inbound rule. Defines the conditions for transitioning a PulseUno pull request to the In Review state.
Set the rule in the same way as for reviews.
OUT Rework Outbound rule. Defines the transition of an ALM Octane item after a PulseUno pull request is sent for rework.
Set the rule in the same way as for reviews.
OUT Approved Outbound rule. Defines the transition of an ALM Octane item after a PulseUno pull request is approved.
Set the rule in the same way as for reviews.
OUT Completed Outbound rule. Defines the transition of an ALM Octane item after a PulseUno pull request is merged, advancing to the Completed state.
Enter the ALM Octane field name and value to which the associated item will transition when a PulseUno pull request is merged.
For example, you can specify Phase as a field name and Closed as its value. This way, when a PulseUno pull request is merged and completed, the associated ALM Octane item will transition to the Closed phase.
- To add another mapping to any of the rules, click Add (+) next to the rule. All mappings in a rule must be matched to trigger the corresponding change.
- Click Save.
See also
Set integrations with Dimensions CM roles and request states
Set up a chain to publish chain results to ALM Octane
As an administrator, you can integrate a PulseUno chain with an ALM Octane pipeline, which enables you to send chain run results to ALM Octane.
To configure the pipeline integration, first set up a chain in PulseUno and then complete the integration in ALM Octane by adding a PulseUno CI server and creating a pipeline.
To set up a chain integrated with an ALM Octane pipeline:
- In PulseUno, open Spaces and select the CM product or Git repository from which you want to publish chain runs.
- In the sidebar, navigate to Settings > Integrations.
- On the Integrations page, in the Octane section, select the ALM Octane connection and enter the ID of the ALM Octane workspace to which PulseUno will send chain results. For details about creating an ALM Octane connection, see Connect to Micro Focus ALM Octane.
NOTE If you have already enabled an ALM Octane connection for external requests, PulseUno will use this connection for the pipeline. For details on how to enable an ALM Octane connection, see Enable integration with external request providers. - Click Save.
- Configure your chain to publish results to an ALM Octane pipeline. For details, see Publish chain results to ALM Octane.
- Complete the following tasks in ALM Octane:
- Add a PulseUno CI server. For details, see the ALM Octane documentation.
- Create a pipeline that will run on the PulseUno CI server and use the chain you configured for ALM Octane. For details on creating pipelines, see the ALM Octane documentation.
Clear PulseUno caches
If you have made a configuration change and it is not visible, try clearing the relevant cache.
To clear a cache:
- In PulseUno, navigate to Administration.
- In the sidebar, select Caches.
- Click Clear to empty a cache.
- To clear all caches click Clear All.
Other administrative tasks
For information about the following PulseUno administration tasks, see the Dimensions CM Administration Guide:
- Customizing rule scripts
- Setting the JDBC URL
- Location of common tools and PulseUno data folders
Markdown syntax reference
Markdown is a syntax used to format information in plain text. You can use Markdown in any external text editor and copy the contents to PulseUno, retaining a consistent look for all comments. The formatting is created with special sequences of punctuation characters in plain text.
Character formatting
*This is italicized*, and so is _this_ |
This is italicized, and so is this |
**This is bold**, and so is __this__ |
This is bold, and so is this |
***Italics and bold*** together, as is ___this___ |
Italics and bold together, as is this |
Inline code and code blocks
`Back-quote character` (also known as backtick |
Back-quote character (also known as backtick or grave) is used for inline code |
Use 4 space indent for code blocks. |
Use four space indent for code blocks. Some code line 1 Back to normal text again. |
Line breaks and paragraphs
Normally a single newline |
Normally a single new line is ignored.
|
End a line with two spaces |
End a line with two spaces to cause an explicit line break. |
Separate paragraphs. |
Separate paragraphs. With a blank line. |
Add a > to the beginning of a line to create |
Add a > to the beginning of a line to create a block quotation
Multiple quoted lines will wrap together. |
Simple lists
- Use a minus sign for a bullet |
|
1. Numbered lists can use |
|
Links
Basic link to http://example.com. |
Basic link to http://example.com.
|
Inline link to [An Example Web Site](http://example.com/). |
Inline link to An Example Web Site. Numbered reference link to An Example Web Site. Named reference link to An Example Web Site. |
Headers and rules
Header 1 |
Header 1 |
Header 2 |
Header 2 |
A horizontal rule is three or more hyphens, |
A horizontal rule is three or more hyphens, asterisks, or underscores
on the same line with no other characters.
|
Agile request management
About requests
Requests are used to track and approve the changes your team is making. A request is a single unit of work, equivalent to a story in Agile planning, that can report a defect, suggest an enhancement, or detail other work for a particular product. You use story points to estimate the size of a request. Each request type has a lifecycle assigned to it that determines which users may work on the request. For information about request lifecycles, see the Dimensions CM Process Configuration Guide.
The request catalog displays all the requests in a CM product or stream. You can open any request and view its details.
View the request catalog and open requests
- In PulseUno, navigate to Spaces and select a space.
- Select a product/Git repository or a stream/branch.
- In the sidebar, click Request Catalog.
Each row displays information about a request including its owner, lifecycle state, and any backlogs and iterations to which it belongs. - To open a request, click its name.
- General tab: Displays information about the request, including:
- A summary of the request
- The request's acceptance criteria
- Attachments
- Related requests
- Associated reviews
- Associated changesets
- Total and remaining story points
- A burndown chart (if the request is included in an iteration)
- An external link, for example, the URL of an external web site or the value of an SBM ticket related to the request. If the value is a hyperlink, it opens in a new tab or window. This field only displays a value if it has been mapped to request attributes. An external link may look similar to this:

- The request owners and their capabilities
- Any iteration, backlog, or epic to which the request belongs
- The related stream and design part
NOTE The fields that are displayed can be configured by your PulseUno administrator. - Attributes tab: Each request type has different user defined attributes, which record important information about the request. For example, Estimated completed date, Raised by, and Severity. Some attributes may be required.
- Action History tab: Displays information about when the request was actioned to different states in its lifecycle and the users that performed the action. To filter the action history, select a lifecycle state.
- General tab: Displays information about the request, including:
Configure request types
As an administrator, you can:
- Disable request types to limit which ones can be used in request planning. At least one type must be enabled. By default, all request types are enabled and their attributes are not mapped.
- Map PulseUno attributes to request attributes defined in the process control plan in the Dimensions CM administration console. Select CM attributes that best suit how your team uses request planning. For information about request attributes, see the Dimensions CM Process Configuration Guide.
To configure a request type:
- In PulseUno, navigate to Spaces and select a space.
- Select the product where you want to enable request types.
- In the sidebar, click Request Types.
- Click the request type that you want to configure.
- On the request type page, choose whether to use the Enable request type option:
- Enable: Existing requests of this type are visible, and you can create new requests.
- Disable: Existing requests of this type are visible, but you cannot create new requests.
- Map this request type's attributes to request attributes defined in CM. See Map PulseUno attributes to CM request attributes.
- Click Save.
Add external links to requests
As an administrator, you can configure request types to display external links. For details, see the next section.
Map PulseUno attributes to CM request attributes
To enable Agile planning, PulseUno requires additional fields. You can store these fields in PulseUno or map them to CM request attributes:
- If you store attributes (unmapped) in the PulseUno database you do not need to add them to your process control plan in Dimensions CM. This allows you to evaluate and use PulseUno more easily, especially if the fields will always be edited in PulseUno.
- If you map attributes to CM they can be viewed and edited in other CM clients.
| PulseUno attribute | Description | Default mapping | Can be mapped to |
|---|---|---|---|
| Summary | A detailed description of the request. You can display the text in this field as:
|
Detailed description | Single-value character field or Detailed description |
| Acceptance Criteria | Specifies the criteria to be met before the request is considered to be complete. | Not mapped (stored only in PulseUno database) | Single-value character field or Detailed description |
| Remaining Story Points | The estimated effort left to complete the request (in arbitrary units, such as story points). Used to generate the burndown charts. | Not mapped (stored only in PulseUno database) | Single-value number field |
| Total Story Points | The total effort estimated to complete the request (in arbitrary units, such as story points). Used to generate the burndown charts. | Not mapped (stored only in PulseUno database) | Single-value number field |
| Blocked | Specifies if a request is blocked and cannot be progressed. Typically a Yes/No attribute. | Not mapped (stored only in PulseUno database) | Single-value character field with a valid set that has at least two values. You must specify which value means Yes and which value means No. |
| Define an External Link | Defines an external link, for example, a link to an SBM ticket or an external URL. The link you define is displayed in the External Link section of a request. |
||
| Attribute Containing the Visible Value | Select a request attribute to display the value of an external link. For example, select the attribute that displays the value of a specific SBM ticket that is related to this request. The attribute may be similar to SBM Issue. Ask your CM administrator for the correct attributes to use. |
Not mapped (stored only in PulseUno database) | Single-value character field |
| Attribute Containing the URL | Select a request attribute that contains the link to an external item. For example, select the attribute that displays the URL of a specific SBM ticket that is related to this request. The attribute may be similar to SBM Hyperlink. Ask your CM administrator for the correct attributes to use |
Not mapped (stored only in PulseUno database) | Single-value character field |
Notes:
|
About backlogs
Backlogs enable you to organize your team’s work and group requests into a prioritized hierarchy of epics and features. An epic is a large unit of work that is typically broken down into smaller units of features and requests.
- Epics, features, and requests can only belong to one backlog, but you can move them between backlogs.
- Epic and features are optional and you can plan a flat backlog that only contains requests.
- Backlogs are located at the product level in PulseUno.
- You can view a backlog as a hierarchy or a flat view.

About iterations
An iteration is one development cycle, commonly known as a sprint, which is typically a few weeks. An iteration includes the requests your team are confident they can complete during the sprint. As an iteration progresses, the remaining effort required to complete the requests should decrease. You can view an iteration as a list or a card wall. Iterations are located at the product level in PulseUno.
The Content tab displays the content of an iteration in a flat list and includes information such as:
- What requests are being worked on.
- For each request, its rank order in the iteration, title, effort, current state, and owners.
- The progress of the work; the effort, in story points, required to complete each request.

On a Card Wall tab each card displays information about a specific request such as:
- Which team member is working on it.
- The request’s story points.
- If the request is blocked.
- The number of days the request has been in its current state.
- A badge indicating its review state and the health of the changes.
Cards are grouped in rows by request type with a separate column for each lifecycle state. Each request type displays the number of requests that are blocked, hidden, and unassigned.

A card wall also displays metrics about the progress of the current iteration:
- In progress: story points remaining to be completed (as a number and percentage).
- Iteration end: the number of days left until the iteration ends.
- Done: requests completed (as a number and percentage).
- Burndown chart: shows how much work remains to be done in the iteration and helps to predict when the work will be completed.
- Burnup chart: shows how much work has been completed and the total amount of work.
The History tab displays changes made during an iteration, for example, requests that were added.
Create new requests
- Do one of the following:
- Open the backlog where you want to add the request. Optionally select the epic or feature that will contain the request. To add the new request at the top level of the backlog, do not select an epic or feature.
- Open the request catalog.
- Click New and select a request type, for example, ECR.
- On the General tab do the following:
- Give the request a title and summarize its purpose.
- For Acceptance Criteria specify the criteria to be met before the request is considered to be complete.
- For Story Points estimate the total number of points required to complete the work and the points remaining until will be finished. Story points are an estimation of a request’s relative complexity compared to other requests, and the effort required to complete it.
- Optionally relate the new request to a stream and design part.
- On the Attributes tab specify or select values. Each request type has different attributes and some may be mandatory. The attributes are similar to those in the other CM clients.
- You can hide read-only attributes.
- Only attributes that you have the privilege to edit are displayed.
- The fields that are displayed depend on the request type and how it has been customized by the CM administrator.
- Click Save.
Create a new request based on an existing request
You can also create a new request based on the properties of an existing request. In CM this is known as priming a request. The new request can be:
- In the same or a different product.
- A different request type.
- Related to the request from which it was primed.
- Open the request catalog.
- Open the request that you want to prime.
- Click Prime To and select a request type.
- Select a relationship type, for example, Duplicate.
- Click Prime.
- Complete the form the same as for a new request.
Add an action description to a request
You can add an action description to a request without actioning it.
- Open the request where you want to add a description.
- Click Action
and select Add Action Description. - Enter a description and click Add.
Plan and manage a backlog
You typically start backlog planning by:
- Creating a new backlog.
- Adding epics and features.
- Populating the backlog with work (requests).
Create a request backlog
If you are an administrator, you can create a new backlog and assign backlog owners. A backlog owner can manage its content, for example: add, remove, and rank items. The backlog owners can be changed by an administrator or another owner.
- Select the product where you want to create the new backlog.
- On the sidebar select Backlog.
- Click New.
- Give the backlog a name and summarize its purpose.
- (Optional) To assign one or more owners:
- Click Add. The Add Owner dialog box is displayed.
- In the Search box enter a string that matches registered PulseUno users.
- Select one or more users and click Add Owner.
- Click Save.
Open a backlog
- Select the product containing the backlog.
- On the sidebar select Backlogs.
- Select a backlog or search for one by title or ID#.
- Select these options at the bottom of a backlog page:
- Planned requests that are already included in an iteration
- Request labels
- Closed requests
- To display the requests as a flat, ranked list, click
.
Create an epic or feature
- Open the backlog where you want to create a new epic or feature.
- (Optional) Click New and select Epic or Feature.
- Give the epic or feature a title and summarize its purpose.
- Click Save.
- Add additional epics and features as required.
- To change the hierarchy, drag and drop epics and features in the backlog.
Add a request from the request catalog
You can add an existing CM request that originated from inside or outside your team.
- Open the backlog where you want to add a request.
- Click
to show the right panel and select Request Catalog. - Select a request and drag it to a specific place in the backlog hierarchy on the left panel.
- You can search for a request using various criteria, for example, title or ID.
- A backlog or iteration's label is displayed if the request is already included in one.
- The request catalog displays all the requests in the current CM product.
Move epics, features and requests between backlogs
You can move epics, features, and requests between backlogs. An object can only belong to one backlog; if you move one to the target backlog it is removed from the source backlog. When you move a feature its child requests are also moved.
- Open the backlog where you want to move an object to.
- Click
to show the right panel and select Backlogs. - Select a backlog or search for one by title or ID.
- Select an epic, feature, or request and drag it to a specific place in the backlog hierarchy on the left panel.
- A backlog hierarchy automatically expands when you drag an object over it.
- You can also move objects from the backlog on the left to the one on the right.
Prioritize and rank requests in a backlog
In each backlog, requests are ranked in descending order of priority in their parent epic or feature. You can rank and prioritize requests in the structured or flat view.
- Open the backlog where you want to prioritize and rank requests.
- Click
to display the flat view. - Select a request and drag it to a different position in the hierarchy.
Mark a request as blocked
If you cannot continue working on a request you can mark it as blocked.
- Open the backlog containing the request you want to block.
- Select the request.
- Select Mark Blocked. In the backlog the request is now labeled as Blocked.
Delete an epic, feature or request
You can delete an epic, feature, or request from a backlog. If you select an epic that has child features they are also removed. Any requests contained in an epic or feature are removed from the backlog and made available to the team.
- Open the backlog where you want to delete objects.
- Select one or more epics, features, or requests. Multiple objects that you select must be at the same level in the backlog hierarchy. For example, you can only select requests and features that are at the same level in an epic.
- Click Delete.
Plan and manage an iteration
Create an iteration from a backlog
You can create a new iteration from a backlog if you are an administrator or the backlog owner. The new iteration can only include requests that are not already assigned to another iteration. Requests that you can add have a green circle next to their label
. If you select an epic or feature, its child requests are included in the new iteration.
- Open a backlog.
- Select one or more epics, features, and requests. Multiple objects that you select must be at the same level in the backlog hierarchy. For example, in an epic you can only select requests and features that are at the same level.
- Click Create Iteration.
- In the Create Iteration dialog box do the following:
- Give the iteration a name and summarize its goals.
- Specify the duration of the iteration and a start date.
- Click Save.
Create an iteration from an existing iteration
You can create a new iteration containing requests from an existing iteration if you are its owner or an administrator. This is useful when you have finished a sprint and want to move uncompleted requests to a new iteration. The owner of the source iteration becomes the owner of the new iteration and the selected requests are moved to the new iteration.
- Select the product where you want to create the new iteration.
- On the sidebar select Iterations.
- Select the iteration that will be the source for the new iteration.
- Select one or more requests.
- From the Move To menu select New Iteration.
- In the Create Iteration dialog box do the following:
- Give the iteration a name and summarize its goals.
- Specify the duration of the iteration and a start date.
- Click Start.
Create a new empty iteration
If you are an administrator you can create a new, empty iteration.
- Select the product where you want to create the new iteration.
- On the sidebar select Iterations.
- Click New.
- Give the iteration a name and summarize its goals.
- Specify the duration of the iteration and a start date.
- (Optional) To add an owner:
- Click Add. The Add Owner dialog box is displayed.
- In the Search box enter a string that matches registered PulseUno users.
- Select one or more users and click Add Owner.
- Click Save.
Open an iteration
- Select the product containing the iteration you want to view.
- On the sidebar select Iterations.
- From the list select one of the following: Recent, Owned by me, Current, Future, Previous
- Select the iteration.
Add a request from a backlog
You can add a request from a backlog to an iteration if you are the owner of the iteration or an administrator. You can only add requests that are not already assigned to another iteration. Requests that you can add have a green circle next to their label
.
- Open the iteration where you want to add a request.
- Click the Content tab.
- Click
to show the right panel. - On the right panel select Backlogs.
- Select a backlog or search for one by title or ID.
- Select a request and drag it to any position in the iteration on the left.
Move a request from another iteration
You can move a request from another iteration if you are the owner of both iterations. The request is removed from the source iteration and added to the target iteration.
- Open the iteration where you want to add a request.
- Click the Content tab.
- Click
to view the right panel. - On the right panel select Iterations.
- Select an iteration or search for one by title or ID.
- Select a request and drag it to any position in the iteration on the left.
Prioritize and rank requests
In each iteration, requests are ranked in descending order of priority. To change a request's position, do one of the following:
- Select it and drag to a different position.
- Click the Rank field and enter, or select, a new position.
Move requests to another iteration
You can move requests to another iteration if you are the owner of both iterations.
- Open the iteration from where you want to remove requests.
- Click the Content tab.
- Click
to view the right panel. - On the right panel select Iterations.
- Select a target iteration or search for one by title or ID.
- In the source iteration on the left select the requests that you want to move.
- Select Move To and then Iteration on Right <iteration ID>.
Move requests to a new iteration
You can move requests from an existing iteration to a new iteration.
To move requests:
- Open the iteration from where you want to remove requests.
- Click the Content tab.
- Select the requests that you want to move.
- Select Move To and then New Iteration.
- Give the new iteration a name and specify its duration and start date.
- Click Start.
Edit an iteration
As the owner or an administrator, you can edit iterations.
To modify an iteration:
- Open the iteration that you want to edit.
- Click Edit.
- Edit the iteration.
- Click Save.
Remove requests from an iteration
You can remove requests from an iteration if you are the owner or an administrator. After you remove a request, it can be added to other iteration.
To remove requests from an iteration:
- Open the iteration from where you want to remove requests.
- Select one or more requests.
- Click Remove and confirm.
Delete iterations
As the owner or an administrator, you can remove iterations.
To delete an iteration:
- In PulseUno, navigate to Spaces and select a space.
- Select the product containing the iterations.
- In the sidebar, select Iteration.
- Select one of these tabs: Current, Future, Previous.
- Select iterations.
- Click Delete and confirm.
View request details on a card wall
When the card wall is displayed, you can view a request's details.
To view request details:
- Open an iteration and display the card wall.
- Select a card. The request's details are displayed on the right.
Create space on a card wall
You can create space on a card wall and only display the information that you require by:
- Collapsing request types
- Collapsing lifecycle states
- Using compact cards
- Hiding the merics and burndown/burnup charts
Compact card wall example

To work with a card wall:
- Open an iteration and display the card wall.
- To collapse a request type, toggle the arrow on the left.
- To collapse a lifecycle state, hover over the column title and click

- At the bottom of the card wall, click Show charts and/or Show compact cards.
Group requests on a card wall
You can group requests on the card wall by users. This enables you to:
- See how many requests and story points are allocated to each user
- Identify users who may be struggling to complete their work
- Open an iteration and display the card wall.
- At the bottom of the card wall, click Group by user.
View off-normal request states
Off-normal request lifecycle states are not displayed by default.
To view off-normal request states:
- Open an iteration and display the card wall.
- At the bottom of the card wall, select Show off normal states. If an off-normal state column is collapsed, click
to expand it.
Action requests
You can action a request to a new lifecycle state if it is in your Inbox or you are a Dimensions CM administrator.
- Normal Dimensions CM roles and privileges apply.
- You can only action to the Approved state when all the related reviews are approved.
Action a request from a backlog or iteration
- Open the request that you want to action.
- Click Action To and select a lifecycle state from the list. The Action Request dialog box is displayed.
- On the General tab optionally modify the total and remaining story points.
- Click the Owners tab and optionally add users who will own the request after it is actioned:
- Click Add. A dialog box displays a list of all the users that can be added as owners.
- From the Role to assign list, select the role with which to assign the new owners, for example, Developer.
- From the Capability of users list, select a capability for the new owners. For more information see the Dimensions CM Process Configuration Guide.
- Select one or more users and click Add.
- When you action a request you may need to provide additional information on the Attributes tab, some of which might be required.
- Click Action.
Action a request from a card wall
- Open the iteration containing the request that you want to action.
- Click the Card Wall tab.
- Drag a request to another lifecycle column. The Action Request dialog box is displayed.
- When you action a request you may need to provide additional information on the Attributes tab, some of which might be required.
- On the Owners tab, optionally select the user who will become the request owner after it is actioned.
- Click Action. The request’s state is changed and it moves to the next lifecycle column on the card wall.
Delegate a request
Delegate a request when you want to assign it to other users. When you delegate a request you can change the role assignments for it, for example, Developer. You can also select a Dimensions CM capability, for example:
- Leader: sole responsibility for the request.
- Primary: primary responsibility for the request.
- Secondary: acts as a backup to the primary role.
- Open the request catalog and select the request.
- On the General tab, in the Owners section click Add.
- From the Role to assign list, select the role to be delegated to the users.
- From the Capability of users list, select a capability for the users.
- From the Users to assign section select one or more users.
- Click Delegate.
Edit requests
You can edit a request's details if it is in your Inbox or you are a Dimensions CM administrator. After you edit a request its new values are displayed in all CM clients.
- Open the backlog or iteration containing the request that you want to edit.
- Select the request and click Edit.
- On the General tab do the following:
- Edit the title, summary, and acceptance criteria
- Edit the story points
- Add and remove attachments
- Add and remove relationships to other requests
- Relate the request to a different stream or project
- Add and remove relationships to design parts
- Select the Attributes tab and edit the values. The attributes vary between request types but are the same as in the other CM clients. Each request type has different attributes. Attributes that are required for the next state are indicated.
- You can hide read-only attributes.
- Only attributes that you have the privilege to edit are displayed.
- Click Save.
Add owners to requests
You can add owners to a request if the request is in your Inbox or you are a Dimensions CM administrator.
- Open the request from the request catalog, a backlog, or an iteration.
- On the General tab, in the Owners, section click Add.
- From the Role to assign list select a role, for example, Developer.
- From the Capability of users list select a capability, for example, Secondary.
- In the Users to assign box search for, and select, one or more users.
- Click Add and then Save.
You can also remove owners from requests if their role was not inherited.
- Open the request from the request catalog, a backlog, or an iteration.
- On the General tab, in the Owners, select one or more owners.
- Click Remove and then Save.
Troubleshooting
Administration issues
See also the PulseUno troubleshooting chapter in the Dimensions CM Administration Guide.
Database not accessible
If PulseUno fails to start because it cannot connect to its database, a detailed exception message is displayed instead of the login page. A common reason is a missing or inaccessible database at application start up time. The logs in the PulseUno data directory on the server contain more information. For information about configuring the JDBC URL, see the PulseUno chapters in the Dimensions CM Administration Guide.
Reviews not created automatically
Reviews are not created automatically when deliveries are made to CM:
- If your Dimensions CM server is correctly configured to emit ALF events when a delivery is made, check that your repository connection has been setup properly and that PulseUno can connect to it.
- In the stream's settings, verify that:
- The delivery filter is not set to exclude the changeset.
- Create/Attach to a Review is selected.
- If a delivery references a Dimensions CM request, or has a review label in the format [Q100] in the delivery message, the changeset may be associated with an existing review at the Draft or Rework state and will not create a new review.
User avatar images not displayed
If a user avatar images are not displayed, try the following:
- Check that the avatar server is configured properly. For details, see Configure the avatar server.
- Navigate to Administration > Caches and clear the avatar images cache.
- Clear your local browser cache.
Chains do not start
If chains do not start when deliveries are made to CM, check the following:
- The stream is configured to automatically run chains.
- The chain is configured to run on a schedule rather than every delivery.
- The PulseUno server logs described in the Dimensions CM Administration Guide.
Chain results not displayed
If chains run successfully but results are not displayed, check that the parameters in Jenkins are configured correctly. For details, see Jenkins. Builds will run in Jenkins even if parameters are not set up correctly, but the results will not be sent to PulseUno. You can also view chain logs. For details, see View chain run details.
For more information about configuring Jenkins, see the Dimensions CM Build help.
Other issues
For more information, see also the PulseUno troubleshooting chapter in the Dimensions CM Administration Guide.
Reviewers not as expected
If the reviewers assigned to a new review are not as expected:
- Check that the design parts that own the files being reviewed are correct.
- Check who holds the Reviewer role on those design parts.
- A PulseUno administrator can configure the Reviewer role for each repository.
- PulseUno assigns reviewers differently to the way that roles are assigned to CM requests:
- PulseUno takes a union of the users holding the role on the items' owning design parts.
- CM requests take the role assignments from a common ancestor design part in the design part hierarchy.
Item content not displayed in reviews
If item content is not displayed correctly in reviews, in the Dimensions CM administration console check that:
- The item's data format is set correctly.
- The data format has an appropriate MIME type. Items that have a data format with a MIME type beginning text/ are displayed as inline text, MIME types beginning with image/ are displayed as images.
Requests are actioned but PulseUno reviews do not change state
If CM requests are actioned but the corresponding PulseUno reviews do not change state, try the following:
- In PulseUno, navigate to Administration > Repositories.
- Select the review's repository and click Defaults.
- In the Reviewer role name in CM field see what CM role that has been specified. Users that hold this role can be selected as reviewers in PulseUno.
- If the CM request does not have a user that holds this CM role, no changes are made in PulseUno.
- If the CM request does have a user hold this CM role, the role assignment should have been copied to the review. However, the review rule script for the stream also determines if the review changes its state.
Check the ALF event configurations and PulseUno server logs. For details, see the Dimensions CM Administration Guide.
PulseUno reviews change state but requests are not actioned
If PulseUno reviews change state but the corresponding CM requests are not actioned, try the following:
- In PulseUno, navigate to Administration > Repositories.
- Select the review's repository and click Defaults.
- In the Approved state name in CM and Rework state name in CM boxes check the state names are correct.
- Click Cancel.
- On the sidebar click Connection Details.
- In the Credentials section check that the specified user can log into Dimensions CM and that the user account has privileges in Dimensions CM to action requests to the necessary states.
- If a request in Dimensions CM requires mandatory attributes, enter them manually. PulseUno cannot automatically populate the attributes unless the credentials on the repository are for an account that has privileges in Dimensions CM to bypass this requirement.
- Delegate any role assignments on requests in Dimensions CM that are required before the request can be actioned to the next state. PulseUno does not change the role assignments on requests in Dimensions CM, even for the Reviewer role of the repository.
- Only reviews that change their state from In Review to Rework, or from In Review to Approved or Completed, cause their corresponding CM requests to be actioned. If a review is associated with multiple requests, all the requests are actioned. If a request is associated with multiple reviews, the request is actioned more than once.
- Check the PulseUno server logs at the DEBUG level. For details, see the Dimensions CM Administration Guide.
Unexpected formatting in review comments
- PulseUno uses Markdown syntax for formatting user comments. If you are expecting a new line in your comment, try ending the previous line with two spaces or using an extra blank line.
-
For security reasons the following are removed:
- Links or images that do not point to an URL of the type http:// or https://
- Unsafe or unbalanced HTML tags
IIS 403 error
If you have configured IIS using AJP and are getting an IIS 403 error page instead of the PulseUno login page when you open the PulseUno URL, try the following:
- Open IIS Manager.
- In theConnections pane, expand Default Web Site, and select the /jakarta directory.
- In the Management section of the Features view, double-click Configuration Editor.
- In the From list, select Default Web Site/jakarta Web.config.
- In the Section list, select system.webServer/httpErrors from the tree.
- Change the value of the
existingResponseproperty from Auto to PassThrough. - In the Actions panel, click Apply.
PMD expert
- If the compilation unit (*.java file) is not syntactically correct, PMD does not report any findings therefore sources must be compiled successfully.
- f the compilation unit (*.java file) is very large, for example, 10,000 lines, and there are multiple bugs, PMD may take a long time to complete.
SonarQube expert
If you have problems with SonarQube Runner, see the SonarQube documentation.
If you receive the Stopped state, verify that:
- The expert property file is in this location:
${dataDir}/conf/experts/com.serena.starlight/sonarqube/sonarqube-pulse-expert.properties - All required properties are specified in the property file.
- The SonarQube server and database are up and running.
- The connection details to the SonarQube server and SonarQube database are configured correct in the property file.
- The path to the SonarQube Runner command line tool is correct in the property file.
Check the PulseUno log file.
Deployment Automation experts
Check the following:
- The configuration is set up properly, for example, the correct Deployment Automation object names are specified.
- If the property file is not found or is not set up correctly, the wrong Deployment Automation server URL may be specified.
- The Deployment Automation server version is supported.
- The Deployment Automation agent or resource is online.
Dependency Vulnerabilities expert
Check the following:
- If autoupdate in the properties file is set to false, CVE data is not updated and the expert will not report any findings.
- The OWASP Dependency Check tool does not always work correctly with analyzer options and you may have to disable them. To exclude specific paths, use the Exclude patterns field.
StarTeam
StarTeam supports older versions of AutoPass License Server (APLS). If you are having licensing problems, try updating to version 10.9.2 or later.
Support
For product support, visit the Micro Focus Support portal.




