DocUA commited on
Commit
303cba9
·
1 Parent(s): b2a463f

Dockerfile

Browse files
Files changed (4) hide show
  1. Dockerfile +34 -0
  2. README.md +12 -152
  3. README_.md +163 -0
  4. install.sh +14 -0
Dockerfile ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # Копіюємо файли проекту
6
+ COPY . .
7
+
8
+ # Встановлюємо залежності для роботи з графікою
9
+ RUN apt-get update && apt-get install -y \
10
+ libgl1-mesa-glx \
11
+ libglib2.0-0 \
12
+ git \
13
+ git-lfs \
14
+ ffmpeg \
15
+ libsm6 \
16
+ libxext6 \
17
+ && rm -rf /var/lib/apt/lists/* \
18
+ && git lfs install
19
+
20
+ # Встановлюємо залежності поетапно
21
+ RUN pip install --no-cache-dir --upgrade pip && \
22
+ # Базові залежності
23
+ pip install --no-cache-dir gradio==5.19.0 && \
24
+ pip install --no-cache-dir jira==3.5.2 pandas==2.1.0 numpy==1.26.0 matplotlib==3.7.2 && \
25
+ pip install --no-cache-dir seaborn==0.12.2 python-dotenv==1.0.0 markdown==3.4.4 pathlib==1.0.1 && \
26
+ pip install --no-cache-dir openai==1.12.0 httpx==0.27.0 && \
27
+ # Google Genai, ігноруючи залежність на websockets
28
+ pip install --no-build-isolation --no-deps google-genai==0.3.0
29
+
30
+ # Експортуємо порт
31
+ EXPOSE 7860
32
+
33
+ # Запускаємо додаток
34
+ CMD ["python", "app.py"]
README.md CHANGED
@@ -1,163 +1,23 @@
1
- ---
2
- title: Jira Ai Assistant
3
- emoji: 📚
4
- colorFrom: indigo
5
- colorTo: pink
6
- sdk: gradio
7
- sdk_version: 5.19.0
8
- app_file: app.py
9
- pinned: false
10
- ---
11
-
12
  # Jira AI Assistant
13
 
14
- Додаток на основі Gradio для аналізу даних Jira з використанням AI.
15
-
16
- ## Опис
17
-
18
- Jira AI Assistant - це інструмент для аналізу даних Jira, який дозволяє:
19
- - Завантажувати дані з CSV-файлів або напряму через Jira API
20
- - Генерувати статистику та візуалізації
21
- - Аналізувати дані за допомогою AI (OpenAI, Google Gemini)
22
- - Створювати звіти у різних форматах (Markdown, HTML, PDF)
23
- - Відправляти повідомлення у Slack
24
-
25
- ## Встановлення
26
-
27
- 1. Клонуйте репозиторій:
28
- ```bash
29
- git clone https://github.com/your-username/jira-ai-assistant.git
30
- cd jira-ai-assistant
31
- ```
32
-
33
- 2. Встановіть залежності:
34
- ```bash
35
- pip install -r requirements.txt
36
- ```
37
-
38
- 3. Створіть файл `.env` у корені проекту та додайте необхідні змінні середовища:
39
- ```
40
- JIRA_URL=https://your-company.atlassian.net
41
- JIRA_USERNAME=your-email@example.com
42
- JIRA_API_TOKEN=your-api-token
43
-
44
- OPENAI_API_KEY=your-openai-api-key
45
- GEMINI_API_KEY=your-gemini-api-key
46
-
47
- SLACK_BOT_TOKEN=your-slack-bot-token
48
- ```
49
-
50
- ## Використання
51
-
52
- ### Запуск додатку
53
-
54
- ```bash
55
- python app.py
56
- ```
57
-
58
- Додаток буде доступний за адресою: http://127.0.0.1:7860
59
-
60
- ### Отримання даних
61
-
62
- Існує два способи отримання даних для аналізу:
63
-
64
- 1. **Завантаження CSV-файлу**: На вкладці "CSV Аналіз" завантажте CSV-файл з експортованими даними Jira.
65
-
66
- 2. **Використання Jira API**: На вкладці "Jira API" введіть URL Jira сервера, ім'я користувача та API токен, потім вкажіть ключ проекту та опціонально ID дошки.
67
-
68
- ### Аналіз даних
69
-
70
- Після завантаження даних:
71
-
72
- 1. Налаштуйте параметри аналізу (кількість днів неактивності тощо).
73
- 2. За бажанням, додайте AI аналіз, вказавши API ключ OpenAI або Google Gemini.
74
- 3. Натисніть кнопку "Аналізувати" для виконання аналізу.
75
-
76
- ### Збереження звіту
77
-
78
- Після аналізу ви можете зберегти результати:
79
-
80
- 1. Виберіть формат звіту (Markdown, HTML, PDF).
81
- 2. За бажанням, додайте візуалізації у звіт.
82
- 3. Натисніть кнопку "Зберегти звіт" для збереження результатів.
83
-
84
- ## Розширені можливості
85
-
86
- ### Інтеграція з Slack
87
-
88
- Ви можете надсилати звіти у Slack:
89
-
90
- 1. На вкладці "Інтеграції" введіть назву каналу та текст повідомлення.
91
- 2. Виберіть звіт для прикріплення (опціонально).
92
- 3. Натисніть кнопку "Надіслати у Slack" для відправлення повідомлення.
93
-
94
- ### AI Асистенти
95
-
96
- На вкладці "AI Асистенти" ви можете:
97
-
98
- 1. Задавати питання щодо завантажених даних Jira.
99
- 2. Отримувати відповіді та рекомендації від AI.
100
- 3. Використовувати AI агентів для різних задач.
101
-
102
- ## Структура проекту
103
-
104
- ```
105
- jira-ai-assistant/
106
- ├── app.py # Головний файл додатку
107
- ├── config.py # Конфігурація додатку
108
- ├── requirements.txt # Залежності
109
- ├── README.md # Цей файл
110
- ├── assets/ # Статичні ресурси
111
- ├── data/ # Директорія для зберігання даних
112
- ├── reports/ # Директорія для зберігання звітів
113
- ├── temp/ # Тимчасові файли
114
- ├── logs/ # Логи додатку
115
- └── modules/ # Модулі додатку
116
- ├── core/ # Ядро додатку
117
- ├── data_import/ # Модуль імпорту даних
118
- ├── data_analysis/ # Модуль аналізу даних
119
- ├── ai_analysis/ # Модуль AI аналізу
120
- ├── reporting/ # Модуль звітування
121
- ├── integrations/ # Модуль інтеграцій
122
- └── rag/ # Модуль RAG
123
- ```
124
-
125
- ## Отримання API ключів
126
-
127
- ### Jira API Token
128
-
129
- 1. Увійдіть в [Atlassian Account](https://id.atlassian.com/manage-profile/security/api-tokens)
130
- 2. Натисніть "Create API token"
131
- 3. Дайте назву API токену та скопіюйте його
132
-
133
- ### OpenAI API Key
134
-
135
- 1. Увійдіть в [OpenAI Dashboard](https://platform.openai.com/account/api-keys)
136
- 2. Натисніть "Create new secret key"
137
- 3. Скопіюйте створений ключ
138
 
139
- ### Google Gemini API Key
140
 
141
- 1. Перейдіть на [Google AI Studio](https://makersuite.google.com/app/apikey)
142
- 2. Створіть новий API ключ
143
- 3. Скопіюйте створений ключ
144
 
145
- ### Slack Bot Token
146
 
147
- 1. Перейдіть на [Slack API](https://api.slack.com/apps)
148
- 2. Створіть новий додаток
149
- 3. Додайте OAuth scopes: chat:write, files:write
150
- 4. Встановіть додаток у ваш робочий простір
151
- 5. Скопіюйте Bot User OAuth Token
152
 
153
- ## Внесення змін
154
 
155
- Якщо ви хочете розширити функціонал додатку, ви можете:
156
 
157
- 1. Додати новий модуль у директорію `modules/`
158
- 2. Оновити головний файл `app.py` для включення нового функціоналу
159
- 3. Оновити файл `requirements.txt`, якщо потрібні нові залежності
160
 
161
- ## Ліцензія
162
 
163
- Цей проект поширюється під ліцензією MIT.
 
 
 
 
 
 
 
 
 
 
 
 
1
  # Jira AI Assistant
2
 
3
+ Analytics and AI assistant for Jira CSV data.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
+ ## HuggingFace Space Configuration
6
 
7
+ This project uses Docker for deployment.
 
 
8
 
9
+ ### Container Configuration
10
 
11
+ - **Docker**: Yes
12
+ - **Build Script**: `bash install.sh`
13
+ - **Port**: 7860
 
 
14
 
15
+ Or alternatively, you can use the Dockerfile directly.
16
 
17
+ ### Authentication
18
 
19
+ - **Public**: Yes
 
 
20
 
21
+ ## Usage
22
 
23
+ Upload your Jira CSV export file to analyze and get insights about your project status.
README_.md ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Jira Ai Assistant
3
+ emoji: 📚
4
+ colorFrom: indigo
5
+ colorTo: pink
6
+ sdk: gradio
7
+ sdk_version: 5.19.0
8
+ app_file: app.py
9
+ pinned: false
10
+ ---
11
+
12
+ # Jira AI Assistant
13
+
14
+ Додаток на основі Gradio для аналізу даних Jira з використанням AI.
15
+
16
+ ## Опис
17
+
18
+ Jira AI Assistant - це інструмент для аналізу даних Jira, який дозволяє:
19
+ - Завантажувати дані з CSV-файлів або напряму через Jira API
20
+ - Генерувати статистику та візуалізації
21
+ - Аналізувати дані за допомогою AI (OpenAI, Google Gemini)
22
+ - Створювати звіти у різних форматах (Markdown, HTML, PDF)
23
+ - Відправляти повідомлення у Slack
24
+
25
+ ## Встановлення
26
+
27
+ 1. Клонуйте репозиторій:
28
+ ```bash
29
+ git clone https://github.com/your-username/jira-ai-assistant.git
30
+ cd jira-ai-assistant
31
+ ```
32
+
33
+ 2. Встановіть залежності:
34
+ ```bash
35
+ pip install -r requirements.txt
36
+ ```
37
+
38
+ 3. Створіть файл `.env` у корені проекту та додайте необхідні змінні середовища:
39
+ ```
40
+ JIRA_URL=https://your-company.atlassian.net
41
+ JIRA_USERNAME=your-email@example.com
42
+ JIRA_API_TOKEN=your-api-token
43
+
44
+ OPENAI_API_KEY=your-openai-api-key
45
+ GEMINI_API_KEY=your-gemini-api-key
46
+
47
+ SLACK_BOT_TOKEN=your-slack-bot-token
48
+ ```
49
+
50
+ ## Використання
51
+
52
+ ### Запуск додатку
53
+
54
+ ```bash
55
+ python app.py
56
+ ```
57
+
58
+ Додаток буде доступний за адресою: http://127.0.0.1:7860
59
+
60
+ ### Отримання даних
61
+
62
+ Існує два способи отримання даних для аналізу:
63
+
64
+ 1. **Завантаження CSV-файлу**: На вкладці "CSV Аналіз" завантажте CSV-файл з експортованими даними Jira.
65
+
66
+ 2. **Використання Jira API**: На вкладці "Jira API" введіть URL Jira сервера, ім'я користувача та API токен, потім вкажіть ключ проекту та опціонально ID дошки.
67
+
68
+ ### Аналіз даних
69
+
70
+ Після завантаження даних:
71
+
72
+ 1. Налаштуйте параметри аналізу (кількість днів неактивності тощо).
73
+ 2. За бажанням, додайте AI аналіз, вказавши API ключ OpenAI або Google Gemini.
74
+ 3. Натисніть кнопку "Аналізувати" для виконання аналізу.
75
+
76
+ ### Збереження звіту
77
+
78
+ Після аналізу ви можете зберегти результати:
79
+
80
+ 1. Виберіть формат звіту (Markdown, HTML, PDF).
81
+ 2. За бажанням, додайте візуалізації у звіт.
82
+ 3. Натисніть кнопку "Зберегти звіт" для збереження результатів.
83
+
84
+ ## Розширені можливості
85
+
86
+ ### Інтеграція з Slack
87
+
88
+ Ви можете надсилати звіти у Slack:
89
+
90
+ 1. На вкладці "Інтеграції" введіть назву каналу та текст повідомлення.
91
+ 2. Виберіть звіт для прикріплення (опціонально).
92
+ 3. Натисніть кнопку "Надіслати у Slack" для відправлення повідомлення.
93
+
94
+ ### AI Асистенти
95
+
96
+ На вкладці "AI Асистенти" ви можете:
97
+
98
+ 1. Задавати питання щодо завантажених даних Jira.
99
+ 2. Отримувати відповіді та рекомендації від AI.
100
+ 3. Використовувати AI агентів для різних задач.
101
+
102
+ ## Структура проекту
103
+
104
+ ```
105
+ jira-ai-assistant/
106
+ ├── app.py # Головний файл додатку
107
+ ├── config.py # Конфігурація додатку
108
+ ├── requirements.txt # Залежності
109
+ ├── README.md # Цей файл
110
+ ├── assets/ # Статичні ресурси
111
+ ├── data/ # Директорія для зберігання даних
112
+ ├── reports/ # Директорія для зберігання звітів
113
+ ├── temp/ # Тимчасові файли
114
+ ├── logs/ # Логи додатку
115
+ └── modules/ # Модулі додатку
116
+ ├── core/ # Ядро додатку
117
+ ├── data_import/ # Модуль імпорту даних
118
+ ├── data_analysis/ # Модуль аналізу даних
119
+ ├── ai_analysis/ # Модуль AI аналізу
120
+ ├── reporting/ # Модуль звітування
121
+ ├── integrations/ # Модуль інтегр��цій
122
+ └── rag/ # Модуль RAG
123
+ ```
124
+
125
+ ## Отримання API ключів
126
+
127
+ ### Jira API Token
128
+
129
+ 1. Увійдіть в [Atlassian Account](https://id.atlassian.com/manage-profile/security/api-tokens)
130
+ 2. Натисніть "Create API token"
131
+ 3. Дайте назву API токену та скопіюйте його
132
+
133
+ ### OpenAI API Key
134
+
135
+ 1. Увійдіть в [OpenAI Dashboard](https://platform.openai.com/account/api-keys)
136
+ 2. Натисніть "Create new secret key"
137
+ 3. Скопіюйте створений ключ
138
+
139
+ ### Google Gemini API Key
140
+
141
+ 1. Перейдіть на [Google AI Studio](https://makersuite.google.com/app/apikey)
142
+ 2. Створіть новий API ключ
143
+ 3. Скопіюйте створений ключ
144
+
145
+ ### Slack Bot Token
146
+
147
+ 1. Перейдіть на [Slack API](https://api.slack.com/apps)
148
+ 2. Створіть новий додаток
149
+ 3. Додайте OAuth scopes: chat:write, files:write
150
+ 4. Встановіть додаток у ваш робочий простір
151
+ 5. Скопіюйте Bot User OAuth Token
152
+
153
+ ## Внесення змін
154
+
155
+ Якщо ви хочете розширити функціонал додатку, ви можете:
156
+
157
+ 1. Додати новий модуль у директорію `modules/`
158
+ 2. Оновити головний файл `app.py` для включення нового функціоналу
159
+ 3. Оновити файл `requirements.txt`, якщо потрібні нові залежності
160
+
161
+ ## Ліцензія
162
+
163
+ Цей проект поширюється під ліцензією MIT.
install.sh ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # Встановлення базових залежностей
5
+ pip install --upgrade pip
6
+ pip install gradio==5.19.0
7
+ pip install jira==3.5.2 pandas==2.1.0 numpy==1.26.0 matplotlib==3.7.2
8
+ pip install seaborn==0.12.2 python-dotenv==1.0.0 markdown==3.4.4 pathlib==1.0.1
9
+ pip install openai==1.12.0 httpx==0.27.0
10
+
11
+ # Встановлення google-genai без перевірки залежностей
12
+ pip install --no-deps google-genai==0.3.0
13
+
14
+ echo "Всі залежності встановлено успішно"