Add email delivery for dependency exports
What does this MR do and why?
This MR adds a notification email when dependency list exports finish. This facilitates moving exports to an asynchronous workflow.
There are additional changes needed before this feature is complete, which will be handled outside this MR:
- Add a cron worker to delete expired exports
- Update frontend to indicate that export will be delivered via email instead of polling for status
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
-
Enable feature flags:
Feature.enable(:asynchronous_dependency_export_delivery_for_groups) Feature.enable(:asynchronous_dependency_export_delivery_for_projects)
-
Go to
http://gdk.local:3000/<project>/-/dependencies
and click the export button -
Open http://gdk.local:3000/rails/letter_opener/ and check for email
HTML email | Text email |
---|---|
![]() |
![]() |
Merge request reports
Activity
assigned to @bwill
- Resolved by 🤖 GitLab Bot 🤖
Proper labels assigned to this merge request. Please ignore me.
@bwill
- please see the following guidance and update this merge request.1 Error Please add typebug typefeature, or typemaintenance label to this merge request. Edited by 🤖 GitLab Bot 🤖
added 1 commit
- 7c95031c - Send email notification when export completes
mentioned in issue #513149 (closed)
added backend feature flag frontend labels
- Resolved by Brian Williams
5 Warnings This merge request includes more than 10 commits. Each commit should meet the following criteria: - Have a well-written commit message.
- Has all tests passing when used on its own (e.g. when using git checkout SHA).
- Can be reverted on its own without also requiring the revert of commit that came before it.
- Is small enough that it can be reviewed in isolation in under 30 minutes or so.
If this merge request contains commits that do not meet this criteria and/or contains intermediate work, please rebase these commits into a smaller number of commits or split this merge request into multiple smaller merge requests.
42df5d7b: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. 8a769637: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. f62e4ab5: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. featureaddition and featureenhancement merge requests normally have a documentation change. Consider adding a documentation update or confirming the documentation plan with the Technical Writer counterpart.
For more information, see:
- The Handbook page on merge request types.
- The definition of done documentation.
1 Message CHANGELOG missing: If this merge request needs a changelog entry, add the
Changelog
trailer to the commit message you want to add to the changelog.If this merge request doesn't need a CHANGELOG entry, feel free to ignore this message.
Reviewer roulette
Category Reviewer Maintainer backend @tgao3701908
(UTC-5, 1 hour ahead of author)
@iamricecake
(UTC+8, 14 hours ahead of author)
frontend @snachnolkar
(UTC+5.5, 11.5 hours ahead of author)
@jerasmus
(UTC+1, 7 hours ahead of author)
Please refer to documentation page for guidance on how you can benefit from the Reviewer Roulette, or use the GitLab Review Workload Dashboard to find other available reviewers.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
DangerEdited by ****added 244 commits
Toggle commit listadded 1 commit
- 24a20966 - Return all validation errors when manual vulnerability creation fails
added 2 commits
added featureenhancement label
added typefeature label
changed milestone to %17.9
- Resolved by Brian Williams
- Resolved by Brian Williams
@charlieeekroon Could you please do the initial backend review for this MR?
@svedova Could you please review frontend?
@rlehmann1 Could you please review the email text?
requested review from @svedova, @rlehmann1, and @charlieeekroon
requested review from @GitLabDuo
I have reviewed the code and left several comments, including recommendations for improving code clarity and maintainability, as well as questions about potential changes in behavior. The review covers topics such as code documentation, method refactoring, and test optimization. I estimate there is a small amount of work required to address these comments, primarily focused on code organization and documentation improvements.
Edited by GitLab Duo- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
added pipeline:mr-approved label
added pipelinetier-2 label
Hi
@rlehmann1
,GitLab Bot has added the Technical Writing label because a Technical Writer has approved or merged this MR.
This message was generated automatically. Improve it or delete it.
added Technical Writing label
mentioned in merge request !178614 (merged)
E2E Test Result Summary
allure-report-publisher
generated test report!e2e-test-on-gdk:
test report for c91869ecexpand test summary
+------------------------------------------------------------------+ | suites summary | +-------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +-------------+--------+--------+---------+-------+-------+--------+ | Plan | 164 | 0 | 16 | 0 | 180 | ✅ | | Verify | 100 | 0 | 40 | 2 | 140 | ✅ | | Create | 276 | 0 | 40 | 0 | 316 | ✅ | | Govern | 158 | 0 | 26 | 0 | 184 | ✅ | | Monitor | 16 | 0 | 24 | 0 | 40 | ✅ | | Manage | 2 | 0 | 18 | 0 | 20 | ✅ | | Package | 50 | 0 | 26 | 0 | 76 | ✅ | | Fulfillment | 4 | 0 | 14 | 0 | 18 | ✅ | | Data Stores | 66 | 0 | 20 | 0 | 86 | ✅ | | Configure | 0 | 0 | 6 | 0 | 6 | ➖ | | Growth | 0 | 0 | 4 | 0 | 4 | ➖ | | Release | 10 | 0 | 2 | 0 | 12 | ✅ | | Secure | 8 | 0 | 6 | 0 | 14 | ✅ | | Ai-powered | 0 | 0 | 4 | 0 | 4 | ➖ | | ModelOps | 0 | 0 | 2 | 0 | 2 | ➖ | | Analytics | 4 | 0 | 0 | 0 | 4 | ✅ | +-------------+--------+--------+---------+-------+-------+--------+ | Total | 858 | 0 | 248 | 2 | 1106 | ✅ | +-------------+--------+--------+---------+-------+-------+--------+
e2e-test-on-cng:
test report for c91869ecexpand test summary
+------------------------------------------------------------------+ | suites summary | +-------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +-------------+--------+--------+---------+-------+-------+--------+ | Govern | 84 | 0 | 10 | 0 | 94 | ✅ | | Plan | 86 | 0 | 8 | 0 | 94 | ✅ | | Create | 143 | 0 | 19 | 0 | 162 | ✅ | | Package | 30 | 0 | 14 | 0 | 44 | ✅ | | Fulfillment | 2 | 0 | 7 | 0 | 9 | ✅ | | Monitor | 8 | 0 | 12 | 0 | 20 | ✅ | | Manage | 1 | 0 | 9 | 0 | 10 | ✅ | | Data Stores | 33 | 0 | 10 | 0 | 43 | ✅ | | Verify | 51 | 0 | 19 | 0 | 70 | ✅ | | Analytics | 2 | 0 | 0 | 0 | 2 | ✅ | | Release | 5 | 0 | 1 | 0 | 6 | ✅ | | Secure | 2 | 0 | 5 | 0 | 7 | ✅ | | ModelOps | 0 | 0 | 1 | 0 | 1 | ➖ | | Growth | 0 | 0 | 2 | 0 | 2 | ➖ | | Configure | 0 | 0 | 3 | 0 | 3 | ➖ | | Ai-powered | 0 | 0 | 2 | 0 | 2 | ➖ | +-------------+--------+--------+---------+-------+-------+--------+ | Total | 447 | 0 | 122 | 0 | 569 | ✅ | +-------------+--------+--------+---------+-------+-------+--------+
Edited by ****- Resolved by Brian Williams
- Resolved by Savas Vedova
- Resolved by Savas Vedova
- Resolved by Savas Vedova
added pipelinetier-3 pipeline:run-e2e-omnibus-once labels and removed pipelinetier-2 label
Before you set this MR to auto-merge
This merge request will progress on pipeline tiers until it reaches the last tier: pipelinetier-3. We will trigger a new pipeline for each transition to a higher tier.
Before you set this MR to auto-merge, please check the following:
- You are the last maintainer of this merge request
- The latest pipeline for this merge request is pipelinetier-3 (You can find which tier it is in the pipeline name)
- This pipeline is recent enough (created in the last 8 hours)
If all the criteria above apply, please set auto-merge for this merge request.
See pipeline tiers and merging a merge request for more details.
@bwill I am trying to validate the MR locally, buthttp://gdk.local:3000/rails/letter_opener/
is not working for me. Is there anything I am missing?Ah, it's
http://gdk.test:3000/rails/letter_opener
instead ofhttp://gdk.local:3000/rails/letter_opener/
Edited by Charlie Kroon- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
@bwill I've noticed that there is a job failing . However, to me it looks like this has nothing to do with your changes. I've tried re-running it for now!
added 1 commit
- d267d72c - Fix typo and use relative sizing for line-height
reset approvals from @svedova by pushing to the branch
requested review from @svedova
requested review from @engwan
removed review request for @GitLabDuo
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Brian Williams
- Resolved by Heinrich Lee Yu
added 1504 commits
-
c8f4fa5e...67a4e540 - 1490 commits from branch
master
- 67a4e540...0553b168 - 4 earlier commits
- 7db4122a - Add localization text for dependency exports
- 0866bbe8 - Fix ExportService tests
- 94f82794 - Fix email delivery
- 8e3c6a1b - Improve email body
- 6f28384b - Fix email delivery tests
- 2fe43dd2 - Add link expiration text to email
- 1ba0385a - Improve email wording
- e56f98f0 - Fix typo and use relative sizing for line-height
- 70d13a4a - Add namespace to translations
- cb19e669 - Link to export target in email
Toggle commit list-
c8f4fa5e...67a4e540 - 1490 commits from branch
reset approvals from @svedova by pushing to the branch
- Resolved by Brian Williams
added 348 commits
-
cb19e669...04ca44ca - 333 commits from branch
master
- 04ca44ca...6bca93a3 - 5 earlier commits
- 5168d543 - Fix ExportService tests
- d8bf7f25 - Fix email delivery
- 59ee79d8 - Improve email body
- 83f9d364 - Fix email delivery tests
- 2244d744 - Add link expiration text to email
- 9f8adaca - Improve email wording
- cad4fad0 - Fix typo and use relative sizing for line-height
- 8a769637 - Add namespace to translations
- 42df5d7b - Link to export target in email
- c91869ec - Fix tests and HTML rendering
Toggle commit list-
cb19e669...04ca44ca - 333 commits from branch
requested review from @engwan
- Resolved by Heinrich Lee Yu
started a merge train
mentioned in commit 5e3f52dc
added workflowstaging-canary label
added workflowcanary label and removed workflowstaging-canary label
added workflowstaging label and removed workflowcanary label
added workflowproduction label and removed workflowstaging label
added workflowpost-deploy-db-staging label and removed workflowproduction label
added workflowpost-deploy-db-production label and removed workflowpost-deploy-db-staging label
mentioned in merge request !178958 (merged)