About projects

Projects are executable sets of steps, with their own environment group and server properties.

In addition to projects, you can create libraries. Unlike a project, a library does not have a selector that determines where steps are entered.

About the Projects panel

Use the Projects panel to create new projects and view or edit existing projects. To access the Projects panel on the left menu, click Projects.

The Projects panel provide the following tabs:

Details tab

You can specify various project properties on the Details tab.
Job Controller
Choose a job controller for the project engine type. The choices are Java master job controller or Perl Engine. The system uses the Java master job controller to execute the master job controller projects. The system only uses the Perl engine to execute Perl engine projects. For more information about engine types, refer to the setting Use Java Master Job Controller as Job Execution Engine in the System configuration settings topic. You can also refer to topics in the section Managing the Perl engine.
Name
The name of the project. The system uses this name to refer to the project in lists and in the database.

If you run a project, the project name is used to construct the project directory. Due to a project containing steps that might execute on different operating systems, avoid special characters and symbols in your project names. If a project name must use characters that produce an invalid directory name, add the characters to the Invalid Relative Dir Characters system configuration setting. Characters listed in this setting are converted to underscores (_) when creating project directories. By using an ampersand (&), you can unintentionally produce an HTML entity as part of the project name.

Access
The group allowed to view and use the project. You can use this property with permissions to determine what you are allowed to access. For example, if you want to launch a job, you must be a member of the access group specified for the project and a member of a group that has the Execute Jobs permission. For more information about access groups, See Access overview.
Disable
Select this check box to disable the project. When you attempt to run a disabled project, Rational® Build Forge displays a message to indicate that the project is inactive and cannot run the project.
Max Threads
The maximum number of parallel processes the project is allowed to launch. Use this field to keep a project from using too many system resources. Each thread-enabled step and any inline projects (which themselves might launch thread-enabled steps) can result in parallel processes, but all of those processes are counted against the maximum for the parent project. The system stops launching new parallel processes when it reaches the Max Threads value, and waits until the number of parallel processes for the project drops below the Max Threads value before continuing. For more information about threading, see Threading: running steps in parallel.
Note: The property of Max Threads is not supported on Java engines.
Run Limit
The Run Limit property sets the maximum number of project jobs allowed at one time.
  • If you launch a project and the number of active jobs equals the Run Limit, then the new job stays in the waiting queue until at least one job completes.
  • If a schedule attempts to launch a project and the number of active jobs equals the Run Limit and the Hard Run Limit system configuration setting has a value of Yes, the system does not launch the new job. If the Hard Run Limit is set to No, the system ignores the Run Limit setting for scheduled builds.
  • Projects that are launched through an inline are not considered instances of the original project and do not count toward its Run Limit.
Class
Each project must be assigned to a class, which assigns global properties to groups of jobs. For more information, See Classes.
Selector
The name of the selector when choosing a server for the project. The system uses this selector as the default for any steps within the project that do not specify their own selectors. See Selectors. If a selector is not specified, the project is added to the Libraries panel instead of the Projects panel. A library uses the selector of the calling step. If the step does not have a selector, the library uses the selector of the calling project.
Pass Chain, Fail Chain
Select the project that runs when the project build passes or fails. Setting a pass or fail chain at the project level, allows you to invoke separate pass or fail actions based on the pass or fail status of the project. This capability is similar to setting pass or fail actions at the step level within a project. At the project level, the pass or fail actions are triggered by the project run status and not the step status.
Environment
The environment that is applied after the server environment and before the step environment. For more information about how environments work together, See About variables.
Sticky
Enable the Sticky check box to force all the steps of the project using the default project selector to stay on the same server. You must then wait for the server to become available, if it is busy. For more information about this option, See Making steps stick with a server.
Default Step Provider
Implements the execution of a step command. It provides as-expected legacy behavior of executing the command text on the endpoint agent server. The only default step provider is the Java master job controller. No step provider is available for Perl engine projects.
Start Notify, Pass Notify, Fail Notify
Use these fields to direct the system to send a notification email on project start, pass, or fail, by selecting an access group in one or all of these fields.

Tags tab

Use the Tags tab to manage the build tags for a project.
Tag Format
A string that defines the tags for the project, which uses plain text and tag variable references. For more information about tag formats, See Changing the build tag during a job.
Tag Sync
Synchronize the tag variables for two projects. Select the project whose tag variable you want to synchronize with the current project. When two projects are synchronized, the variables are selected from the same pool. When two projects are running in sequence, the initial project has the value of 1 and the following has the value of 2. For more information, See Synchronizing tags.
Tag Name
The variable name. When you use a tag variable in a tag format, reference its name using the form $<Tag Name>. For example, to create a tag that uses the MainVer and B variables, use the tag format Build_$MainVer.$B. The following tags for example, Build_005.1 are retrieved.
Initial Value
Sets the value for the tag variable. If you do not use the Auto Inc option, the variable retains this value until you change it.
Padding
If you select a Padding value other than None, the system adds leading zeroes to the value of the variable when it is used in a tag. This is done to ensure that the number of digits equals the Padding value. For example, if the variable is current at 2, and it has a Padding of 3, then the system renders the value as 002. The padding ranges from 1 to 8.
Auto Inc
If set to Yes, the system increments the variable value by 1 for every project job.

Registers tab

Use project registers to store information that persist across builds.
Register
The name of the project register.
Contents
The value of the register.

For additional information, See Project registers.

Notes tab

Use the Notes tab to store items of interest about a project.

For each note the tab displays the following:

  • The date and time a user created the note
  • The user who entered the note
  • The note

Snapshot tab

A project snapshot is an instance of a project. The Snapshot tab provides the name of the snapshot.

Use this tab to view, change, and add comments to the snapshot name.


Feedback