Ao tentar fazer um fetch de um template com URL externa estava acontecendo o seguinte erro:
2022-09-29T14:39:35.000Z FetchError: invalid json response body at https://gitlab.com/users/sign_in reason: Unexpected token < in JSON at position 0
Minha configuração no template.yaml
estava da seguinte maneira:
steps:
- id: fetchTemplate
name: Fetch CICD Template
action: fetch:template
input:
url: https://gitlab.com/gbzarelli/backstage/backstage-templates/-/tree/main/java/cicd
targetPath: ./cicd
values:
name: ${{ parameters.name }}
Porém o erro não tinha relação com o path ou algo do genero, o erro era na integração com o Gitlab. No arquivo app-config.yaml
a integração com o GitLab estava com um apiBaseUrl
errado e não para a base de API de fato. Ex de como estava:
integrations:
gitlab:
- host: gitlab.com
token: ${GITLAB_TOKEN}
apiBaseUrl: https://gitlab.com/api
A solução foi só adicionar o /api/v4
da apiBaseUrl . Simples assim;
integrations:
gitlab:
- host: gitlab.com
token: ${GITLAB_TOKEN}
apiBaseUrl: https://gitlab.com/api/v4
Backstage – Falha de token ao fazer fetch do template (FetchError: invalid json response body at https://gitlab.com/users/sign_in reason: Unexpected token < in JSON at position 0)