Search before asking
What happened
We're rolling out DORA metrics at my company and we chose to use a forward slash (/) as a delimiter in our project naming convention. For example, team/ci/app.
I wrote a Python script to onboard projects to DevLake and part of the logic includes checking to see if the project already exists. The /check endpoint doesn't seem to not be handling url encoding the way I'd expect.
Here's a sample curl request curl http://localhost:8080/api/rest/projects/team%2Fci%2Fapp/check -H "Authorization: Bearer <token>"
The API response returns a 404 HTTP error: 404 page not found
What do you expect to happen
I'd expect the API response to return a json object as described in the API docs
How to reproduce
Make a call to the /check endpoint with a project name using %2F to delimit a project name such as team/ci/app
Sample curl request: curl http://localhost:8080/api/rest/projects/team%2Fci%2Fapp/check -H "Authorization: Bearer <token>"
Anything else
The error seems to only be happening in our dev environment. Localhost seems to be handling this scenario without any issues.
Further, the error only happens when I substitute a forward slash (/) for %2F. Single word project names seem to be handled okay in dev.
I think I tracked down the functions responsible:
Version
v1.0.1@e061ef2
Are you willing to submit PR?
Code of Conduct
Search before asking
What happened
We're rolling out DORA metrics at my company and we chose to use a forward slash (
/) as a delimiter in our project naming convention. For example,team/ci/app.I wrote a Python script to onboard projects to DevLake and part of the logic includes checking to see if the project already exists. The
/checkendpoint doesn't seem to not be handling url encoding the way I'd expect.Here's a sample curl request
curl http://localhost:8080/api/rest/projects/team%2Fci%2Fapp/check -H "Authorization: Bearer <token>"The API response returns a 404 HTTP error:
404 page not foundWhat do you expect to happen
I'd expect the API response to return a json object as described in the API docs
{ "exist": false }How to reproduce
Make a call to the
/checkendpoint with a project name using%2Fto delimit a project name such asteam/ci/appSample curl request:
curl http://localhost:8080/api/rest/projects/team%2Fci%2Fapp/check -H "Authorization: Bearer <token>"Anything else
The error seems to only be happening in our dev environment. Localhost seems to be handling this scenario without any issues.
Further, the error only happens when I substitute a forward slash (
/) for%2F. Single word project names seem to be handled okay in dev.I think I tracked down the functions responsible:
Version
v1.0.1@e061ef2
Are you willing to submit PR?
Code of Conduct