Skip to content

Migrate SSL Labs integration from API v3 to v4#6448

Draft
Copilot wants to merge 7 commits intomasterfrom
copilot/migrate-to-ssl-labs-api-v4
Draft

Migrate SSL Labs integration from API v3 to v4#6448
Copilot wants to merge 7 commits intomasterfrom
copilot/migrate-to-ssl-labs-api-v4

Conversation

Copy link
Contributor

Copilot AI commented Feb 17, 2026

  • Update SslLabsClient.java: Change API version from v3 to v4, add email constructor parameter, send email as HTTP header in analyze requests using HttpGet + httpClient.execute()
  • Update spring.xml: Add email property (ssl-labs.email) as constructor argument (index 3) for sslLabsClient bean
  • Update default.properties: Add new ssl-labs.email property (empty by default, user must configure)
  • Update SslLabsClientTests.java: Update tests to pass email parameter, mock httpClient.execute(ClassicHttpRequest)
  • Update documentation (plugin-web-app-to-rest-api.adoc): Add ssl-labs.email property to docs table with bold mandatory pattern

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 4 commits February 17, 2026 12:00
Co-authored-by: valfirst <5081226+valfirst@users.noreply.github.com>
Co-authored-by: valfirst <5081226+valfirst@users.noreply.github.com>
Co-authored-by: valfirst <5081226+valfirst@users.noreply.github.com>
Co-authored-by: valfirst <5081226+valfirst@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate to SSL Labs API v4 with email properties Migrate SSL Labs integration from API v3 to v4 Feb 17, 2026
Copilot AI requested a review from valfirst February 17, 2026 12:08
@github-actions
Copy link

github-actions bot commented Feb 17, 2026

Qodana for JVM

3 new problems were found

Inspection name Severity Problems
Incorrect constructor injection in XML Spring bean 🔴 Failure 1
Unresolved placeholders configured in the Spring XML application context 🔶 Warning 1
Unknown HTTP header ◽️ Notice 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

<constructor-arg index="2" value="${ssl-labs.api-endpoint}"/>
<constructor-arg index="3" value="${ssl-labs.email}"/>
</bean>

Check warning

Code scanning / QDJVM

Unresolved placeholders configured in the Spring XML application context Warning

Cannot resolve property key
HttpResponse response = httpClient.doHttpGet(URI.create(
HttpGet httpGet = new HttpGet(URI.create(
String.format("%s%s%s", sslLabHost, API_VERSION, String.format(ANALYZE_CALL, host))));
httpGet.addHeader("email", email);

Check notice

Code scanning / QDJVM

Unknown HTTP header Note

Unknown HTTP header
Copy link
Collaborator

@valfirst valfirst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update docs

this.jsonUtils = jsonUtils;
this.sslLabHost = sslLabHost;
this.email = Validate.notBlank(email,
"SSL Labs API v4 requires a registered email address. Please set the 'ssl-labs.email' property.");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"SSL Labs API v4 requires a registered email address. Please set the 'ssl-labs.email' property.");
"SSL Labs API v4 requires a registered email address");

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied in 27a6641.

Comment on lines 180 to 181
duration.when(() -> Duration.ofMinutes(10)).thenReturn(Duration.ZERO);
duration.when(() -> Duration.ofSeconds(30)).thenReturn(Duration.ZERO);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these mocks needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, since WAITER is a static final field already initialized by the time this test runs. Removed them in 27a6641.

…ary mocks, update docs formatting

Co-authored-by: valfirst <5081226+valfirst@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 17, 2026

update docs

Updated in 27a6641 — switched to the bold mandatory property pattern with NOTE and [subs=+quotes] consistent with other plugin docs like plugin-sauce-labs.

this.jsonUtils = jsonUtils;
this.sslLabHost = sslLabHost;
this.email = Validate.notBlank(email,
"SSL Labs API v4 requires a registered email address");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this validation

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the validation, the Validate import, and the corresponding test in 4626255.

Co-authored-by: valfirst <5081226+valfirst@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.77%. Comparing base (d914df4) to head (4626255).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##             master    #6448    +/-   ##
==========================================
  Coverage     97.77%   97.77%            
- Complexity     7397     7630   +233     
==========================================
  Files          1014     1014            
  Lines         21405    21408     +3     
  Branches       1403     1403            
==========================================
+ Hits          20928    20931     +3     
  Misses          361      361            
  Partials        116      116            

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sonarqubecloud
Copy link

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.

2 participants

Comments