GitLab is a leading source control and CI/CD solution that offers an extensive set of features for planning, building, and delivering software projects. The platform is commonly used through its web UI or API, but this isn't ideal for developers who prefer the terminal interface. To address this, GitLab created the Glab CLI, which enables direct access to issues, merge requests, pipelines, and other resources. This article will provide a guide on the basics of using Glab.
Glab was initially created by Clement Sam as a community-led project and has since been adopted by GitLab. It received its first GitLab-led official release in December 2022, and it is an open-source tool maintained by GitLab and the community. Glab supports interactions with several GitLab features, including issues, merge requests, pipelines, releases, repositories, labels, and snippets.
Before using Glab, users must create a personal access token for their GitLab account with the api and write_repository scopes. Users can create the token by clicking on their profile icon in the top-right of the GitLab UI, selecting "Access Tokens" from the left menu, and following the prompts to create the token. Afterward, users must install Glab, which is available for download as pre-built binaries for Windows, macOS, and Linux systems, and distributed across several popular package managers. Users must also authenticate Glab to their GitLab instance by running the auth login command, which will prompt users to provide their instance details and personal access token.
Users must then cd into a directory containing a Git repository to use Glab. Glab commands will automatically select the correct GitLab instance and authentication token based on the project's default Git remote. Users can run Git and Glab commands while working on their projects, and it's possible to use Glab outside a project by setting the GITLAB_TOKEN and GITLAB_URI (or GITLAB_HOST) environment variables in their shell and specifying the --repo flag with their commands.
Glab provides several features for managing GitLab issues, including listing issues, getting detailed information about a specific issue, opening the web UI page for an issue, and creating notes or comments on issues. Users can also close and reopen issues using the close and reopen commands, respectively. Glab supports filtering flags for listing issues, and the comments will be paginated.
In summary, Glab provides a CLI interface for GitLab, enabling terminal-centric developers to access GitLab features directly. Users can create a personal access token, install Glab, authenticate it to their GitLab instance, and use it to manage issues, merge requests, pipelines, and other resources. Glab provides several features for managing GitLab issues, such as listing issues, getting detailed information, and creating notes or comments.