All checks were successful
Check go code / build-and-release (push) Successful in 1m2s
Reviewed-on: #6 Co-authored-by: Julien Fastré <julien.fastre@champs-libres.coop> Co-committed-by: Julien Fastré <julien.fastre@champs-libres.coop>
87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
# CL-cli utility
|
|
|
|
Provide a CLI interface for several recurring tasks for Champs-Libres
|
|
|
|
Currently:
|
|
|
|
- convert a gitlab issue to a work package
|
|
|
|
## Install
|
|
|
|
There are two components to install:
|
|
|
|
- a firefox add-ons;
|
|
- some binaries on the host machine
|
|
|
|
### Install firefox add-on
|
|
|
|
Using firefox, download the `.xpi` file from the [release page](https://gitea.champs-libres.be/julienfastre/cl-cli/releases) of the `julienfastre/cl-cli` repository.
|
|
|
|
### Install cl-cli binaries
|
|
|
|
#### Using package manager
|
|
|
|
A debian package is published and stored on gitea.
|
|
|
|
|
|
|
|
```bash
|
|
# download the gpg key
|
|
sudo curl https://gitea.champs-libres.be/api/packages/julienfastre/debian/repository.key -o /etc/apt/keyrings/gitea-julienfastre.asc
|
|
|
|
# add the package repository. You must adapt the $distribution (see below)
|
|
echo "deb [signed-by=/etc/apt/keyrings/gitea-julienfastre.asc] https://gitea.champs-libres.be/api/packages/julienfastre/debian $distribution main" | sudo tee -a /etc/apt/sources.list.d/gitea.list
|
|
|
|
# update
|
|
sudo apt update
|
|
|
|
# install
|
|
sudo apt install cl-cli
|
|
```
|
|
|
|
Available distributions:
|
|
|
|
- Ubuntu 24..04: noble
|
|
- Ubuntu 25.04: plucky
|
|
- Ubuntu: 25.10: questing
|
|
|
|
**Note:** The package is very simple, there are very few dependencies, and there isn't any difference between them for now.
|
|
|
|
|
|
## Configure
|
|
|
|
Copy the file [config.toml.dist](./config.toml.dist) as a template, and
|
|
save it at the path `$HOME/.config/cl-cli/config.toml`:
|
|
|
|
```bash
|
|
mkdir -p $HOME/.config/cl-cli
|
|
cp config.toml $HOME/.config/cl-cli/config.toml
|
|
editor $HOME/.config/cl-cli/config.toml
|
|
```
|
|
|
|
Then, fill it with the required configuration options:
|
|
|
|
- gitea personal access token:
|
|
|
|

|
|
- Gitlab: [Create an access token](https://gitlab.com/-/user_settings/personal_access_tokens?name=cl-cli&scopes=api,read_user) With the "api" and "read_user" scopes
|
|
- [Openproject](https://champs-libres.openproject.com/my/access_tokens)
|
|
|
|
|
|
## Usage as CLI
|
|
|
|
### Convert a gitlab issue into a work package
|
|
|
|
```bash
|
|
cl-cli planning i2work https://gitlab.com/Chill-Projet/chill-bundles/-/issues/240 chill
|
|
```
|
|
|
|
Where:
|
|
|
|
- `https://gitlab.com/Chill-Projet/chill-bundles/-/issues/240` is the URL of the issue
|
|
- `chill` is the identifier of the project in openproject (see the identifier
|
|
in the URL like the page "Vue globale": https://champs-libres.openproject.com/projects/chill/, or
|
|
see it there: https://champs-libres.openproject.com/projects/chill/identifier (Paramètres du projet / changer
|
|
l'identifiant (bouton en haut)))
|
|
|