chaoss / chaoss/grimoirelab-perceval

Add support for Connect apps and OAuth 2/3 for Jira

Open
#649 3 comments 0 reactions 0 assignees View on GitHub
enhancement jira
Dominant language
Python
Stars
324
Forks
187
PR merge metrics
No merged PRs in 30d

Description

Hi, Perceval only supports Jira backend either as an anonymous user (without providing any credentials at all) or basic auth (via username/password pair).
- Anonymous access if often disabled on existing Jira instances.
- Basic auth is only enabled on few Jira instances, most switched to either OAuth 2/3 or Connect Apps. Additionally, basic auth is not recommended, see [here](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/) (REST API basic authentication is deprecated and will be removed in the future).

Connect apps is the newest and most recommended way of supporting authentication/authorization (it uses JWT tokens, also the Linux Foundation uses JWT token for its Linux Foundation ID (LFID) logins - many LF projects Jiras use this - example ONAP, OPNFV and many more).

Documentation for connect apps is [here](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/) and for OAuth is [here](https://developer.atlassian.com/cloud/jira/platform/oauth-2-authorization-code-grants-3lo-for-apps/)and [there](https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-oauth-authentication/).

This is an important improvement because the current state of Jira backend actually almost blocks Jira usage (it *only* works in anonymous mode or in deprecated basic auth mode which is usually disabled in most Jira instances).

Contributor guide

Open the contributing guide

Research direction

Start by reviewing Perceval’s existing Jira backend authentication path and the linked Atlassian documentation for Connect apps and OAuth. Determine the supported authentication flows and their completion criteria, then identify the relevant tests needed to verify authenticated Jira access; the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, authentication, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.