https://github.com/parfaitebobissepro/jiragit
Jiragit est un outil CLI facilitant l'intégration entre Jira et Git. Il automatise le workflow Jira et les interactions Git pour optimiser le développement des fonctionnalités et corrections de bugs. 🚀
https://github.com/parfaitebobissepro/jiragit
git gitlab jira task
Last synced: 2 months ago
JSON representation
Jiragit est un outil CLI facilitant l'intégration entre Jira et Git. Il automatise le workflow Jira et les interactions Git pour optimiser le développement des fonctionnalités et corrections de bugs. 🚀
- Host: GitHub
- URL: https://github.com/parfaitebobissepro/jiragit
- Owner: parfaitebobissepro
- Created: 2025-01-27T22:29:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-18T21:33:31.000Z (10 months ago)
- Last Synced: 2025-08-18T23:32:03.092Z (10 months ago)
- Topics: git, gitlab, jira, task
- Language: Python
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jiragit 🛠️🚀
Jiragit est un outil CLI permettant de faciliter l'intégration entre **Jira** et **GitLab**.
Il propose une automatisation du workflow **Jira** et des interactions avec **GitLab**, afin de fluidifier le développement des fonctionnalités et corrections de bugs.
## 📌 Installation & Lancement
### 1️⃣ Installer les dépendances 📦
```sh
py -m pip install --upgrade pip
py -m pip install -r requirements.txt
```
### 2️⃣ Configuration 🛠️
Renommer `config-example.json` en `config.json` et y renseigner vos paramètres.
### 3️⃣ Lancer l'application 🚀
```sh
python main.py
```
## 🔧 Génération d'un exécutable
Utiliser **PyInstaller** pour créer un exécutable standalone :
```sh
pyinstaller --onefile --name=jiragit --hidden-import=src --hidden-import=utils main.py
```
Récupérer `jiragit.exe` dans le dossier `dist/`, puis :
1. Déplacer l'exécutable dans le répertoire souhaité.
2. Ajouter le chemin au `PATH` :
```sh
setx PATH "%PATH%;C:\chemin\vers\jiragit"
```
3. Placer `config.json` dans le répertoire `%JIRAGIT_HOME%`.
Pour définir la variable d'environnement `%JIRAGIT_HOME%`, utilisez la commande suivante :
```sh
setx JIRAGIT_HOME "C:\chemin\vers\jiragit"
```
## ⚙️ Utilisation
Dans un projet **Git** initialisé, exécuter simplement la commande :
```sh
jiragit
```
Le workflow Jira supporté par défaut est le suivant :
## 🚀 Fonctionnalités
### 📌 **Démarrage d'une nouvelle tâche** (Feature & Fix)
✅ Listing des tâches du sprint en cours 📋
✅ Proposition de nom de branche basé sur le titre Jira 🔀
✅ Proposition de **stash** et **apply** 🛠️
✅ Pull & checkout automatique 🔄
✅ Déplacement automatique de la tâche Jira 📌
### 🔄 **Évolution d'une tâche en cours**
✅ Déplacement automatique de la tâche Jira 📌
✅ Sélection des fichiers à commit 📂
✅ Push et ajout automatique de commentaires Jira 🚀
### 🎯 **Fin de tâche**
✅ Déplacement automatique de la tâche Jira ✅
✅ Sélection des fichiers à commit 📂
✅ Création automatique d'une **Merge Request** vers GitLab 🚀
## 🛠️ Configuration
### Exemple `config.json` 📝
```json
{
"jira": {
"url": "https://base.atlassian.net/",
"username": "test@email.com",
"api_token": "",
"board_id": "1",
"workflow": {
"IN_PROGRESS": "2",
"IN_REVIEW": "3"
},
"task_status": {
"IN_PROGRESS": "En cours",
"IN_REVIEW": "Revue en cours"
},
"task_type_mapping": {
"Story": "story",
"Bug": "fix",
"Tâche": "feature",
"Epic": "epic"
}
},
"gitlab": {
"url": "https://gitlab.com/",
"token": "",
"tokens": [
{
"": ""
}
]
}
}
```
### 📊 Détail des propriétés
| Clé | Description |
|-------------------------|--------------------------------------------------|
| `jira.url` | URL de votre instance Jira |
| `jira.username` | Adresse email associée à votre compte Jira |
| `jira.api_token` | Token API Jira |
| `jira.board_id` | ID du tableau Jira utilisé |
| `jira.workflow` | Mapping des statuts Jira pour l'automatisation |
| `jira.task_status` | Traduction des statuts pour affichage |
| `jira.task_type_mapping`| Correspondance des types de tâches Jira |
| `gitlab.url` | URL de votre instance GitLab |
| `gitlab.token` | Token global GitLab (si unique pour tous) |
| `gitlab.tokens` | Liste des tokens spécifiques par projet |
ℹ️ **Remarque :** Si vous utilisez un **seul token** GitLab, placez-le dans `token`. Sinon, utilisez `tokens` pour des projets spécifiques.
## ✅ Effectuer les tests 🧪
L'exécution des tests par **module** est recommandée, car la découverte automatique dans les sous-répertoires peut poser problème.
```sh
py -m unittest discover tests -p "test_*.py"
py -m unittest discover tests/ -p "test_*.py" -b -v
py -m unittest discover tests/src -p "test_*.py" -b -v
py -m unittest discover tests/src/utils -p "test_*.py" -b -v
```
## 💡 Contribution
🚀 Ce projet, dans sa **première version**, répond à un besoin spécifique et simple. Vous pouvez **le fork** et l'utiliser comme **base** pour votre propre outil.
📢 Je ne suis pas certain de faire évoluer activement ce projet, mais vous pouvez **proposer des améliorations** et **ouvrir des issues** sur GitHub.
🤝 J'essaierai de résoudre les problèmes signalés et de publier des mises à jour autant que possible.
## Licence
[MIT](https://choosealicense.com/licenses/mit/)
---
🔥 **Merci d'utiliser Jiragit !** 💻🐙
Happy coding! 🎉