Project

General

Profile

Actions

Idea #18300

closed

[art] Write script for Redmine that associates tickets with a release

Added by Ward Vandewege over 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Story points:
-

Description

Write a script that uses the redmine API to:

  1. walks the list of git merge commits between two revisions/tags
  2. extracts ticket numbers from those commits
  3. if the ticket has not been associated with a particular release yet, associates it with a given redmine release

Subtasks 1 (0 open1 closed)

Task #18367: review 18300-release-ticket-associationResolvedPeter Amstutz11/12/2021Actions

Related issues

Related to Arvados - Idea #18093: [art] Write script for Redmine that creates a new release process ticketResolvedWard Vandewege11/18/2021Actions
Actions #1

Updated by Peter Amstutz over 2 years ago

  • Target version changed from 2021-10-27 sprint to 2021-11-10 sprint
Actions #2

Updated by Ward Vandewege over 2 years ago

  • Target version changed from 2021-11-10 sprint to 2021-11-24 sprint
Actions #3

Updated by Ward Vandewege over 2 years ago

Ready for review at commit:96f272678908e3cba4466d924921e5037675ba94 on branch 18300-release-ticket-association in repository arvados-dev.

Actions #4

Updated by Peter Amstutz over 2 years ago

If I understand correctly, what this does is:

  • Starting from a tag, go through the whole history of commits that contribute to that tag, and mark them all as "excluded"
  • Starting from another commit (e.g. HEAD) go through the whole history of commits that are not already "excluded"
  • For every merge commit, find a reference to a redmine ticket number
  • Go through all the ticket numbers and assign them to the release
Actions #5

Updated by Ward Vandewege over 2 years ago

Peter Amstutz wrote:

If I understand correctly, what this does is:

  • Starting from a tag, go through the whole history of commits that contribute to that tag, and mark them all as "excluded"
  • Starting from another commit (e.g. HEAD) go through the whole history of commits that are not already "excluded"

Yes, this is the equivalent of e.g. `git log 067a68b5e9dfa1c7d5e68fd64553e0ced89cad36..HEAD`, where 067a68b5e9dfa1c7d5e68fd64553e0ced89cad36 is the tag for the 2.3.0 release.

  • For every merge commit, find a reference to a redmine ticket number
  • Go through all the ticket numbers and assign them to the release

Yes, but only if they have not been assigned yet to another release.

By default the user is prompted with details for each issue found that is not already assigned to the desired release and given the choice to assign it to the release or not. This happens when the issue is not asssigned to a release yet, and when it is assigned to another release.

There is also a cli flag to assign unassigned tickets to the release without prompting.

Actions #6

Updated by Peter Amstutz over 2 years ago

A dry run mode would be nice.

But, I was able to use it to collect and assign tickets to 2.3.0 and 2.2.2, so it definitely works. LGTM!

Actions #7

Updated by Ward Vandewege over 2 years ago

Peter Amstutz wrote:

A dry run mode would be nice.

But, I was able to use it to collect and assign tickets to 2.3.0 and 2.2.2, so it definitely works. LGTM!

Thanks, merged!

Actions #8

Updated by Ward Vandewege over 2 years ago

  • Status changed from In Progress to Resolved
Actions #9

Updated by Ward Vandewege about 2 years ago

  • Subject changed from Write script for Redmine that associates tickets with a release to [art] Write script for Redmine that associates tickets with a release
Actions

Also available in: Atom PDF