Hudson-ci/features/Team Feature White Paper
Hudson Teams White Paper
The Hudson Teams feature allows a single Hudson server to behave like multiple Hudson servers, each serving a project team within a single organization. With the exception of public jobs, only jobs in a given team are visible to members of that team. In addition, unlike multiple servers, job visibility across teams can be configured.
The Team feature is orthogonal to the configured Security Realm. It honors roles assigned to users and in many ways simplifies the administration of team-aware permissions.
There are three categories of team users (which may be specific users or roles assigned to users via the security realm):
A system administrator can manage Hudson, create and delete teams, move jobs from team to team, and administer team permissions. In particular, a system administrator can delegate team administration responsibilities to team administrators.
When team management is enabled, at least one system administrator must be named.
A team administrator can add new members to the team, including administrator members, and assign them job create, delete, configure and build permissions, separately. A user can be an administrator of multiple teams; in that case, the user can move jobs from team to team.
A team member can perform the actions granted by a system or team administrator. A user can be a member of multiple teams and, with sufficient permissions, copy jobs from one team to another.
There is a special team named
public that is predefined.
Only the system administrator can create jobs in the public team, configure and build them. All other teams can see jobs in the public team on a read-only basis and can copy them to their own teams. Thus, the public team serves as a way to provide prototype jobs that team members can copy and tailor to their needs.
When team management is first enabled, any existing jobs become public team jobs.
The team name
public is reserved.
= All Other Teams =
Other teams are created or deleted by the system administrator, who can see all teams and all jobs and has all privileges. The system administrator also names at least the first team administrator for a team; thereafter the team administrator can add more administrators for the same team.