TeamCity renderer
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece inspecionando os renderers existentes e o caminho de saída da CLI; em seguida, leia a documentação vinculada de TeamCity service messages. Defina como deve funcionar o uso dos renderers a partir do código e a saída da CLI, incluindo os requisitos de severidade e escaping. A tarefa estará concluída quando for possível gerar, transformar ou escrever mensagens de inspeção TeamCity válidas em stdout.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
It would be nice if there were a built-in TeamCity renderer, that can render TeamCity service messages, like for example
##teamcity[inspectionType category='openapi-diff' id='new-endpoint' name='New Endpoint' description='info -- New Endpoint']
##teamcity[inspection typeId='new-endpoint' file='build\openapi.json' message='info -- New Endpoint GET /showcase/v1/open/{id} - Query something totally open' SEVERITY='INFO']
##teamcity[inspection typeId='new-endpoint' file='build\openapi.json' message='info -- New Endpoint GET /showcase/v1/open/{open-id}/samples/{sample-id}/sub-samples/{sub-sample-id} - Query something else totally open' SEVERITY='INFO']
##teamcity[inspectionType category='openapi-diff' id='deleted-endpoint' name='Deleted Endpoint' description='error -- Deleted Endpoint']
##teamcity[inspection typeId='deleted-endpoint' file='build\openapi.json' message='error -- Deleted Endpoint GET /showcase/v1/whatever - Get whatever' SEVERITY='ERROR']
##teamcity[inspection typeId='deleted-endpoint' file='build\openapi.json' message='error -- Deleted Endpoint GET /showcase/v2/whatever - Get whatever else' SEVERITY='ERROR']
##teamcity[inspectionType category='openapi-diff' id='changed-operation' name='Changed Operation' description='Changed Operation']
##teamcity[inspection typeId='changed-operation' file='build\openapi.json' message='info -- Non-breakingly changed operation GET /showcase/v1/foo' SEVERITY='INFO']
##teamcity[inspection typeId='changed-operation' file='build\openapi.json' message='error -- Breakingly changed operation POST /showcase/v1/bar' SEVERITY='ERROR']
##teamcity[inspection typeId='changed-operation' file='build\openapi.json' message='error -- Breakingly changed operation POST /showcase/v1/bar/{bar-id}/baz/{baz-id}/boo' SEVERITY='ERROR']
In the CLI if enabled (or if TeamCity detected) this renderer should write to stdout.
When using via code, it should be a renderer like the others so that it can also be transformered or processed as necessary (like having one Gradle task that has it as output file and another that writes it to stdout so that the generation can be cached while the service messages will still be printed and thus processed).
The inspections can of course also be more fine-grained like for each specific change.
Or having more extensive messages which also support HTML (see linked docs).
Two things to keep in mind:
- While the docs list
SEVERITYas custom attribute it should still be used as TeamCity indeed considers it to differentiate between error and non-errors - Texts that could contain some special characters need a special escaping like this one:
// | => || must be handled first. or we will // escape the previously added escape character text .replace("|", "||") .replace("'", "|'") .replace("\n", "|n") .replace("\r", "|r") .replace("[", "|[") .replace("]", "|]")
- Linguagem predominante
- Java
- Estrelas
- 1.1k
- Forks
- 190
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
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.
Mais de OpenAPITools/openapi-diff
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenAPITools/openapi-diff#506 ·
-
good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenAPITools/openapi-diff#364 ·
-
bug OpenAP 3.1.0 Support
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
OpenAPITools/openapi-diff#910 · 1 comentário ·
-
Render capabilities
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
OpenAPITools/openapi-diff#893 · 1 comentário ·
-
Breaking/Non-Breaking classification
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
OpenAPITools/openapi-diff#886 ·
Todas as issues de OpenAPITools/openapi-diff
Issues semelhantes
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
inu-appcenter/memorIN-backend#288 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
frontend maui-pilot pilot-ask question
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abertaarea/plugin
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
kestra-io/plugin-kestra#190 ·