dir.by  
  Search  
Programming, development, testing
Python
Python пример: "Скачиваем задачи из Redmine"
  Looked at 3113 times    
 Python пример: "Скачиваем задачи из Redmine" 
last updated: 22 June 2023
Создадим файлы:
  Файл my.py
from redminelib import Redmine

redmine_url = 'https://www.dir.by/redmine'
redmine_key = '32346f5ghuyu578yuu79c1ba1ab1c8eg3ahdeu39'
proj_id = 'book_lib'
max_tickets = 10

redmine = Redmine(redmine_url, key=redmine_key)
issues = redmine.issue.filter(
    project_id=proj_id,
    status_id='*' # use * to show all issues
)

# enum all tickets in redmine
ticket_index = 0
for issue in issues:

    # check reading count of tickets
    ticket_index = ticket_index + 1
    if ticket_index > max_tickets:
        break

    # filename
    filename = ""

    # add date to filename
    filename = filename + "(" + str(issue.created_on.year) + "_" + str(issue.created_on.month) + "_" + str(issue.created_on.day) + ")"

    # add ticket id to filename
    filename = filename + " " + str(issue.id)

    # add assign_to to filename
    if hasattr(issue, 'assigned_to'):
        filename = filename + " to " + issue.assigned_to.name

    # add estimated_hours to filename
    if hasattr(issue, 'estimated_hours'):
        filename = filename + " time " + str(issue.estimated_hours)
        
    # add ".html" to filename
    filename = filename + ".html"
    
    # full filename
    resultFile = "./tickets/" + filename

    # store data in file
    with open(resultFile, "w") as f:
        f.write("<html lang='de'><table>")
        
        f.write("<tr>")
        f.write("<td>estimated_hours</td>")
        if hasattr(issue, 'estimated_hours'):
            f.write("<td>" + str(issue.estimated_hours) + "</td>")
        f.write("</tr>")

        f.write("<tr>")
        f.write("<td>assigned_to</td>")
        if hasattr(issue, 'assigned_to'):
            f.write("<td>" + issue.assigned_to.name + "</td>")
        f.write("</tr>")

        f.write("<tr>")
        f.write("<td>subject</td>")
        f.write("<td>" + issue.subject + "</td>")
        f.write("</tr>")

        f.write("<tr>")
        f.write("<td>author</td>")
        f.write("<td>" + str(issue.author.name) + "</td>")
        f.write("</tr>")

        f.write("<tr>")
        f.write("<td>created on</td>")
        f.write("<td>" + str(issue.created_on.year) + "/" + str(issue.created_on.month) + "/" + str(issue.created_on.day) + "</td>")
        f.write("</tr>")

        f.write("<tr>")
        f.write("<td>description</td>")
        f.write("<td>" + issue.description + "</td>")
        f.write("</tr>")

        f.write("</table></html>")
  Файл my.sh
python my.py
$SHELL
exit 1
На заметку! Создайте пустую папку tickets там же, где лежат файлы
my.sh и my.py
и в папку tickets будут сохраняться задачи из Redmine
D:/
        my.py
        my.sh
        tickets
В командной строке запустим файл my.sh
  Command Prompt (Win Console)  
my.sh
В результате увидим на диске html файлы с задачами
Если у Вас ошибка: Python Error: No module named redminelib
Чтобы исправить эту ошибку в командной строке выполните команду:
  Command Prompt (Win Console)  
pip install python_redmine
в результате на ваш компьютер в Python добавится библиотека Redmine
 
← Previous topic
Python пример: "Открываем XML файл и читаем секции и сохранем в txt файл"
 
Next topic →
Python пример: "HTTP server"
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

  Объявления  
  Объявления  
 
Скачиваем и устанавливаем Python для Windows
Новое приложение
Вариант 1. Создаем новое приложение в текстовом редакторе и запускаем в командной строке
Создаем новое приложение Python в текстовом редакторе и запускаем в командной строке
Вариант 2 (для меня лучший). Создаем новое приложение в Visual Studio Code
Создаем новое приложение с Python в Visual Studio Code. Отладка приложения. Смотрим в отладке как по шагам выполняется Python
Python синтаксис, функции, классы
Как в Python проверить есть ли атрибут у объекта ?
Примеры
Python пример: "Открываем XML файл и читаем секции и сохранем в txt файл"
Python пример: "Скачиваем задачи из Redmine"
Python пример: "HTTP server"
Сайты для изучения Python
Сайты для изучения Python

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика