Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

load_components_and_configurations fails when trying to get all components and configurations from one QM project area

Abierto
#59 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
api, backend

Línea de trabajo

Comienza en elmclient/_qm.py, en load_components_and_configurations(), llamada por find_local_component(), y reproduce el 403 del endpoint de componentes de QM con acceso a una sola área de proyecto. Rastrea cómo se forma la solicitud de componentes y verifica que se pueda recuperar un componente accesible sin requerir permiso para leer otras áreas de proyecto.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi there,

First of all - I am not an OSLC expert, just a user who wants to do something with this package.

Currently I am a user which has access only to some particular QM project areas (not all project areas).
So when trying to find a specific component (which is accessible to me), I use this simple code snipped:

import elmclient.server as elmserver
...

obj_server = elmserver.JazzTeamServer(str_host, str_user, str_pass, verifysslcerts=False, jtsappstring="jts:jts", appstring="qm", cachingcontrol=0)
obj_app = obj_server.find_app('qm', ok_to_create=True)
obj_project = obj_app.find_project(str_project_area_name)
obj_component = obj_project.find_local_component(str_component_name)

Which throws the following error:

Traceback (most recent call last):
  File "c:\XXX\.venv\Lib\site-packages\elmclient\_qm.py", line 296, in find_local_component
    self.load_components_and_configurations()
  File "c:\XXX\.venv\Lib\site-packages\elmclient\_qm.py", line 112, in load_components_and_configurations
    crx = self.execute_get_xml( components_uri, intent="Retrieve component definition" )
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\XXX\.venv\Lib\site-packages\elmclient\httpops.py", line 139, in execute_get_xml
    response = request.execute( **kwargs )
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\XXX\.venv\Lib\site-packages\elmclient\httpops.py", line 334, in execute
    return self._execute_request( no_error_log=no_error_log, close=close, **kwargs )
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\XXX\.venv\Lib\site-packages\elmclient\httpops.py", line 343, in _execute_request
    result = self._execute_one_request_with_login( no_error_log=no_error_log, close=close, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\XXX\.venv\Lib\site-packages\elmclient\httpops.py", line 624, in _execute_one_request_with_login
    response.raise_for_status()
  File "c:\XXX\.venv\Lib\site-packages\requests\models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://host/qm/oslc_config/resources/com.ibm.team.vvc.Component

When trying to access the URL https://host/qm/oslc_config/resources/com.ibm.team.vvc.Component using my web browser, I get the following error message displayed:

The user "XXX" does not have permission to read item "_xxxxxxxxxxxxxxxxxxxxxxxx", which has the "ProjectArea" item type.

It seems that it querys all components of all project areas - including those which are not accessible for me - for some reason.
Does anybody know how to evade this issue?

Lenguaje dominante
HTML
Estrellas
52
Forks
32
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de IBM/ELM-Python-Client

Todos los issues de IBM/ELM-Python-Client

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.