Skip to content

feat: Migrate Jira client to Cloud API v3#191

Merged
r-pedraza merged 3 commits intomasterfrom
feat/update-jira-client
Mar 31, 2026
Merged

feat: Migrate Jira client to Cloud API v3#191
r-pedraza merged 3 commits intomasterfrom
feat/update-jira-client

Conversation

@r-pedraza
Copy link
Copy Markdown
Contributor

Pull Request

📝 Summary

This pull request migrates the Jira network client from using the deprecated v2 API to the current Jira Cloud REST API v3. This change is necessary to maintain compatibility with modern Jira Cloud instances. The update includes switching to Basic Authentication and adjusting API endpoints.

🔧 Changes Made

  • Updated the authentication method from Bearer Token to Basic Auth (using email:api_token), as required by the Jira Cloud API.
  • Changed the API base path in JiraNetwork from /rest/api/2 to /rest/api/3.
  • Modified the issue search endpoint in IssueService from search to search/jql to align with API v3 standards.
  • Updated unit tests for JiraNetwork to validate the new Basic authentication header format.

🧪 Testing

  • Unit tests added/updated (poetry run pytest)
  • All tests passing (make test)
  • Manual testing with titan-dev

The unit test test_network_builds_correct_auth_header was updated to verify that the Authorization header is correctly formatted for Basic Auth using a base64-encoded email and API token.

📊 Logs

  • No new log events

✅ Checklist

  • Self-review done
  • Follows the project's logging rules (no secrets, no content in logs)
  • New and existing tests pass
  • Documentation updated if needed

@r-pedraza r-pedraza self-assigned this Mar 30, 2026
Copy link
Copy Markdown
Collaborator

@finxo finxo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plugins/titan-plugin-jira/titan_plugin_jira/workflows/analyze-jira-issues.yaml (line 14):
The workflow advertises query_name as an overridable top-level param, but this step still hardcodes query_name: "open_issues", so any caller-supplied value is ignored. Evidence:

params:
  query_name: "open_issues"
...
steps:
  - id: search_open_issues
    params:
      query_name: "open_issues"

Please wire the step to the workflow param instead of hardcoding the value, otherwise the documented override does not work.

@r-pedraza r-pedraza merged commit 233adbd into master Mar 31, 2026
5 checks passed
@finxo finxo deleted the feat/update-jira-client branch March 31, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants