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

XplatGenerateReleaseNotes Not Finding Commits/Work Items Between Two Releases #1595

Closed
etherfactor opened this issue Mar 9, 2024 · 2 comments

Comments

@etherfactor
Copy link

Azure DevOps Extensions

Generate Release Notes (Node Cross Platform)

Platform

Azure DevOps Services

Azure DevOps Server (TFS) Version

No response

Extension Version

No response

Describe the bug

I created a CI pipeline producing builds connected to a release pipeline for producing documentation. The repository is located in GitHub, but the pipeline runs in DevOps.

The first release correctly pulled the list of commits and populated work items as expected. The subsequent releases have not been able to pull any work items or commits, despite there being a commit (squash) between the two.

In an attempt to track down the issue, I did manually link a work item to the build pipeline, which is where WI#76 came from. The previous run found zero associated work items.

2024-03-09T21:47:52.3455619Z Looking for the [release] in the most recent successful release [0.1.0-ci.1]
2024-03-09T21:47:52.3455989Z Found artifact [release] with build number [0.1.0-ci.1] in release [0.1.0-ci.1]
2024-03-09T21:47:52.3456457Z Checking what commits and workitems have changed from [0.1.0-ci.1][ID 72] => [0.1.0-ci.2] [ID 76]
2024-03-09T21:47:52.3456869Z Defaulting on the workaround for build API limitation (see issue #349 set 'ReleaseNotes.Fix349=false' to disable)
2024-03-09T21:47:52.3457128Z Using workaround for build API limitation (see issue #349)
2024-03-09T21:47:52.6222515Z Getting WI associated with builds between 72 to 76 to make sure we find ones manually linked to build
2024-03-09T21:47:52.8888951Z ##[debug]Checking build 76 found 1 WI
2024-03-09T21:47:52.9710923Z ##[debug]Checking build 75 found 0 WI
2024-03-09T21:47:53.0711653Z ##[debug]Checking build 74 found 0 WI
2024-03-09T21:47:53.1869008Z ##[debug]Checking build 73 found 0 WI
...
2024-03-09T21:47:53.7893937Z Adding the build [76] and its associations to the unified results object
2024-03-09T21:47:53.7894674Z Detected 0 commits/changesets between the current build and the last successful one
2024-03-09T21:47:53.7895182Z Detected  0 workitems between the current build and the last successful one

Repo Steps

  1. Use a GitHub repository with a DevOps pipeline.
  2. Link a work item to a commit using the AB# syntax.
  3. Run a build pipeline which runs a release pipeline. The task should find the work item.
  4. Link a work item to a new commit using the AB# syntax.
  5. Run a build pipeline which runs a release pipeline. The task should not find the commit, nor the work item.

Expected Behavior

The task should find the commits/work items between the two releases.

Logging Information

XplatGenerateReleaseNotes.log

@rfennell
Copy link
Owner

This is a duplicate of #1003

The issue is the first time the task is run it uses an AZDO API call that gets all the associated CS/WI with the pipeline.

All subsequent calls use getChangesBetweenBuilds - this does not support non AZDO hosted repos i.e. GitHub and BitBucket.

There is no solution to this would a major rewrite of the task logic

@etherfactor
Copy link
Author

Ahh, thanks for the clarification! Didn't realize there was already an open issue for this. Looked around for a bit previously, but evidently I didn't look hard enough.

I think I can make something work based on one of your comments, as long as I can get a yaml pipeline to kick off prior to the build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants