Skip to content

Conversation

@krishagarwal278
Copy link
Member

@krishagarwal278 krishagarwal278 commented Feb 2, 2026

Summary by CodeRabbit

Release Notes

  • Bug Fixes

    • Improved handling of custom Git service URLs with different schemes (HTTP/HTTPS) and non-default ports for Bitbucket Server, GitHub Enterprise, and GitLab instances.
  • Tests

    • Added test coverage verifying correct URL scheme and port preservation across Git service integrations.

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 2, 2026
@openshift-ci-robot
Copy link
Contributor

@krishagarwal278: This pull request references Jira Issue OCPBUGS-74937, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested review from cajieh and spadgett February 2, 2026 19:21
@openshift-ci openshift-ci bot added the component/git-service Related to git-service label Feb 2, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 2, 2026

📝 Walkthrough

Walkthrough

This pull request updates the Git service implementations to preserve URL scheme and port information from configured git source URLs. Previously, Bitbucket, GitHub, and GitLab service classes hard-coded HTTPS protocol when constructing API endpoints for non-standard hosts. The changes introduce runtime URL parsing to extract the protocol and port from the configured git source, enabling support for HTTP-based connections and non-default ports. Corresponding test cases are added to verify scheme and port preservation for each service implementation.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly describes the primary change: removing forced HTTPS/443 enforcement for Git provider integrations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@frontend/packages/git-service/src/services/github-service.ts`:
- Around line 65-72: The current GitUrlParse handling uses protocols?.[0]
directly which can be 'ssh' and produces broken API hosts; update the protocol
selection in github-service.ts (and mirror the same change in gitlab-service.ts)
to only accept 'http' or 'https' — e.g., derive protocol from
GitUrlParse(this.gitsource.url).protocols but if protocols?.[0] is not 'http' or
'https' then set protocol to 'https' (so the protocol variable used in the host
construction always becomes 'http' or 'https'); leave the host construction and
contextDir logic (host = port ? `${protocol}://${resource}:${port}` :
`${protocol}://${resource}` and contextDir =
this.gitsource.contextDir?.replace(/\/$/, '') || '') unchanged.

In `@frontend/packages/git-service/src/services/gitlab-service.ts`:
- Around line 81-86: The protocol chosen from GitUrlParse (protocols?.[0]) can
be "ssh" and must be validated before building the API host; update the logic
around the protocol and host construction in gitlab-service.ts (the
variables/properties: GitUrlParse, protocols, protocol, host) to only accept
'http' or 'https' values and otherwise default to 'https' so SSH or other
schemes don’t become the API protocol; keep the rest of host construction (using
port/resource) unchanged and ensure any downstream GitLab API client uses this
validated protocol value.

Comment on lines 81 to 86
const { name, owner, protocols, port, resource, full_name: fullName } = GitUrlParse(
this.gitsource.url,
);
const contextDir = removeLeadingSlash(this.gitsource.contextDir);
const host = `https://${resource}`;
const protocol = protocols?.[0] || 'https';
const host = port ? `${protocol}://${resource}:${port}` : `${protocol}://${resource}`;
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, let's find the file and examine the code context
fd gitlab-service.ts

Repository: openshift/console

Length of output: 121


🏁 Script executed:

# Let's also check for git-url-parse in package.json files to understand the version
rg "git-url-parse" --type json

Repository: openshift/console

Length of output: 609


🌐 Web query:

git-url-parse npm protocols field ssh url behavior

💡 Result:

In the git-url-parse (IonicaBizau) npm package, the returned fields behave like this:

  • protocols: an array of the URL schemes that were explicitly present in the input string (and split on + when applicable). For a normal HTTPS URL you’ll typically see one entry, e.g. ["https"]. (skypack.dev)
  • SCP-like SSH remotes (e.g. git@github.com:owner/repo.git) have no explicit scheme, so protocols comes back empty ([]), even though the URL is treated as SSH. (npm.io)
  • protocol: the effective git transport protocol inferred/used by the parser. For SCP-like SSH inputs it returns "ssh" (despite protocols: []). (npm.io)

This matches Git’s own rule: the user@host:path “scp-like” form is an SSH URL syntax, just without an ssh:// scheme prefix. (git-scm.com)

Citations:


🏁 Script executed:

# View the file with more context
cat -n frontend/packages/git-service/src/services/gitlab-service.ts | head -100

Repository: openshift/console

Length of output: 3486


🏁 Script executed:

# Check for tests related to this service
find frontend/packages/git-service -name "*.test.*" -o -name "*.spec.*" | head -20

Repository: openshift/console

Length of output: 760


🏁 Script executed:

# Search for how this GitLab service is instantiated/called to understand URL inputs
rg "GitLabService\|gitsource\.url" frontend/packages/git-service/src --type ts -A 2 -B 2

Repository: openshift/console

Length of output: 43


🏁 Script executed:

# Check the gitlab-service test file to understand usage patterns
cat -n frontend/packages/git-service/src/services/__tests__/gitlab-service.spec.ts | head -150

Repository: openshift/console

Length of output: 6275


🏁 Script executed:

# Search for GitSource definitions and how URLs are passed to the service
rg "GitSource|gitsource.*=" frontend/packages/git-service/src --type ts -B 1 -A 3 | head -60

Repository: openshift/console

Length of output: 4340


🏁 Script executed:

# Check if there are any tests or usage with SSH URLs
rg "git@|ssh://" frontend/packages/git-service/src --type ts

Repository: openshift/console

Length of output: 43


🏁 Script executed:

# Check other git service implementations to see if they handle this the same way
cat -n frontend/packages/git-service/src/services/github-service.ts | sed -n '60,100p'

Repository: openshift/console

Length of output: 1518


🏁 Script executed:

# Look at the type definition of GitSource
rg "type GitSource|interface GitSource" frontend/packages/git-service/src --type ts -A 10

Repository: openshift/console

Length of output: 790


🏁 Script executed:

# Let's check if there's any validation or documentation about accepted URL formats
rg "url.*ssh|url.*https|url.*validation" frontend/packages/git-service/src --type ts -B 2 -A 2 | head -40

Repository: openshift/console

Length of output: 3470


🏁 Script executed:

# Check base-service to see if there's any URL validation there
cat -n frontend/packages/git-service/src/services/base-service.ts | head -50

Repository: openshift/console

Length of output: 1532


🏁 Script executed:

# Check how git-provider-detector is used - does the system accept SSH URLs?
cat -n frontend/packages/git-service/src/utils/git-provider-detector.ts

Repository: openshift/console

Length of output: 1365


🏁 Script executed:

# Look for any URL validation or normalization before passing to GitlabService
rg "GitlabService|GitlabService\(" frontend/packages/git-service/src --type ts -B 3 -A 3 | head -50

Repository: openshift/console

Length of output: 4736


Validate protocol is HTTP/HTTPS before constructing the API host URL.

The current code protocols?.[0] || 'https' works for common SCP-style URLs (e.g., git@gitlab.com:org/repo.git) because git-url-parse returns an empty protocols array for those, safely defaulting to HTTPS. However, if an explicit ssh:// URL is passed, protocols[0] would be "ssh", which breaks the GitLab API client. Bitbucket service already implements this validation—apply the same pattern here:

