Commit 06137079 authored by Charles May's avatar Charles May Committed by Rémy Coutable

Fix a bug with trailing slash in teamcity_url

See https://gitlab.com/gitlab-org/gitlab-ce/issues/3515
parent 4087bd16
...@@ -123,6 +123,9 @@ v 8.6.0 ...@@ -123,6 +123,9 @@ v 8.6.0
- Add information about `image` and `services` field at `job` level in the `.gitlab-ci.yml` documentation (Pat Turner) - Add information about `image` and `services` field at `job` level in the `.gitlab-ci.yml` documentation (Pat Turner)
- HTTP error pages work independently from location and config (Artem Sidorenko) - HTTP error pages work independently from location and config (Artem Sidorenko)
- Update `omniauth-saml` to 1.5.0 to allow for custom response attributes to be set - Update `omniauth-saml` to 1.5.0 to allow for custom response attributes to be set
- Fix avatar stretching by providing a cropping feature (Johann Pardanaud)
- Fix a bug whith trailing slash in teamcity_url (Charles May)
- Don't load all of GitLab in mail_room
- Memoize @group in Admin::GroupsController (Yatish Mehta) - Memoize @group in Admin::GroupsController (Yatish Mehta)
- Indicate how much an MR diverged from the target branch (Pierre de La Morinerie) - Indicate how much an MR diverged from the target branch (Pierre de La Morinerie)
- Added omniauth-auth0 Gem (Daniel Carraro) - Added omniauth-auth0 Gem (Daniel Carraro)
......
...@@ -85,13 +85,15 @@ class TeamcityService < CiService ...@@ -85,13 +85,15 @@ class TeamcityService < CiService
end end
def build_info(sha) def build_info(sha)
url = URI.parse("#{teamcity_url}/httpAuth/app/rest/builds/"\ url = URI.join(
"branch:unspecified:any,number:#{sha}") teamcity_url,
"/httpAuth/app/rest/builds/branch:unspecified:any,number:#{sha}"
).to_s
auth = { auth = {
username: username, username: username,
password: password, password: password,
} }
@response = HTTParty.get("#{url}", verify: false, basic_auth: auth) @response = HTTParty.get(url, verify: false, basic_auth: auth)
end end
def build_page(sha, ref) def build_page(sha, ref)
...@@ -100,12 +102,14 @@ class TeamcityService < CiService ...@@ -100,12 +102,14 @@ class TeamcityService < CiService
if @response.code != 200 if @response.code != 200
# If actual build link can't be determined, # If actual build link can't be determined,
# send user to build summary page. # send user to build summary page.
"#{teamcity_url}/viewLog.html?buildTypeId=#{build_type}" URI.join(teamcity_url, "/viewLog.html?buildTypeId=#{build_type}").to_s
else else
# If actual build link is available, go to build result page. # If actual build link is available, go to build result page.
built_id = @response['build']['id'] built_id = @response['build']['id']
"#{teamcity_url}/viewLog.html?buildId=#{built_id}"\ URI.join(
"&buildTypeId=#{build_type}" teamcity_url,
"#{teamcity_url}/viewLog.html?buildId=#{built_id}&buildTypeId=#{build_type}"
).to_s
end end
end end
...@@ -140,12 +144,13 @@ class TeamcityService < CiService ...@@ -140,12 +144,13 @@ class TeamcityService < CiService
branch = Gitlab::Git.ref_name(data[:ref]) branch = Gitlab::Git.ref_name(data[:ref])
self.class.post("#{teamcity_url}/httpAuth/app/rest/buildQueue", self.class.post(
body: "<build branchName=\"#{branch}\">"\ URI.join(teamcity_url, "/httpAuth/app/rest/buildQueue").to_s,
"<buildType id=\"#{build_type}\"/>"\ body: "<build branchName=\"#{branch}\">"\
'</build>', "<buildType id=\"#{build_type}\"/>"\
headers: { 'Content-type' => 'application/xml' }, '</build>',
basic_auth: auth headers: { 'Content-type' => 'application/xml' },
) basic_auth: auth
)
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment