Groups Command Group
The yt groups command group provides user group and permissions management capabilities. This is a flatter alternative to yt admin user-groups that offers the same group management functionality in a more convenient format.
Overview
The groups command group allows you to:
Create new user groups for organizing team members and permissions
List all available user groups in your YouTrack instance
Manage group membership and permission assignments
Organize users by roles, teams, or project access requirements
User groups in YouTrack are essential for managing permissions at scale, allowing you to assign project access, workflow permissions, and system capabilities to multiple users simultaneously.
Base Command
yt groups [OPTIONS] COMMAND [ARGS]...
Group Management Commands
Create User Groups
Create a new user group for organizing users and permissions.
yt groups create [OPTIONS]
- Options:
--name TEXT- Name of the group to create (required)--description TEXT- Optional description of the group’s purpose
Examples:
# Create a basic user group
yt groups create --name "Development Team"
# Create a group with description
yt groups create --name "QA Engineers" --description "Quality Assurance team members"
# Create project-specific groups
yt groups create --name "Web Project Contributors" --description "Contributors to web development project"
List User Groups
List all user groups in your YouTrack instance.
yt groups list [OPTIONS]
- Options:
--format [table|json|csv]- Output format (default: table)
Examples:
# List all user groups
yt groups list
# List groups in JSON format for processing
yt groups list --format json
# Export group list for reporting
yt groups list --format csv > user-groups.csv
Understanding User Groups
Group Types and Purposes
YouTrack user groups serve various organizational purposes:
- Role-Based Groups:
Developers - Software development team members
QA Engineers - Quality assurance and testing personnel
Product Managers - Product ownership and management roles
Designers - UI/UX design team members
- Project-Based Groups:
Project Alpha Team - Members working on specific project
Mobile Development - Cross-functional mobile development team
Infrastructure Team - DevOps and infrastructure specialists
Client Services - Customer-facing team members
- Permission-Based Groups:
Administrators - Users with system administration privileges
Project Leads - Users with project management permissions
Reporters - Users who can create and view issues but not resolve them
Viewers - Read-only access users
Group Membership and Permissions
User groups enable efficient permission management:
- Permission Inheritance:
Users inherit permissions from all groups they belong to
Group permissions can be assigned at project, workflow, and system levels
Multiple group memberships provide cumulative permission access
- Dynamic Group Management:
Group membership can be updated as team composition changes
New projects can leverage existing groups for consistent access control
Groups can be nested or have hierarchical relationships
Integration with Admin Commands
The yt groups command is functionally identical to yt admin user-groups. Both commands provide the same group management capabilities:
# These commands are equivalent:
yt groups create --name "New Team"
yt admin user-groups create --name "New Team"
# These commands are equivalent:
yt groups list --format json
yt admin user-groups list --format json
Choose the command style that fits your workflow:
Use
yt groupsfor quick, direct access to group managementUse
yt admin user-groupswhen working with other administrative operations
Use Cases and Applications
Team Organization
Organize users by functional teams and roles:
# Create functional team groups
yt groups create --name "Frontend Developers" --description "UI and frontend development team"
yt groups create --name "Backend Developers" --description "API and backend development team"
yt groups create --name "DevOps Engineers" --description "Infrastructure and deployment team"
- Benefits:
Clear team structure and responsibilities
Simplified permission management for team-based access
Easy identification of team members and their roles
Streamlined onboarding for new team members
Project Access Control
Create project-specific groups for access management:
# Create project-specific access groups
yt groups create --name "Project Phoenix Contributors" --description "All contributors to Project Phoenix"
yt groups create --name "Project Phoenix Reviewers" --description "Code and issue reviewers for Project Phoenix"
- Applications:
Granular control over project access and visibility
Separate permissions for different project phases or components
Clear access boundaries between different projects or clients
Support for project-based team structures
Permission Management
Organize users by permission levels and access requirements:
# Create permission-based groups
yt groups create --name "Issue Reporters" --description "Users who can create and comment on issues"
yt groups create --name "Issue Resolvers" --description "Users who can resolve and close issues"
yt groups create --name "Project Administrators" --description "Users with full project management access"
- Use Cases:
Hierarchical permission structures
Role-based access control implementation
Separation of duties for compliance requirements
Flexible permission assignment without individual user management
Client and Stakeholder Management
Organize external stakeholders and client representatives:
# Create stakeholder groups
yt groups create --name "Client Stakeholders" --description "External client representatives"
yt groups create --name "Business Analysts" --description "Internal business analysis team"
- Benefits:
Clear separation between internal team members and external stakeholders
Controlled access to client-facing information and projects
Simplified client onboarding and offboarding processes
Appropriate visibility levels for different stakeholder types
Best Practices
Group Naming Conventions
Establish consistent naming patterns for groups:
- Descriptive Names:
Use clear, descriptive names that indicate the group’s purpose
Include team function, project name, or permission level in the name
Avoid abbreviations that might be unclear to new team members
Consistent Patterns:
# Team-based naming pattern
yt groups create --name "Frontend Development Team"
yt groups create --name "Backend Development Team"
yt groups create --name "Quality Assurance Team"
# Project-based naming pattern
yt groups create --name "Project Alpha - Contributors"
yt groups create --name "Project Alpha - Reviewers"
yt groups create --name "Project Alpha - Stakeholders"
Group Structure and Hierarchy
Plan group structure to support organizational needs:
- Functional Organization:
Create groups that mirror your organizational structure
Align groups with reporting relationships and team boundaries
Consider both permanent roles and temporary project assignments
- Permission Levels:
Create groups that correspond to different permission requirements
Plan for permission escalation and temporary access needs
Design groups that support both permanent and temporary access
Group Lifecycle Management
Manage groups throughout their lifecycle:
- Creation:
Plan group purpose and membership before creation
Document group responsibilities and access levels
Establish processes for adding and removing members
- Maintenance:
Regularly review group membership for accuracy
Update group descriptions as purposes evolve
Archive or remove groups that are no longer needed
Automation and Integration
Automated Group Management
Automate group creation for consistent organizational structures:
#!/bin/bash
# Team onboarding script
PROJECT_NAME="$1"
if [ -z "$PROJECT_NAME" ]; then
echo "Usage: $0 PROJECT_NAME"
exit 1
fi
# Create standard project groups
yt groups create --name "$PROJECT_NAME - Contributors" --description "All contributors to $PROJECT_NAME"
yt groups create --name "$PROJECT_NAME - Reviewers" --description "Code and issue reviewers for $PROJECT_NAME"
yt groups create --name "$PROJECT_NAME - Stakeholders" --description "Business stakeholders for $PROJECT_NAME"
echo "Groups created for project: $PROJECT_NAME"
Group Reporting and Analysis
Generate reports on group structure and membership:
# Export group information for analysis
yt groups list --format json > groups-export.json
# Create group summary report
cat groups-export.json | jq -r '
["Group Name", "Member Count", "Description"],
(.[] | [.name, (.members | length), .description]) | @csv
' > groups-report.csv
Integration with User Management
Combine group management with user operations:
# Create groups and add users in batch operations
yt groups create --name "New Project Team"
# Add multiple users to the group (would require additional user management commands)
# This demonstrates the integration pattern even if specific commands aren't implemented yet
Directory Services Integration
For enterprise environments, groups often integrate with directory services:
# Example pattern for integrating with external directory systems
# (Implementation would depend on specific directory service)
# Export current groups for comparison with directory groups
yt groups list --format json > youtrack-groups.json
# Process directory information to maintain group synchronization
# (This would be part of a larger integration solution)
Security and Compliance
Access Control Best Practices
Implement security-focused group management:
- Principle of Least Privilege:
Create groups with minimal necessary permissions
Regularly review and audit group permissions
Remove unused or overprivileged groups
- Separation of Duties:
Create distinct groups for different functional responsibilities
Avoid combining conflicting permissions in single groups
Implement approval processes for sensitive group membership changes
Audit and Compliance
Maintain compliance through group management:
- Regular Reviews:
Schedule periodic group membership reviews
Document group purposes and access justifications
Track group creation, modification, and deletion activities
- Reporting:
Generate regular reports on group structure and membership
Monitor for unused or inactive groups
Document group-based access decisions for compliance audits
Troubleshooting
Common Issues
- Group Creation Failures:
Verify you have administrative permissions for group management
Check that group names don’t conflict with existing groups
Ensure group names meet system naming requirements
- Permission Issues:
Confirm your user account has group management permissions
Verify you have access to the YouTrack administrative functions
Check that your authentication token includes administrative scopes
- Group Listing Problems:
Ensure you have permission to view user groups
Check network connectivity to YouTrack instance
Verify your authentication status is valid
Authentication
Group management requires administrative authentication and permissions. Make sure you’re logged in with appropriate privileges:
yt auth login
See Also
Administrative Command Group - Complete administrative functionality including group management
Users Command Group - User management and account administration
Projects Command Group - Project management and access control
YouTrack User Group documentation for detailed permission configuration