Skip to content

Conversation

gmondello
Copy link
Collaborator

Summary

This PR improves the teams mode with better defaults and clearer terminology to enhance the user experience.

Changes Made

🎯 Better Defaults

  • Set enterprise scope as default: Easier than listing individual organizations
  • Enable full sync mode by default: remove_users_no_longer_in_teams: true
  • Automatic cleanup: Users automatically removed from cost centers when they leave teams

📝 Clearer Terminology

  • Replace "orphaned users" → "users no longer in teams"
  • Replace "orphaned user detection" → "full sync mode"
  • Update config key: remove_orphaned_usersremove_users_no_longer_in_teams
  • Fully backward compatible: old config key still works via fallback

🚀 GitHub Actions Focus

  • Complete rewrite of TEAMS_QUICKSTART.md for GitHub Actions workflows
  • Step-by-step guide with ready-to-use workflow file
  • Emphasizes automation and CI/CD over local setup
  • Includes troubleshooting for Actions-specific issues

Files Changed

File Changes
config/config.yaml Updated defaults and comments
config/config.example.yaml Updated defaults and comments
src/config_manager.py New config key with backward compatibility
src/teams_cost_center_manager.py Renamed methods, improved log messages
main.py Updated feature descriptions
README.md Updated feature list and documentation links
TEAMS_QUICKSTART.md Complete rewrite for GitHub Actions
ORPHANED_USERS_FEATURE.mdREMOVED_USERS_FEATURE.md Renamed and updated

Impact

  • 8 files modified (342 insertions, 273 deletions)
  • No breaking changes - fully backward compatible
  • Improved user experience with clearer, more intuitive language
  • Better onboarding with Actions-first quick start guide

Testing Checklist

  • All changes committed and pushed
  • Configuration validation passed
  • Backward compatibility verified (old config keys work)
  • Documentation updated and consistent
  • Log messages improved for clarity

Migration Notes

Existing users don't need to change anything - the old remove_orphaned_users config key continues to work. However, we recommend updating to the new key for clarity:

# Old (still works)
teams:
  remove_orphaned_users: true

# New (recommended)
teams:
  remove_users_no_longer_in_teams: true

Major improvements to make the teams mode more user-friendly:

**Better Defaults:**
- Set enterprise scope as default (easier than listing organizations)
- Enable full sync mode by default (remove_users_no_longer_in_teams: true)
- Users automatically removed when they leave teams

**Clearer Terminology:**
- Replace 'orphaned users' → 'users no longer in teams'
- Replace 'orphaned user detection' → 'full sync mode'
- Update config key: remove_orphaned_users → remove_users_no_longer_in_teams
- Backward compatible: old config key still works

**GitHub Actions Focus:**
- Rewrite TEAMS_QUICKSTART.md for GitHub Actions workflows
- Step-by-step guide with ready-to-use workflow file
- Emphasizes automation over local setup

**Files Changed:**
- config: Updated defaults and comments
- src/config_manager.py: New config key with backward compatibility
- src/teams_cost_center_manager.py: Renamed methods and improved log messages
- main.py: Updated feature descriptions
- README.md: Updated feature list and documentation links
- TEAMS_QUICKSTART.md: Complete rewrite for GitHub Actions
- ORPHANED_USERS_FEATURE.md → REMOVED_USERS_FEATURE.md: Renamed and updated

Breaking Changes: None (fully backward compatible)
@gmondello gmondello requested a review from a team as a code owner October 13, 2025 19:08
@Copilot Copilot AI review requested due to automatic review settings October 13, 2025 19:08
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants