Hudson-ci/features/Team Concept User View
This page explains the user view of setting up and using Hudson Team Management Concept
- 1 Adding Team Based Authorization
- 2 Managing the teams by Sys Admin
- 3 Managing single team by Team Admin
- 4 Managing Multiple teams by Sys Admin or Team Admin
Adding Team Based Authorization
Note: Before setting up the Authorization scheme, add the Security Realm to Hudson and makes sure the user authentication works fine.
The entire Team Concept is implemented as an Authorization Strategy. So in order to use the Hudson Team Concept, first the the Team Based Authorization Strategy must be selected as the Authorization Scheme for Hudson.
Go to Hudson Management Page and click on the Configure Security Link. Then select the Team based Authorization Strategy. Once selected, if it is the first time, then a message is displayed to inform at least one user must be set as System Administrator.
Click on the Add Sys Admin button to add at least one System Administrator. This brings up a dialog to input a user name or group name. If the username or group is already added, the dialog displays the appropriate message.
Once the username or group is added to the Administrator list, now they are displayed with icon to show the status of the user and also a delete icon next to the name. The delete icon can be clicked anytime to remove the entry in the System Administrator list.
There are three types of icon displayed in the list entry
- User Icon to show entry is a person
- Group Icon to show entry is a group
- Red icon to show the entry is unknown to the selected Security Realm
Up on clicking the Delete Icon, a confirmation dialog pops up to confirm the deletion of entry in the Sys Admin list. Any error message received from the server while removing the entry will be displayed in the dialog as a red text.
Managing the teams by Sys Admin
Only the System Administrator is allowed to do creation, deletion and adding initial Team Admins. The team management is done via the Manage Teams link in the Hudson management page. This link appears only if the logged in user is a System Administrator and the Team Based Authorization is selected.
Clicking on the link opens the Team Management page. If there are no teams setup in Hudson this page dispay the appropriate notification along with a button to create new team. The dialog also provides a way to specify a custom folder where the teams jobs and workspaces will be placed.
Clcik on the Create New Team to create a new team. A dialog appears to provide team name and description for the team. Any error associated with creation of team will be displayed in the dialog.
When the team is successfully created, it will be displayed on the page with no Team admins and Members. There are few buttons on the Team UI
- Button to delete the team
- Button to Add Team Admin
- Button to Add Team Member
When the Delete Team is clicked a dialog appears to inform the Team will be permanently deleted.
Note: If a team is deleted, then all its jobs must become global jobs, so that System Admin can assign them to other teams
Managing single team by Team Admin
When a team admin login, then that user gets to admin the team the user belongs to. The Manage Team link appears on the left hand side Side Panel
Clicking on the Manage Team link take the team admin to the Team Management Page. But untlike the Sys Admin user, the management page does not display all the teams available in the Hudson instance. Also the Team admin does not have buttons (or previlege) to create or delete team. But the team admin can add other team admins to the team and other members to the team and set appropriate permissions.
Adding team member
Clicking on the Add New Member button, brings a dialog to add a user or group to be added as as Team Admin or Team Member
This dialog has various options to specify permissions related to Job, Views and Nodes/Slaves
When the user and group is added to the Team, now the UI changes to show the members in the team.
Deleting team member
The member information is showed with user or group status icon and a delete icon to delete the members. When clicked on the delete icon, a dialog pops up to confirm the deletion of Team member
Updating team member permissions
The member information also has a configure icon to update the permissions of the member. When clicked the update member dialog pops up to change the permissions of the Team member. The configuration options will be pre-filled with the existing permissions.
After the users are added to the teams, any job created by the team member will have permission and scope explained in the Team Management Concept Page.
Managing team Items (Job, View, Slave)
Team items that belong to a team can be managed by a Team Admin. In this team item tab (jobs, views nodes), the items displayed has two sections - a section that displays all the items belong to this team and second section that displays the items visible from another team.
Managing team Item Visibility
By default only team members can view the team items. However a team admin may be able to make the team item visible to other teams or to the public. When made visible other team members can view them in read only mode. they never get permission to configure the items. A team admin can click on the configure button of the item belong to the team and make it visible to other teams or public.
Managing Slaves visible from other teams
A team admin can allow jobs from other teams to build on a team's node. This is done by setting the visibility of the node to other teams. However, due to security reasons explicit permission from second team admin is required to allow that teams jobs to be executed on a node visible to that team. This is done by clicking on the configure button to the node information displayed from other teams.
Managing Multiple teams by Sys Admin or Team Admin
The global items (Jobs, Views & Slaves) that do not belong to any teams can be managed by SysAdmin.
Only when the Sys Admin or Team admin who manages more than one team is logged in, the "Manage Jobs", "Manage Views" and "Manage Views" tabs appears in the Manage Teams page. This is mainly to move the items between teams, especially useful to move public items to certain teams.
Selecting the items and clicking on the Move Jobs or Move Views or Move Nodes button in the appropriate tab brings up a dialog to select the team to move. The Dialog displays the items to move and a dropdown list of teams to select a team to move the items to.
After selecting and clicking on the move button, a progressbar button appears to show some of the jobs move is in progress. When a jobs is successfully moved, a green icon appears.