• 
      

    Add repository ID to Jenkins parameters.

    Review Request #15086 — Created May 29, 2026 and submitted

    Information

    rbintegrations
    release-5.x

    Reviewers

    We had a user request to add the repository ID to the parameters passed
    in to builds, to allow them to have fewer separate configurations. This
    change adds that, and also adds a little bit of additional logging for
    cases where the integration can't communicate with the server.

    • Ran unit tests.
    • Triggered a Jenkins job and verified that the repository ID was among
      the parameters passed to it.
    Summary ID
    Add repository ID to Jenkins parameters.
    We had a user request to add the repository ID to the parameters passed in to builds, to allow them to have fewer separate configurations. This change adds that, and also adds a little bit of additional logging for cases where the integration can't communicate with the server. Testing Done: - Ran unit tests. - Triggered a Jenkins job and verified that the repository ID was among the parameters passed to it.
    wxntmwmpvuquzmlswrvxourkvzvkwmms
    Description From Last Updated

    We could use repository_id to avoid any chance of a query.

    chipx86 chipx86

    Can we log the HTTP status code with this?

    chipx86 chipx86
    chipx86
    1. 
        
    2. rbintegrations/jenkinsci/integration.py (Diff revision 1)
       
       
      Show all issues

      We could use repository_id to avoid any chance of a query.

    3. rbintegrations/jenkinsci/integration.py (Diff revision 1)
       
       
      Show all issues

      Can we log the HTTP status code with this?

      1. That happens as part of the exception log:

        2026-05-29 17:34:43,099 - ERROR -  - rbintegrations.jenkinsci.integration - Unable to communicate with Jenkins server
        Traceback (most recent call last):
          File "/Users/david/src/rb7.1/rbintegrations/rbintegrations/jenkinsci/integration.py", line 140, in start_build
            api.start_build(patch_info)
          File "/Users/david/src/rb7.1/rbintegrations/rbintegrations/jenkinsci/api.py", line 97, in start_build
            self._make_request(
          File "/Users/david/src/rb7.1/rbintegrations/rbintegrations/jenkinsci/api.py", line 160, in _make_request
            return self._make_raw_request(url, body, method, content_type)
          File "/Users/david/src/rb7.1/rbintegrations/rbintegrations/jenkinsci/api.py", line 208, in _make_raw_request
            return self._open_request(request)
          File "/Users/david/src/rb7.1/rbintegrations/rbintegrations/jenkinsci/api.py", line 222, in _open_request
            response = request.open()
          File "/Users/david/src/rb7.1/reviewboard/reviewboard/hostingsvcs/base/http.py", line 610, in open
            response = opener.open(request)
          File "/opt/homebrew/Cellar/python@3.10/3.10.19_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 525, in open
            response = meth(req, response)
          File "/opt/homebrew/Cellar/python@3.10/3.10.19_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 634, in http_response
            response = self.parent.error(
          File "/opt/homebrew/Cellar/python@3.10/3.10.19_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 563, in error
            return self._call_chain(*args)
          File "/opt/homebrew/Cellar/python@3.10/3.10.19_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
            result = func(*args)
          File "/opt/homebrew/Cellar/python@3.10/3.10.19_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 643, in http_error_default
            raise HTTPError(req.full_url, code, msg, hdrs, fp)
        urllib.error.HTTPError: HTTP Error 403: Forbidden
        
      2. Yeah but then you have to get to the end of the exception, and if you're doing any kind of log monitoring (e.g., Loki/Grafana setups), you won't get that detail in any summary. Having relevant details in the actual log message means you get summary information and proper categorization/batching of log messages (and would mean that wouldn't falsely group a 500 with a 403).

    4. 
        
    david
    david
    chipx86
    1. Ship It!
    2. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-5.x (fbeeb20)