An interactive command-line interface for working with the TeamDynamix API.
- Authentication to TeamDynamix API (Production or Sandbox environments)
- People operations:
- Search for people by name, email, etc.
- Retrieve detailed person information by UID
- Look up people by username
- Get UIDs by username
- Ticket operations:
- Search for tickets with various filters
- View detailed ticket information
- View ticket history and comments
- Create new tickets
- Add comments to existing tickets
- Easy to extend with new modules and functionality
TeamDynamixAPIs/
├── teamdynamix/ # Main package
│ ├── __init__.py
│ ├── auth/ # Authentication module
│ │ ├── __init__.py
│ │ └── client.py # Authentication client
│ ├── people/ # People operations module
│ │ ├── __init__.py
│ │ ├── client.py # People API client
│ │ └── commands.py # CLI commands for people operations
│ ├── tickets/ # Tickets operations module
│ │ ├── __init__.py
│ │ ├── client.py # Tickets API client
│ │ └── commands.py # CLI commands for ticket operations
│ └── utils/ # Utility functions
│ ├── __init__.py
│ ├── cli.py # General CLI utilities
│ └── tickets.py # Ticket-specific utilities
├── teamdynamix_auth.py # Base TeamDynamix authentication class
├── teamdynamix_cli.py # Main CLI script
├── requirements.txt # Dependencies
└── .env # Environment variables (not in repo)
-
Clone the repository:
git clone <repository-url> cd TeamDynamixAPIs -
Install required packages:
pip install -r requirements.txt -
Create a
.envfile with your TeamDynamix credentials:# Copy the example file cp env.example .env # Edit .env with your credentials
Run the CLI tool:
python teamdynamix_cli.py
The tool will prompt you to:
- Select an environment (Sandbox or Production)
- Authenticate to the TeamDynamix API
- Display a menu of available operations
- Search for people by name, email, or other identifiers
- View detailed person information including custom attributes
- Look up people by username
- Get UIDs by username
- Search for tickets with filters for title, status, requestor, etc.
- View detailed ticket information
- View ticket history and comments
- Create new tickets
- Add comments to existing tickets
-
Create appropriate modules in the package structure:
- Add a client class in the relevant module (e.g.,
tickets/client.py) - Add command functions in a commands file (e.g.,
tickets/commands.py)
- Add a client class in the relevant module (e.g.,
-
Update the main CLI script to include the new functionality
- Create a new directory under the
teamdynamixpackage - Add
__init__.py,client.py, andcommands.pyfiles - Implement the API client and CLI commands
- Update the main script to include the new module
- requests: HTTP library for API requests
- pyjwt: JSON Web Token implementation
- python-dotenv: Environment variable management