Suggested fix
-    const protocol = protocols?.[0] || 'https';
-    const host = port ? `${protocol}://${resource}:${port}` : `${protocol}://${resource}`;
+    const rawProtocol = protocols?.[0]?.replace(':', '');
+    const protocol = rawProtocol === 'http' || rawProtocol === 'https' ? rawProtocol : 'https';
+    const host = port ? `${protocol}://${resource}:${port}` : `${protocol}://${resource}`;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const { name, owner, protocols, port, resource, full_name: fullName } = GitUrlParse(
this.gitsource.url,
);
const contextDir = removeLeadingSlash(this.gitsource.contextDir);
const host = `https://${resource}`;
const protocol = protocols?.[0] || 'https';
const host = port ? `${protocol}://${resource}:${port}` : `${protocol}://${resource}`;
const { name, owner, protocols, port, resource, full_name: fullName } = GitUrlParse(
this.gitsource.url,
);
const contextDir = removeLeadingSlash(this.gitsource.contextDir);
const rawProtocol = protocols?.[0]?.replace(':', '');
const protocol = rawProtocol === 'http' || rawProtocol === 'https' ? rawProtocol : 'https';
const host = port ? `${protocol}://${resource}:${port}` : `${protocol}://${resource}`;
🤖 Prompt for AI Agents
In `@frontend/packages/git-service/src/services/gitlab-service.ts` around lines 81
- 86, The protocol chosen from GitUrlParse (protocols?.[0]) can be "ssh" and
must be validated before building the API host; update the logic around the
protocol and host construction in gitlab-service.ts (the variables/properties:
GitUrlParse, protocols, protocol, host) to only accept 'http' or 'https' values
and otherwise default to 'https' so SSH or other schemes don’t become the API
protocol; keep the rest of host construction (using port/resource) unchanged and
ensure any downstream GitLab API client uses this validated protocol value.

@krishagarwal278
Copy link
Member Author

/retest

@krishagarwal278
Copy link
Member Author

/test e2e-gcp-console

@krishagarwal278
Copy link
Member Author

/retest

@yanpzhan
Copy link
Contributor

yanpzhan commented Feb 4, 2026

Checked on cluster launched against the pr.
Clicked 'Import from Git' from '+' drowdown list in masthead, opened developer tool, clicked 'Network' tab,

  1. In Git Repo URL in put 'https://gh.local:8443/org/repo', chose 'GitHub' Git Type. Filtered 'local' in 'Network' tab.
    Could see the api request is using https schema and port 'https://gh.local:8443/api/v3/repos/org/repo'.
  2. In Git Repo URL in put 'http://gh.local:8080/org/repo', chose 'GitHub' Git Type. Filtered 'local' in 'Network' tab.
    Could see the api request is using http schema and port 'http://gh.local:8080/api/v3/repos/org/repo'.
  3. In Git Repo URL in put 'http://gitlab.local:8080/grp/repo', chose 'GitHub' Git Type. Filtered 'local' in 'Network' tab.
    Could see the api request is using http schema and port 'http://gitlab.local:8080/api/v3/repos/grp/repo'
  4. In Git Repo URL in put 'http://bb.local:7990/scm/prj/repo', chose 'GitHub' Git Type. Filtered 'local' in 'Network' tab.
    Could see the api request is using http schema and port 'http://bb.local:7990/rest/api/1.0/projects/scm/repos/prj'
  5. In Git Repo URL in put 'http://gitea.local:3000/user/repo'. Filtered 'local' in 'Network' tab.
    Could see the api request is using https schema without port: 'https://gitea.local/api/v1/repos/user/repo'

@krishagarwal278 Your fix works for github/gitlab/bitbucket(in test result 1 to 4). But seems there is not fix for gitea type(in test result 5), need gitea type be fixed?

@krishagarwal278
Copy link
Member Author

hello @yanpzhan thank you for verifying this fix!
gitea type(in test result 5) Is being fixed in #15975

@krishagarwal278
Copy link
Member Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 4, 2026
@openshift-ci-robot
Copy link
Contributor

@krishagarwal278: This pull request references Jira Issue OCPBUGS-74937, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yapei

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested a review from yapei February 4, 2026 17:53
@krishagarwal278
Copy link
Member Author

krishagarwal278 commented Feb 4, 2026

@cajieh @jhadvig can I get the approved/lgtm labels for this one please, thank you!
/assign @jhadvig

@rhamilto
Copy link
Member

rhamilto commented Feb 4, 2026

Claude has additional feedback that is worth examining:

Pull Request Review: OCPBUGS-74937

PR: #15978
Title: "Import from Git" should not force HTTPS/443 for Git providers (GitHub/GitLab/Bitbucket)
Author: krishagarwal278
Date: 2026-02-04

Summary

This PR fixes a bug where "Import from Git" forces HTTPS/443 for custom Git provider instances, breaking support for HTTP-only servers or non-standard ports.

Changes:

  • 6 files changed
  • +73 additions, -11 deletions
  • Affects: GitHub, GitLab, and Bitbucket service implementations
  • Adds test coverage for URL scheme and port preservation

Review Findings

✅ Positives

  1. Addresses a real bug: Custom Git providers with HTTP or non-standard ports are currently broken
  2. Good test coverage: Each modified service has new test cases
  3. Backwards compatible: Defaults to HTTPS when protocol cannot be determined

⚠️ Issues Found

1. CRITICAL: Missing Gitea Service

The PR updates GitHub, GitLab, and Bitbucket services but misses Gitea Service (gitea-service.ts:67), which has the same bug:

const host = `https://${resource}`;  // Also hardcodes HTTPS

Impact: Gitea users with HTTP or custom ports will still experience the same bug.

Recommendation: Apply the same fix to gitea-service.ts for consistency.


2. Inconsistent Implementation Across Services

Three different approaches are used:

GitHub/GitLab: Extract protocol from GitUrlParse:

const { protocols, port, resource } = GitUrlParse(this.gitsource.url);
const rawProtocol = protocols?.[0];
const protocol = isHttpProtocol ? rawProtocol : 'https';

Bitbucket: Uses new URL() with try-catch:

const url = new URL(this.gitsource.url);
if (url.protocol === 'http:' || url.protocol === 'https:') {
  protocol = url.protocol.replace(':', '');
}

Recommendation: Standardize on GitUrlParse since it's already used throughout the codebase and handles various Git URL formats better (SSH, HTTPS, etc.).


3. Bitbucket Inconsistency

Bitbucket only modifies baseURL in the constructor but doesn't update getRepoMetadata(), so this.metadata.host remains just a hostname while in GitHub/GitLab it's a full URL. This creates an inconsistency.

Current state:

  • GitHub/GitLab: metadata.host = "http://example.com:3000" (full URL)
  • Bitbucket: metadata.host = "example.com" (hostname only)
  • Bitbucket: baseURL = "http://bb.example.com:7990/rest/api/1.0" (full URL with path)

The baseURL is used directly in API calls (bitbucket-service.ts:106, 134, etc.), so this works functionally, but it's inconsistent with the other services' approach.

Recommendation: Update Bitbucket's getRepoMetadata() to match the GitHub/GitLab pattern for consistency.


4. Semantic Change to RepoMetadata.host

The host field changes from hostname to full URL (with protocol and port). This is a breaking change if any external code depends on this field.

Before: "github.com"
After: "https://github.com" or "http://example.com:3000"

Considerations:

  • Are there any consumers of RepoMetadata.host outside these service files?
  • Plugin API implications?
  • Webhook creation code may be affected

Recommendations:

  1. Search codebase for other uses of metadata.host
  2. Consider renaming to baseUrl or apiUrl for clarity
  3. Or keep host as hostname and add separate protocol/port fields
  4. Document this breaking change in the PR description

5. Port Handling Logic Issue

github-service.ts:68-70

const host = isHttpProtocol && port
  ? `${protocol}://${resource}:${port}`
  : `${protocol}://${resource}`;

This only includes the port if the protocol is HTTP/HTTPS and a port exists. This means:

  • http://example.com:3000 → includes port
  • https://example.com:8443 → includes port only if detected as HTTPS
  • ⚠️ Non-HTTP protocols default to HTTPS but lose port information

Issue: If isHttpProtocol is false (e.g., SSH URL), the code defaults to https:// but drops the port.

Suggested improvement:

const port = GitUrlParse(this.gitsource.url).port;
const host = port
  ? `${protocol}://${resource}:${port}`
  : `${protocol}://${resource}`;

