@@ -11,11 +11,11 @@ content. Note that file content is Base64 encoded. This endpoint can be accessed
...
@@ -11,11 +11,11 @@ content. Note that file content is Base64 encoded. This endpoint can be accessed
without authentication if the repository is publicly accessible.
without authentication if the repository is publicly accessible.
```
```
GET /projects/:id/repository/files
GET /projects/:id/repository/files/:file_path
```
```
```bash
```bash
curl --request GET --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/files?file_path=app/models/key.rb&ref=master'
curl --request GET --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb?ref=master'
```
```
Example response:
Example response:
...
@@ -36,17 +36,32 @@ Example response:
...
@@ -36,17 +36,32 @@ Example response:
Parameters:
Parameters:
-`file_path` (required) - Full path to new file. Ex. lib/class.rb
-`file_path` (required) - Url encoded full path to new file. Ex. lib%2Fclass%2Erb
-`ref` (required) - The name of branch, tag or commit
## Get raw file from repository
```
GET /projects/:id/repository/files/:file_path/raw
```
```bash
curl --request GET --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb/raw?ref=master'
```
Parameters:
-`file_path` (required) - Url encoded full path to new file. Ex. lib%2Fclass%2Erb
-`ref` (required) - The name of branch, tag or commit
-`ref` (required) - The name of branch, tag or commit
## Create new file in repository
## Create new file in repository
```
```
POST /projects/:id/repository/files
POST /projects/:id/repository/files/:file_path
```
```
```bash
```bash
curl --request POST --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/files?file_path=app/project.rb&branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&content=some%20content&commit_message=create%20a%20new%20file'
curl --request POST --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/app%2Fprojectrb%2E?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&content=some%20content&commit_message=create%20a%20new%20file'
```
```
Example response:
Example response:
...
@@ -60,7 +75,7 @@ Example response:
...
@@ -60,7 +75,7 @@ Example response:
Parameters:
Parameters:
-`file_path` (required) - Full path to new file. Ex. lib/class.rb
-`file_path` (required) - Url encoded full path to new file. Ex. lib%2Fclass%2Erb
-`branch` (required) - The name of branch
-`branch` (required) - The name of branch
-`encoding` (optional) - Change encoding to 'base64'. Default is text.
-`encoding` (optional) - Change encoding to 'base64'. Default is text.
-`author_email` (optional) - Specify the commit author's email address
-`author_email` (optional) - Specify the commit author's email address
...
@@ -71,11 +86,11 @@ Parameters:
...
@@ -71,11 +86,11 @@ Parameters:
## Update existing file in repository
## Update existing file in repository
```
```
PUT /projects/:id/repository/files
PUT /projects/:id/repository/files/:file_path
```
```
```bash
```bash
curl --request PUT --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/files?file_path=app/project.rb&branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&content=some%20other%20content&commit_message=update%20file'
curl --request PUT --header'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK''https://gitlab.example.com/api/v4/projects/13083/repository/app%2Fproject%2Erb?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&content=some%20other%20content&commit_message=update%20file'
```
```
Example response:
Example response:
...
@@ -89,7 +104,7 @@ Example response:
...
@@ -89,7 +104,7 @@ Example response:
Parameters:
Parameters:
-`file_path` (required) - Full path to file. Ex. lib/class.rb
-`file_path` (required) - Url encoded full path to new file. Ex. lib%2Fclass%2Erb
-`branch` (required) - The name of branch
-`branch` (required) - The name of branch
-`encoding` (optional) - Change encoding to 'base64'. Default is text.
-`encoding` (optional) - Change encoding to 'base64'. Default is text.
-`author_email` (optional) - Specify the commit author's email address
-`author_email` (optional) - Specify the commit author's email address
...
@@ -109,11 +124,11 @@ Currently gitlab-shell has a boolean return code, preventing GitLab from specify
...
@@ -109,11 +124,11 @@ Currently gitlab-shell has a boolean return code, preventing GitLab from specify
- Simplify project payload exposed on Environment endpoints [!9675](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9675)
- Simplify project payload exposed on Environment endpoints [!9675](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9675)
- API uses merge request `IID`s (internal ID, as in the web UI) rather than `ID`s. This affects the merge requests, award emoji, todos, and time tracking APIs. [!9530](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9530)
- API uses merge request `IID`s (internal ID, as in the web UI) rather than `ID`s. This affects the merge requests, award emoji, todos, and time tracking APIs. [!9530](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9530)
- API uses issue `IID`s (internal ID, as in the web UI) rather than `ID`s. This affects the issues, award emoji, todos, and time tracking APIs. [!9530](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9530)
- API uses issue `IID`s (internal ID, as in the web UI) rather than `ID`s. This affects the issues, award emoji, todos, and time tracking APIs. [!9530](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9530)
- Update endpoints for repository files [!9637](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9637)
- Moved `/projects/:id/repository/files` to `/projects/:id/repository/files/:filepath` (`:filepath` should be URL-encoded)
- Moved `/projects/:id/repository/blobs/:sha` to `/projects/:id/repository/files/:filepath/raw`
- Moved `/projects/:id/repository/raw_blobs/:sha` to `/projects/:id/repository/blobs/:sha/raw`