Ошибка `ForbiddenError`, которую вы получаете, может быть связана с тем, что ваш API-токен или учетные данные не позволяют вам получить список всех задач (issues). Возможно, у вас не хватает прав доступа к этому ресурсу.
Тем не менее, идея получения задачи по её названию вполне рабочая, но, учитывая ограничения, лучше всего использовать фильтрацию на стороне сервера, если это возможно. В библиотеке `python-redmine` существует метод `query`, который можно использовать для поиска задач по определенным параметрам, включая заголовок (`subject`).
Вот как это можно реализовать:
```python
from redminelib import Redmine
# Подключаемся к вашему Redmine
redmine = Redmine('https://your-redmine-url', key='your-api-key')
def get_redmine_issue_by_name(subject):
"""
Получает issue, у которых название (subject) совпадает с указанной строкой.
"""
try:
# Используем метод filter для поиска по названию задачи
issues = redmine.issue.filter(subject=subject)
# Возвращаем первую найденную задачу
return issues[0] if issues else None
except Exception as e:
print(f"Error: {e}")
return None
# Пример использования
issue = get_redmine_issue_by_name("Название вашей задачи")
if issue:
print(f"Issue ID: {issue.id}")
else:
print("Задача не найдена.")
```
В этом примере:
1. Метод `issue.filter` используется для фильтрации задач по заголовку (subject).
2. Возвращается первая найденная задача, если она существует, или `None`, если задач с таким заголовком нет.
3. Обязательно настройте ваш `Redmine` объект с правильным URL и ключом API.
Пожалуйста, убедитесь, что используете корректные параметры в методе `filter` и что у вашего API-ключа есть соответствующие права для выполнения запрашиваемых действий.