Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jira integration for release readiness #646

Open
kitallis opened this issue Sep 18, 2024 · 2 comments · May be fixed by #682
Open

Jira integration for release readiness #646

kitallis opened this issue Sep 18, 2024 · 2 comments · May be fixed by #682
Labels
gitstart tickets for GitStart to pick up

Comments

@kitallis
Copy link
Member

kitallis commented Sep 18, 2024

Context

We want to add project management as a category of integrations to Tramline. This is so that we can track tickets associated with each release and establish the completeness or readiness of the release by associating tickets and PRs/commits in a single place.

Requirements

To begin with, we'll target Jira as our first project management integration. We'll split this feature into 3 tickets:

  1. Adding a new category of "Project Management" integrations and connecting Jira with some basic queries
  2. Using this integration layer to build out a "release readiness" feature that will track tickets and labels per release
  3. Adding tokenization parameters to Tramline to pass dynamic strings to external integrations (including Jira integrations)

For this ticket, we'll only focus on #1.

Connect

  • We should add a new category of integrations called "Project Management"
  • We should allow users to connect that integration (using the Jira-preferred method of authentication)
  • In the auth flow, select a specific Jira org if you’re a member of multiple (otherwise will be pre-selected)

Setup

  • Once integrated, we should ask users to select the Jira projects we need to pull tickets from (more than one project allowed)
  • Specify any additional columns that signify a “done” state for tickets
  • Tramline should pre-select any columns marked in Jira with “done” states

Configure

  • We will allow people to setup "Release Filters"
  • These are basically key-value pairs, that represent all the labels or fix versions that will be parsed and filtered to be associated with any release.
  • For example, one can configure a release filters with "label":
    • "label: product"
    • "label: ops"
    • "label: {release_version}"
  • One can also configure release filters with "fix versions":
    • "fix_version: {release_version}"

In the above example, the {release_version} is a tokenization parameter we'd have to introduce in Tramline. Which can be a different issue (see point 3 above), and can be added later. For now, we'll just allow static strings.

API

  • Pull projects for integration connection
  • Pull "done" status columns
  • Pull tickets for projects based on configured release filters

Acceptance Criteria

  • New integration category, connection flow
  • "Configure" button that allows setting up project, done columns & release filters
  • Only backend APIs for everything else, tested via fixtures
  • Unit tests for the rest.

Additional notes

How to setup Jira

  • Under features for your Project, enable Releases: Image
  • This enables "Fix versions" for every card: Image
  • For all intents and purposes, one project can only have one board
  • States for a ticket represent columns in the board by default (at least on kanban)

References

  • Take a look at how Bitbucket works and is configured
  • The configuration for Jira setup will be on an integration / AppConfig level (not on a train level)
@kitallis kitallis added the gitstart tickets for GitStart to pick up label Oct 13, 2024
Copy link

Issue synced into GitStart. Please review, edit and hand it off to GitStart by following this link.

@kitallis kitallis moved this to In progress in Public Roadmap Nov 7, 2024
Copy link

This issue has been handed off to GitStart: https://clients.gitstart.com/tramline/11653/tickets/TRAB-646

@kitallis kitallis linked a pull request Nov 25, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gitstart tickets for GitStart to pick up
Projects
Status: Prioritized
Development

Successfully merging a pull request may close this issue.

1 participant