About projects

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

In addition to projects, you can create libraries. A library is like a project but does not have a selector to determine where the steps run.

About the Projects panel

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

The Projects panel provides the following tabs:

Details tab

With the Details tab, you can specify various properties about a project.
Screen image of the Project Details tab in the Projects panel
Name
The name of the project. The system uses this name to refer to the project in lists and in the database.

The project name is used to construct the project directory when the project is run. Because a project might contain steps that run 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. Using an ampersand (&) can unintentionally produce an HTML entity as part of the project name.

Access
The access group that is allowed to view and use the project. The Access property is used along with permissions to determine what a user can do. For example, to launch a job, you must be a member of the access group specified for the project and you must also be 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 users attempt to run a disabled project, Rational Build Forge displays a message to indicate that the project is inactive and does not 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.
Run Limit
The Run Limit property sets the maximum number of jobs of the project that are 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 to use 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 that 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/fail chain at the project level allows you to invoke separate pass/fail actions based on the pass/fail status of the project. This capability is similar to setting pass/fail actions at the step level within a project. At the project level, the pass/fail actions are triggered by the project run status not the step status.
Environment
An environment to apply 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 that use the default project selector to stay on the same server, and to wait for it to become available if it is busy. For more information about this option, see Making steps stick with a server.
Start Notify, Pass Notify, Fail Notify
Use these fields to direct the system to send notification emails on project start, pass, and/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, using 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, their variables are drawn from the same pool, so that when they run in sequence, one project gets the value 1, the next gets the value 2, and so on. For more information, see Synchronizing tags.
Tag Name
The name of the variable. 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 a tag format "Build_$MainVer.$B" to get tags like Build_005.1.
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 if needed to make sure 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. Padding can range from 1 to 8.
Auto Inc
If set to Yes, the system increments the variable's value by 1 for every job of the project.

Registers tab

Use project registers to store information that persists 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 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 or change the snapshot name and comments about the snapshot.


Feedback