Skip to content

Remove Microsoft Graph Configuration Caching#8910

Merged
sanjacornelius merged 2 commits into
epic/FOUR-32115from
observation/FOUR-32273
Jul 16, 2026
Merged

Remove Microsoft Graph Configuration Caching#8910
sanjacornelius merged 2 commits into
epic/FOUR-32115from
observation/FOUR-32273

Conversation

@sanjacornelius

@sanjacornelius sanjacornelius commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Issue & Reproduction Steps

This PR resolves an issue where Send Test Email continued to succeed even after the required Microsoft Graph configuration values (Tenant ID, Client ID, and Client Secret) were cleared.

The issue was caused by cached Microsoft Graph configuration values being used instead of the current Email Server configuration. This PR removes the configuration caching so the latest values are always used when sending emails.

Solution

  • Removed configuration caching for Microsoft Graph.
  • Updated the Microsoft Graph mail transport to always use the current Email Server configuration.
  • Ensures missing or invalid credentials are detected immediately rather than falling back to previously cached values.

How to Test

  1. Create a new Email Server using the Microsoft Graph driver.
  2. Configure all required Microsoft Graph settings.
  3. Send a Test Email.
  4. Verify the email is sent successfully.
  5. Clear the Client ID, Tenant ID, and Client Secret fields.
  6. Save the Email Server configuration.
  7. Send another Test Email.
  8. Verify an error is displayed indicating the Microsoft Graph configuration is invalid or incomplete.

Related Tickets & Packages

ci:connector-send-email:epic/FOUR-32115
ci:deploy

Code Review Checklist

  • I have pulled this code locally and tested it on my instance, along with any associated packages.
  • This code adheres to ProcessMaker Coding Guidelines.
  • This code includes a unit test or an E2E test that tests its functionality, or is covered by an existing test.
  • This solution fixes the bug reported in the original ticket.
  • This solution does not alter the expected output of a component in a way that would break existing Processes.
  • This solution does not implement any breaking changes that would invalidate documentation or cause existing Processes to fail.
  • This solution has been tested with enterprise packages that rely on its functionality and does not introduce bugs in those packages.
  • This code does not duplicate functionality that already exists in the framework or in ProcessMaker.
  • This ticket conforms to the PRD associated with this part of ProcessMaker.

Drop the use of Illuminate\Support\Facades\Cache and the Cache::remember call so getAccessToken always calls requestAccessToken.
@processmaker-sonarqube

Copy link
Copy Markdown

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

@vladyrichter

Copy link
Copy Markdown

QA server K8S was successfully deployed https://ci-bf69eaeb90.engk8s.processmaker.net

@sanjacornelius
sanjacornelius merged commit 5d99a66 into epic/FOUR-32115 Jul 16, 2026
10 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants