Spaces:
Runtime error
Runtime error
Dockerfile
Browse files- Dockerfile +34 -0
- README.md +12 -152
- README_.md +163 -0
- 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 |
-
|
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 |
-
|
140 |
|
141 |
-
|
142 |
-
2. Створіть новий API ключ
|
143 |
-
3. Скопіюйте створений ключ
|
144 |
|
145 |
-
###
|
146 |
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
4. Встановіть додаток у ваш робочий простір
|
151 |
-
5. Скопіюйте Bot User OAuth Token
|
152 |
|
153 |
-
|
154 |
|
155 |
-
|
156 |
|
157 |
-
|
158 |
-
2. Оновити головний файл `app.py` для включення нового функціоналу
|
159 |
-
3. Оновити файл `requirements.txt`, якщо потрібні нові залежності
|
160 |
|
161 |
-
##
|
162 |
|
163 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 "Всі залежності встановлено успішно"
|