Jira python oauth: как получить параметры для аутентификации?

Я пытаюсь использовать oauth для доступа к jira, и я читаю этот документ: Добро пожаловать в документацию jira-python.

Но в этой части oauth я не могу понять, как я могу получить эти параметры:

access_token, access_token_secret, consumer_key, key_cert

Ответ 1

Я тоже использую jira-python. Поскольку jira-python использует requests и requests-oauthlib Я использовал те же библиотеки для реализации танца OAuth 1, необходимого для получения жетонов.

Сначала настройте JIRA:

  • Создайте пару общедоступных/закрытых ключей RSA (в итоге вы получите файлы rsa.pub и rsa.pem). Вашему коду Python потребуется доступ к закрытому ключу rsa.pem.
  • Настройте приложение JIRA (сделанное в JIRA-админе в разделе "Связи приложений" ) с "Incoming Authentication" и используйте открытый ключ, сгенерированный выше. Здесь вы указываете consumer_key, необходимый jira-python

Далее, танец OAuth. Это довольно просто с OAuth1Session от requests-oauthlib. Вот простой пример (CLI): JIRA Oauth на Python.

Рабочий процесс описан в requests-oauthlib docs: OAuth 1 Workflow.

Итак, суммируем:

  • access_token - Получено в конце рабочего процесса OAuth 1.
  • access_token_secret - Получено в конце рабочего процесса OAuth 1.
  • consumer_key - указывается при настройке "Application Link" в администраторе JIRA.
  • key_cert - содержимое файла rsa.pem (закрытый ключ). Открытый ключ также добавляется при настройке "Application Link" в администраторе JIRA.

Ответ 2

Сначала вам нужно добавить ссылку на приложение JIRA для вашего приложения: https://confluence.atlassian.com/display/JIRA060/Configuring+Application+Links

В случае, когда приложение, обращающееся к JIRA, не является веб-приложением, вы можете использовать произвольный URL-адрес в качестве URL-адреса приложения, но этот URL-адрес будет использоваться для извлечения значка приложения при его отображении в списке приложений в административном интерфейсе JIRA.

Тогда вам нужно будет сделать так называемый "oauth dance", чтобы получить токен OAuth и соответствующий ему секрет. Пожалуйста, ознакомьтесь с примерами Atlassian здесь: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples/src

Эти примеры в основном охватывают сам танец, в то время как аутентификация с использованием токена OAuth + secret (которая получена во время танца) документируется здесь: http://jira.readthedocs.io/en/latest/examples.html#oauth. Надеюсь, это поможет.

По крайней мере, это сработало для меня (также в Python для моего случая).:)

Ответ 3

К сожалению, другие ответы не работают с Python 3. Я обнаружил, что https://github.com/rkadam/jira-oauth-generator полностью охватывает Jira OAuth в Python 3.