This ensures ports are preserved regardless of the original protocol.


6. Test Coverage Gaps

The tests cover HTTP with custom ports:

  • http://example.com:3000
  • http://bb.example.com:7990

Missing test cases:

  • HTTPS with custom ports (e.g., https://example.com:8443)
  • Standard ports - should :80 for HTTP and :443 for HTTPS be included or omitted?
  • Edge cases like malformed URLs
  • Git SSH URLs (e.g., git@example.com:org/repo.git)

7. Misleading Comment in Bitbucket Service

bitbucket-service.ts:44-51

let protocol = 'https';
try {
  const url = new URL(this.gitsource.url);
  if (url.protocol === 'http:' || url.protocol === 'https:') {
    protocol = url.protocol.replace(':', '');
  }
} catch (e) {
  // fall through to git-url-parse based handling
}

The comment says "fall through to git-url-parse based handling" but nothing happens in the catch block - the code just uses the default 'https'. The comment is misleading.

Recommendation: Update comment to:

} catch (e) {
  // Invalid URL format, default to https
}

Specific Code Review

github-service.ts

Lines 47-49 - Constructor baseUrl setup:

const { resource, port } = GitUrlParse(this.gitsource.url);
const isGithubDotCom = resource === 'github.com' && !port;
const baseUrl = isGithubDotCom ? null : `${this.metadata.host}/api/v3`;

✅ Correct - relies on metadata.host already containing the full URL

Lines 64-75 - getRepoMetadata():

const { protocols, port, resource } = GitUrlParse(this.gitsource.url);
const rawProtocol = protocols?.[0];
const isHttpProtocol = rawProtocol === 'http' || rawProtocol === 'https';
const protocol = isHttpProtocol ? rawProtocol : 'https';
const host = isHttpProtocol && port
  ? `${protocol}://${resource}:${port}`
  : `${protocol}://${resource}`;

