microsoft / microsoft/azure-devops-python-api
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get issuer certificate (_ssl.c:1007)
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 684
- Forks
- 218
- Merge médio
- 8d 10h
- PRs com merge (30d)
- 1
Descrição
Running a pipeline on one of our ADO server I try to run the same script but it is connecting to another server
I tried using the local certificate and I tried disabling SSL check at all
Getting a connection works fine, but trying to get projects :
project_client = self.connection.clients_v7_1.get_core_client()
I always get this error
Error occurred in request., SSLError: HTTPSConnectionPool(host='**********', port=443): Max retries exceeded with url: /companyname/_apis (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get issuer certificate (_ssl.c:1007)')))
I tried using the CA path
I tried disabling SSL at all
I tried to run the pipeline on different pools too
I am out of ideas, any help appreciated
class Ado:
def init_ssl_env(self):
if not os.path.exists(Ado.certificate_path):
return
try:
if self.verify_ssl:
# Option 1: Set CA bundle to custom certificate
os.environ['REQUESTS_CA_BUNDLE'] = Ado.certificate_path
self.logger.info(f"Enable SSL check - REQUESTS_CA_BUNDLE = {Ado.certificate_path}")
else:
# Option 2: Disable SSL verification globally (not recommended for production)
os.environ['PYTHONHTTPSVERIFY'] = '0'
self.logger.info(f"Disable SSL check - PYTHONHTTPSVERIFY = 0")
except Exception as e:
self.logger.error(f"Error setting SSL: {str(e)}")
sys.exit(1)
Here is how I get my connection:
def get_api_connection(self,url):
'''
Sets up a connection with the Azure Devops API via the Azure Devops python API
(https://github.com/microsoft/azure-devops-python-api/tree/dev)
Parameters:
org_url (string): url of the organization
Returns:
<class 'azure.devops.connection.Connection'>: connection with the Azure Devops API
'''
_url = f"https://{url}"
self.url = url
try:
credentials = BasicAuthentication('', f"{Ado.servers[url]}")
self.connection = Connection(base_url = _url, creds = credentials)
self.logger.info(f'Azure Devops Connection established successfully with {_url}.')
return True
except Exception:
self.logger.exception(f'Error setting up Azure DevOps connection with {_url}.')
return False
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece pelo ponto de entrada Connection(base_url, creds) e pela chamada get_core_client() descritos no relatório e, em seguida, rastreie como a verificação de certificados HTTPS é configurada. Reproduza a solicitação de listagem de projetos com as configurações de CA informadas e determine se ela é bem-sucedida no servidor ADO sem desabilitar a verificação.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- azure, python
- Domínio
- api, security
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 25/100