Add admin-directory as a built-in service alias for Admin SDK Directory API
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 82/100
Research direction
Start in src/services.rs and compare the existing admin-reports ServiceEntry with the proposed admin-directory entry. Verify that the alias resolves to admin:directory_v1 and that the documented Directory commands work; done means the new alias is available without changing existing aliases.
Written by the indexing model from the issue text.
Description
Summary
The Admin SDK Directory API (admin:directory_v1) is one of the most commonly used Google Workspace APIs for managing users, groups, and organizational units. Currently, accessing it through gws requires using the admin-reports alias with a version override:
gws admin-reports --api-version directory_v1 groups list --params '{"domain":"example.com"}'
This works but is unintuitive — admin-reports implies audit/usage reporting, not user/group management. A built-in admin-directory alias would make the CLI more discoverable and self-documenting.
Proposed Change
Add a new ServiceEntry to src/services.rs:
ServiceEntry {
aliases: &["admin-directory"],
api_name: "admin",
version: "directory_v1",
description: "Manage users, groups, and organizational units",
},
This would enable:
gws admin-directory groups list --params '{"domain":"example.com"}'
gws admin-directory members list --params '{"groupKey":"[email protected]"}'
gws admin-directory users get --params '{"userKey":"[email protected]"}'
Context
- The
admin-reportsalias already maps toadmin:reports_v1— same API name, different version - The
--api-version directory_v1workaround works correctly today - Adding this alias is backward-compatible (no existing aliases change)
- The Directory API is core to Workspace administration and used heavily for RBAC, onboarding/offboarding, and compliance workflows
- Dominant language
- Rust
- Stars
- 31.2k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from googleworkspace/cli
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
googleworkspace/cli#921 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
googleworkspace/cli#920 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
googleworkspace/cli#914 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
googleworkspace/cli#882 · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
googleworkspace/cli#858 ·
Maintainers usually reply within 1 day
All issues in googleworkspace/cli
Similar issues
-
ai_p2
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ClickHouse/ClickHouse#123351 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 92/100
github/copilot-sdk#2804 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
lance-format/lance#9655 ·
Maintainers usually reply within 2 days
-
bug language::rust router
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Vector35/binaryninja-api#8621 · 1 comment ·
Maintainers usually reply within 2 days