{"id":25332220,"url":"https://github.com/parfaitebobissepro/jiragit","last_synced_at":"2026-04-13T17:33:55.871Z","repository":{"id":275328844,"uuid":"923253238","full_name":"parfaitebobissepro/jiragit","owner":"parfaitebobissepro","description":"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. 🚀","archived":false,"fork":false,"pushed_at":"2025-08-18T21:33:31.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-18T23:32:03.092Z","etag":null,"topics":["git","gitlab","jira","task"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parfaitebobissepro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-27T22:29:58.000Z","updated_at":"2025-02-06T22:44:36.000Z","dependencies_parsed_at":"2025-03-02T13:19:51.365Z","dependency_job_id":"6cbe8cd7-545c-42f3-94a8-983b7a742235","html_url":"https://github.com/parfaitebobissepro/jiragit","commit_stats":null,"previous_names":["parfaitebobissepro/jiragit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/parfaitebobissepro/jiragit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parfaitebobissepro%2Fjiragit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parfaitebobissepro%2Fjiragit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parfaitebobissepro%2Fjiragit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parfaitebobissepro%2Fjiragit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parfaitebobissepro","download_url":"https://codeload.github.com/parfaitebobissepro/jiragit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parfaitebobissepro%2Fjiragit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31762606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","gitlab","jira","task"],"created_at":"2025-02-14T04:31:30.879Z","updated_at":"2026-04-13T17:33:55.837Z","avatar_url":"https://github.com/parfaitebobissepro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jiragit 🛠️🚀\n\nJiragit est un outil CLI permettant de faciliter l'intégration entre **Jira** et **GitLab**.\nIl propose une automatisation du workflow **Jira** et des interactions avec **GitLab**, afin de fluidifier le développement des fonctionnalités et corrections de bugs.\n\n## 📌 Installation \u0026 Lancement\n\n### 1️⃣ Installer les dépendances 📦\n```sh\npy -m pip install --upgrade pip\npy -m pip install -r requirements.txt\n```\n\n### 2️⃣ Configuration 🛠️\nRenommer `config-example.json` en `config.json` et y renseigner vos paramètres.\n\n### 3️⃣ Lancer l'application 🚀\n```sh\npython main.py\n```\n\n## 🔧 Génération d'un exécutable\n\nUtiliser **PyInstaller** pour créer un exécutable standalone :\n```sh\npyinstaller --onefile --name=jiragit --hidden-import=src --hidden-import=utils main.py\n```\nRécupérer `jiragit.exe` dans le dossier `dist/`, puis :\n1. Déplacer l'exécutable dans le répertoire souhaité.\n2. Ajouter le chemin au `PATH` :\n   ```sh\n   setx PATH \"%PATH%;C:\\chemin\\vers\\jiragit\"\n   ```\n3. Placer `config.json` dans le répertoire `%JIRAGIT_HOME%`.\n\nPour définir la variable d'environnement `%JIRAGIT_HOME%`, utilisez la commande suivante :\n```sh\nsetx JIRAGIT_HOME \"C:\\chemin\\vers\\jiragit\"\n```\n\n## ⚙️ Utilisation\n\nDans un projet **Git** initialisé, exécuter simplement la commande :\n```sh\njiragit\n```\n\nLe workflow Jira supporté par défaut est le suivant :\n\n## 🚀 Fonctionnalités\n\n### 📌 **Démarrage d'une nouvelle tâche** (Feature \u0026 Fix)\n✅ Listing des tâches du sprint en cours 📋  \n✅ Proposition de nom de branche basé sur le titre Jira 🔀  \n✅ Proposition de **stash** et **apply** 🛠️  \n✅ Pull \u0026 checkout automatique 🔄  \n✅ Déplacement automatique de la tâche Jira 📌  \n\n### 🔄 **Évolution d'une tâche en cours**\n✅ Déplacement automatique de la tâche Jira 📌  \n✅ Sélection des fichiers à commit 📂  \n✅ Push et ajout automatique de commentaires Jira 🚀  \n\n### 🎯 **Fin de tâche**\n✅ Déplacement automatique de la tâche Jira ✅  \n✅ Sélection des fichiers à commit 📂  \n✅ Création automatique d'une **Merge Request** vers GitLab 🚀  \n\n## 🛠️ Configuration\n\n### Exemple `config.json` 📝\n```json\n{\n    \"jira\": {\n        \"url\": \"https://base.atlassian.net/\",\n        \"username\": \"test@email.com\",\n        \"api_token\": \"\u003cjira_api_token\u003e\",\n        \"board_id\": \"1\",\n        \"workflow\": {\n            \"IN_PROGRESS\": \"2\",\n            \"IN_REVIEW\": \"3\"\n        },\n        \"task_status\": {\n            \"IN_PROGRESS\": \"En cours\",\n            \"IN_REVIEW\": \"Revue en cours\"\n        },\n        \"task_type_mapping\": {\n            \"Story\": \"story\",\n            \"Bug\": \"fix\",\n            \"Tâche\": \"feature\",\n            \"Epic\": \"epic\"\n        }\n    },\n    \"gitlab\": {\n        \"url\": \"https://gitlab.com/\",\n        \"token\": \"\u003cgitlab_token\u003e\",\n        \"tokens\": [\n            {\n                \"\u003cPROJECT_NAME\u003e\": \"\u003cproject_token\u003e\"\n            }\n        ]\n    }\n}\n```\n\n### 📊 Détail des propriétés\n\n| Clé                     | Description                                      |\n|-------------------------|--------------------------------------------------|\n| `jira.url`              | URL de votre instance Jira                      |\n| `jira.username`         | Adresse email associée à votre compte Jira      |\n| `jira.api_token`        | Token API Jira                                  |\n| `jira.board_id`         | ID du tableau Jira utilisé                      |\n| `jira.workflow`         | Mapping des statuts Jira pour l'automatisation  |\n| `jira.task_status`      | Traduction des statuts pour affichage           |\n| `jira.task_type_mapping`| Correspondance des types de tâches Jira         |\n| `gitlab.url`            | URL de votre instance GitLab                    |\n| `gitlab.token`          | Token global GitLab (si unique pour tous)       |\n| `gitlab.tokens`         | Liste des tokens spécifiques par projet         |\n\nℹ️ **Remarque :** Si vous utilisez un **seul token** GitLab, placez-le dans `token`. Sinon, utilisez `tokens` pour des projets spécifiques.\n\n## ✅ Effectuer les tests 🧪\n\nL'exécution des tests par **module** est recommandée, car la découverte automatique dans les sous-répertoires peut poser problème.\n\n```sh\npy -m unittest discover tests -p \"test_*.py\"\npy -m unittest discover tests/ -p \"test_*.py\" -b -v\npy -m unittest discover tests/src -p \"test_*.py\" -b -v\npy -m unittest discover tests/src/utils -p \"test_*.py\" -b -v\n```\n\n## 💡 Contribution\n\n🚀 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.  \n📢 Je ne suis pas certain de faire évoluer activement ce projet, mais vous pouvez **proposer des améliorations** et **ouvrir des issues** sur GitHub.  \n🤝 J'essaierai de résoudre les problèmes signalés et de publier des mises à jour autant que possible.\n\n## Licence\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n---\n\n🔥 **Merci d'utiliser Jiragit !** 💻🐙  \nHappy coding! 🎉","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparfaitebobissepro%2Fjiragit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparfaitebobissepro%2Fjiragit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparfaitebobissepro%2Fjiragit/lists"}