⚠️ Should include port even for HTTPS if non-standard (see Issue #5 above)

Lines 184-188 - createRepoWebhook():

const { resource, port } = GitUrlParse(this.gitsource.url);
const isGithubDotCom = resource === 'github.com' && !port;
const AddWebhookBaseURL = isGithubDotCom
  ? `https://api.github.com`
  : `${this.metadata.host}/api/v3`;

✅ Looks good

gitlab-service.ts

Lines 80-92 - getRepoMetadata():

const { name, owner, protocols, port, resource, full_name: fullName } = GitUrlParse(
  this.gitsource.url,
);
const contextDir = removeLeadingSlash(this.gitsource.contextDir);
const rawProtocol = protocols?.[0];
const isHttpProtocol = rawProtocol === 'http' || rawProtocol === 'https';
const protocol = isHttpProtocol ? rawProtocol : 'https';
const host = isHttpProtocol && port
  ? `${protocol}://${resource}:${port}`
  : `${protocol}://${resource}`;

⚠️ Same port handling issue as GitHub service

bitbucket-service.ts

Lines 44-47 - Constructor:

if (this.metadata.host !== 'bitbucket.org') {
  let protocol = 'https';
  try {
    const url = new URL(this.gitsource.url);

⚠️ Different approach than GitHub/GitLab - should be standardized

Lines 90-96 - getRepoMetadata():

const { name, owner, host } = ParseBitbucketUrl(this.gitsource.url);
const contextDir = this.gitsource.contextDir?.replace(/\/$/, '') || '';
return {
  repoName: name,
  owner,
  host,

⚠️ Returns hostname only, not full URL like GitHub/GitLab


Recommendations

Priority 1: Critical

  1. Add Gitea Service (gitea-service.ts) to the PR for completeness
  2. Fix port handling - include non-standard ports regardless of protocol

Priority 2: High

  1. Standardize implementation - use GitUrlParse consistently across all services
  2. Update Bitbucket to modify getRepoMetadata() for consistency with GitHub/GitLab

Priority 3: Medium

  1. Add test cases for:
    • HTTPS with custom ports
    • Edge cases (malformed URLs, standard ports)
  2. Fix misleading comment in Bitbucket service catch block
  3. Document the breaking change to RepoMetadata.host in the PR description
  4. Search for other consumers of metadata.host to assess impact

Priority 4: Nice to Have

  1. Consider semantic changes to RepoMetadata interface for clarity (baseUrl vs host)
  2. Add integration tests if possible

Suggested Implementation for Port Handling

Replace the port handling logic in GitHub and GitLab services:

Current (problematic):

const host = isHttpProtocol && port
  ? `${protocol}://${resource}:${port}`
  : `${protocol}://${resource}`;

Suggested:

const { protocols, port, resource } = GitUrlParse(this.gitsource.url);
const rawProtocol = protocols?.[0];
const isHttpProtocol = rawProtocol === 'http' || rawProtocol === 'https';
const protocol = isHttpProtocol ? rawProtocol : 'https';

// Include port if it exists (regardless of protocol)
const host = port
  ? `${protocol}://${resource}:${port}`
  : `${protocol}://${resource}`;

Overall Assessment

Status: ⚠️ Needs Changes

The PR addresses a real bug and the core fix is sound, but it needs adjustments for:

  • Completeness: Missing Gitea service
  • Consistency: Three different implementations
  • Correctness: Port handling edge cases
  • Testing: Additional test coverage needed

The implementation is 80% there but needs these refinements before merging to ensure all Git providers work correctly and the codebase remains maintainable.


Additional Questions for Author

  1. Have you tested this with actual GitHub Enterprise/GitLab/Bitbucket Server instances?
  2. Are there any known consumers of RepoMetadata.host outside the git-service package?
  3. Should this fix be backported to previous versions?
  4. Does the plugin API expose RepoMetadata to external plugins?

@krishagarwal278
Copy link
Member Author

/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 5, 2026

@krishagarwal278: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@yanpzhan
Copy link
Contributor

yanpzhan commented Feb 5, 2026

Checked on cluster launched against the latest pr code.
On 'Import from Git' page, In Git Repo URL in put 'http://gitea.local:3000/user/repo'. Filtered 'local' in 'Network' tab.
Could see the api request is using http schema with port: 'http://gitea.local:3000/api/v1/repos/user/repo'
/verified by yanpzhan

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Feb 5, 2026
@openshift-ci-robot
Copy link
Contributor

@yanpzhan: This PR has been marked as verified by yanpzhan.

Details

In response to this:

Checked on cluster launched against the latest pr code.
On 'Import from Git' page, In Git Repo URL in put 'http://gitea.local:3000/user/repo'. Filtered 'local' in 'Network' tab.
Could see the api request is using https schema without port: 'http://gitea.local:3000/api/v1/repos/user/repo'
/verified by yanpzhan

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@krishagarwal278
Copy link
Member Author

/label tide/merge-method-squash

@openshift-ci openshift-ci bot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Feb 5, 2026
@rhamilto
Copy link
Member

rhamilto commented Feb 5, 2026

/retest

@rhamilto
Copy link
Member

rhamilto commented Feb 5, 2026

Solid work, @krishagarwal278!
/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 5, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 5, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: krishagarwal278, rhamilto

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 5, 2026
@krishagarwal278
Copy link
Member Author

thanks so much! @rhamilto ❤️

@openshift-merge-bot openshift-merge-bot bot merged commit b2f948b into openshift:main Feb 5, 2026
8 checks passed
@openshift-ci-robot
Copy link
Contributor

@krishagarwal278: Jira Issue Verification Checks: Jira Issue OCPBUGS-74937
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-74937 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

Summary by CodeRabbit

Release Notes

  • Bug Fixes

  • Improved handling of custom Git service URLs with different schemes (HTTP/HTTPS) and non-default ports for Bitbucket Server, GitHub Enterprise, and GitLab instances.

  • Tests

  • Added test coverage verifying correct URL scheme and port preservation across Git service integrations.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/git-service Related to git-service jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants