A terminal-based UI application for interacting with Azure DevOps, built with Go.
LazyAZ provides a convenient terminal interface to interact with Azure DevOps services. It allows you to:
- View work items
- View pull requests
- View pipeline runs
- Export to templates
- Open in browser
- Azure DevOps account
- Azure CLI installed with the Azure DevOps extension
Mac and Linux users with Homebrew installed can install lazyaz using the following command:
brew tap aldnav/tap
brew install aldnav/tap/lazyazHead on to releases page and download the binary for your platform.
az login
# If you are having trouble signing in, try this:
# az login --allow-no-subscriptions
# az login --tenant-id <tenant-id> # From one of the tenant IDs of the previous command
az devops configure --defaults organization=https://dev.azure.com/your-organization
az devops configure --defaults project=your-project
lazyaz # Or ./lazyaz.exe if on WindowsFor diagnostics, run:
lazyaz doctor-
Clone the repository:
git clone https://github.com/aldnav/lazyaz.git cd lazyaz -
Install dependencies:
go mod download
-
(Optional) Run the application with debug logging:
Enable the environment variable
LAZYAZ_DEBUG:export LAZYAZ_DEBUG=1Or run the application with debug logging:
LAZYAZ_DEBUG=1 ./lazyaz
Make sure you have logged in with Azure CLI before using the application:
az login
az devops configure --defaults organization=https://dev.azure.com/your-organization
az devops configure --defaults project=your-projectReference to az cli : https://learn.microsoft.com/en-us/azure/devops/cli/log-in-via-pat?view=azure-devops&tabs=windows
While the application now primarily uses Azure CLI for authentication, you can still set the following environment variable:
| Variable | Description | Required |
|---|---|---|
| AZURE_DEVOPS_ORG | Your Azure DevOps organization name | No (if configured in Azure CLI) |
| AZURE_DEVOPS_PROJECT | Your default Azure DevOps project | No (if configured in Azure CLI) |
You can set these environment variables in your shell:
export AZURE_DEVOPS_ORG="your-organization"
export AZURE_DEVOPS_PROJECT="your-project"Or create a .env file (make sure to add to .gitignore) and load it before running the application.
For convenience, a .env.example file is provided in the repository. You can copy this file to create your own .env:
cp .env.example .env
# Edit the .env file with your actual valuesA default configuration file is going to be generated for you if it doesn't exist already.
It is located in ~/.config/lazyaz/lazyaz.toml.
Extensions are optional and can be enabled by adding the following to your .lazyaz.toml file:
[extensions.export_to_template]
name = "Export to Template"
description = "Export a workitem to a template"
# Applies to workitems, pullrequests, pipelines
applies_to = ["workitems", "pullrequests", "pipelines"]
[extensions.open_in_browser]
name = "Open in Browser"
description = "Open in browser"
# Or applies to none (disabled)
applies_to = []To build the application:
go build -o bin/lazyazOr using just:
just buildTo run the application directly:
go run main.goTo run the built binary:
./bin/lazyazOr using just:
just runUsing the run.sh script (recommended for environment variables setup):
./run.shThis script allows you to set your Azure DevOps organization in one place and run the application. The application uses Azure CLI for authentication, so make sure you're logged in with az login before running.
To run tests:
go test ./...Or using just:
just testcmd/lazyaz/: Main application entry pointpkg/: Reusable librariesinternal/: Internal packages not meant for external use
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
