Custom capabilities can be used to control which jobs will be built by a particular agent, since agent capabilities are required to match job requirements. For example, if the builds for a particular job should only run in a Windows environment, you could create a custom capability 'operating.system=WindowsXP
' for the appropriate agent(s), and specify it as a requirement for this job.(See Configuring a job's requirements.)
You can define a custom capability that is:
- for a specific local or remote agent
- to be shared by all local agents
- to be shared by all remote agents.
Note that the value of an agent-specific capability overrides the value of a shared capability of the same name (if one exists).
On this page:
Defining an agent-specific custom capability
To define a new agent-specific custom capability:
- Navigate to the desired agent.
- Click Add capability in the top right of the 'Agent-Specific Capabilities' section.
- Choose Capability type > Custom.
- Specify values for Key and Value.
- Click Add.
Defining a local server custom capability
Local server capabilities are inherited by all local agents.
To define a new local server custom capability:
- Click the icon in the Bamboo header and choose Overview.
- Click Server Capabilities in the left navigation panel (under 'Build Resources').
- Locate the 'Add Capability' section at the bottom of the screen (see screenshot below).
- Choose Capability Type > Custom.
- Specify values for Key and Value.
- Click Add.
Defining a shared remote custom capability
Shared remote custom capabilities are not shared with elastic agents.
To define a new shared remote custom capability:
- Click the icon in the Bamboo header and choose Overview.
- Click Agents in the left navigation panel (under 'Build Resources').
- Locate the 'Remote Agents' section.
- Click Shared Remote Capabilities.
- Locate the 'Add Capability' section at the bottom of the screen (see screenshot below).
- Choose Capability Type > Custom.
- Specify values for Key and Value.
- Click Add.