Welcome to mirror list, hosted at ThFree Co, Russian Federation.

repository_files.md « api « doc - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 820ae71361dfa50bdd3a5c32145eb25b5e6ff746 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Repository files

## CRUD for repository files

## Create, read, update and delete repository files using this API

- - -

## Get file from repository

Allows you to receive information about file in repository like name, size, content.
Note that file content is Base64 encoded.

```
GET /projects/:id/repository/files
```

Example response:

```json
{
  "file_name": "key.rb",
  "file_path": "app/models/key.rb",
  "size": 1476,
  "encoding": "base64",
  "content": "IyA9PSBTY2hlbWEgSW5mb3...",
  "ref": "master",
  "blob_id": "79f7bbd25901e8334750839545a9bd021f0e4c83",
  "commit_id": "d5a3ff139356ce33e37e73add446f16869741b50"
}
```

Parameters:

+ `file_path` (required) - Full path to new file. Ex. lib/class.rb
+ `ref` (required) - The name of branch, tag or commit

## Create new file in repository

```
POST /projects/:id/repository/files
```

Example response:

```json
{
  "file_name": "app/project.rb",
  "branch_name": "master"
}
```

Parameters:

+ `file_path` (required) - Full path to new file. Ex. lib/class.rb
+ `branch_name` (required) - The name of branch
+ `encoding` (optional) - 'text' or 'base64'. Text is default.
+ `content` (required) - File content
+ `commit_message` (required) - Commit message

## Update existing file in repository

```
PUT /projects/:id/repository/files
```

Example response:

```json
{
  "file_name": "app/project.rb",
  "branch_name": "master"
}
```

Parameters:

+ `file_path` (required) - Full path to file. Ex. lib/class.rb
+ `branch_name` (required) - The name of branch
+ `encoding` (optional) - 'text' or 'base64'. Text is default.
+ `content` (required) - New file content
+ `commit_message` (required) - Commit message

## Delete existing file in repository

```
DELETE /projects/:id/repository/files
```

Example response:

```json
{
  "file_name": "app/project.rb",
  "branch_name": "master"
}
```

Parameters:

+ `file_path` (required) - Full path to file. Ex. lib/class.rb
+ `branch_name` (required) - The name of branch
+ `commit_message` (required) - Commit message