Skip to content
Snippets Groups Projects

Add email delivery for dependency exports

Merged Brian Williams requested to merge bwill/add-email-delivery-for-dependency-exports into master
All threads resolved!

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:

  1. Add a cron worker to delete expired exports
  2. 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.

  1. Enable feature flags:

    Feature.enable(:asynchronous_dependency_export_delivery_for_groups)
    Feature.enable(:asynchronous_dependency_export_delivery_for_projects)
  2. Go to http://gdk.local:3000/<project>/-/dependencies and click the export button

  3. Open http://gdk.local:3000/rails/letter_opener/ and check for email

HTML email Text email
Screenshot_2025-01-21_at_10.26.17_AM Screenshot_2025-01-21_at_10.26.38_AM
Edited by Brian Williams

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • 5 Warnings
    :warning: This merge request includes more than 10 commits. Each commit should meet the following criteria:
    1. Have a well-written commit message.
    2. Has all tests passing when used on its own (e.g. when using git checkout SHA).
    3. Can be reverted on its own without also requiring the revert of commit that came before it.
    4. 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.

    :warning: 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.
    :warning: 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.
    :warning: 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.
    :warning:

    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:

    1 Message
    :book: 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 profile link current availability (UTC-5, 1 hour ahead of author) @iamricecake profile link current availability (UTC+8, 14 hours ahead of author)
    frontend @snachnolkar profile link current availability (UTC+5.5, 11.5 hours ahead of author) @jerasmus profile link current availability (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 :repeat: danger-review job that generated this comment.

    Generated by :no_entry_sign: Danger

    Edited by ****
  • Brian Williams added 244 commits

    added 244 commits

    • 7c95031c...6a7615de - 239 commits from branch master
    • e87123c4 - Send email notification when export completes
    • 05b2fd38 - Add export email body
    • 4eb6fb10 - Add tests for export emails
    • 30fafa63 - Move export email delivery to Sbom::ExportMailer
    • d681f92e - Add localization text for dependency exports

    Compare with previous version

  • Brian Williams added 1 commit

    added 1 commit

    Compare with previous version

  • Brian Williams added 1 commit

    added 1 commit

    • 24a20966 - Return all validation errors when manual vulnerability creation fails

    Compare with previous version

  • Brian Williams marked this merge request as ready

    marked this merge request as ready

  • Brian Williams changed title from Draft: Bwill/add email delivery for dependency exports to Add email delivery for dependency exports

    changed title from Draft: Bwill/add email delivery for dependency exports to Add email delivery for dependency exports

  • Brian Williams changed the description

    changed the description

  • Brian Williams added 2 commits

    added 2 commits

    Compare with previous version

  • Brian Williams changed the description

    changed the description

  • Brian Williams changed milestone to %17.9

    changed milestone to %17.9

  • Brian Williams changed the description

    changed the description

  • Brian Williams
  • Brian Williams added 1 commit

    added 1 commit

    Compare with previous version

  • requested review from @svedova, @rlehmann1, and @charlieeekroon

  • Brian Williams requested review from @GitLabDuo

    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.

    · Leave feedback
    Edited by GitLab Duo
  • GitLab Duo
  • GitLab Duo
  • GitLab Duo
  • GitLab Duo
  • Brian Williams changed the description

    changed the description

  • Brian Williams added 1 commit

    added 1 commit

    • b7f4d81a - Add link expiration text to email

    Compare with previous version

  • Brian Williams added 1 commit

    added 1 commit

    Compare with previous version

  • Ryan Lehmann approved this merge request

    approved this merge request

  • Hi @rlehmann1 :wave:,

    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.

  • Brian Williams added 1 commit

    added 1 commit

    Compare with previous version

  • Brian Williams mentioned in merge request !178614 (merged)

    mentioned in merge request !178614 (merged)

  • E2E Test Result Summary

    allure-report-publisher generated test report!

    e2e-test-on-gdk: :white_check_mark: test report for c91869ec

    expand 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: :white_check_mark: test report for c91869ec

    expand 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 ****
  • Savas Vedova
  • Savas Vedova
  • Savas Vedova
  • Savas Vedova approved this merge request

    approved this merge request

  • 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, but http://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 of http://gdk.local:3000/rails/letter_opener/

    Edited by Charlie Kroon
  • Charlie Kroon
  • Charlie Kroon approved this merge request

    approved this merge request

  • @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!

  • Brian Williams added 1 commit

    added 1 commit

    • d267d72c - Fix typo and use relative sizing for line-height

    Compare with previous version

  • Brian Williams reset approvals from @svedova by pushing to the branch

    reset approvals from @svedova by pushing to the branch

  • Brian Williams requested review from @svedova

    requested review from @svedova

  • Brian Williams requested review from @engwan

    requested review from @engwan

  • Brian Williams added 1 commit

    added 1 commit

    • c8f4fa5e - Add namespace to translations

    Compare with previous version

  • Brian Williams removed review request for @GitLabDuo

    removed review request for @GitLabDuo

  • Heinrich Lee Yu
  • Savas Vedova approved this merge request

    approved this merge request

  • Brian Williams added 1504 commits

    added 1504 commits

    Compare with previous version

  • Brian Williams reset approvals from @svedova by pushing to the branch

    reset approvals from @svedova by pushing to the branch

  • Brian Williams added 348 commits

    added 348 commits

    Compare with previous version

  • Brian Williams requested review from @engwan

    requested review from @engwan

  • Heinrich Lee Yu resolved all threads

    resolved all threads

  • Heinrich Lee Yu approved this merge request

    approved this merge request

  • Heinrich Lee Yu resolved all threads

    resolved all threads

  • Heinrich Lee Yu enabled automatic add to merge train when checks pass

    enabled automatic add to merge train when checks pass

  • Heinrich Lee Yu mentioned in commit 5e3f52dc

    mentioned in commit 5e3f52dc

  • added workflowstaging label and removed workflowcanary label

  • Brian Williams mentioned in merge request !178958 (merged)

    mentioned in merge request !178958 (merged)

  • Please register or sign in to reply
    Loading