diff --git a/README.md b/README.md index ce0f4a8a1c5ec7d4fb351e266fd5a16716d1d08f..b1c109950a0cdb7ee9c90e949c1706c5ef49e6fc 100644 --- a/README.md +++ b/README.md @@ -127,14 +127,17 @@ or start each component separately ### GitLab interfaces -* [GitLab API](doc/api/README.md) +* [GitLab API doc](doc/api/README.md) or see the [GitLab API website](http://api.gitlab.org/) -* [Rake tasks](doc/raketasks) +* [Rake tasks](doc/raketasks) including a [backup and restore procedure](doc/raketasks/backup_restore.md) * [Directory structure](doc/install/structure.md) -* [Databases](doc/install/databases.md) +* [Database installation](doc/install/databases.md) +* [Markdown specification](doc/markdown/markdown.md) + +* [Security guide](doc/security/rack_attack.md) to throttle abusive requests ### Getting help @@ -157,10 +160,8 @@ or start each component separately ### Getting in touch -* [Core team](https://github.com/gitlabhq?tab=members) - -* [Contributors](https://github.com/gitlabhq/gitlabhq/graphs/contributors) +* [Core team](http://gitlab.org/team/) -* [Leader](https://github.com/randx) +* [Contributors](http://contributors.gitlab.org/) -* [Contact page](http://gitlab.org/contact/) +* [Community](http://gitlab.org/community/) diff --git a/config/database.yml.mysql b/config/database.yml.mysql index a3eff1a74f8a5b4fa8acc57994371b3f6bcac0e8..e7a9227e41e935fda40da67d6e9e336fe97acb79 100644 --- a/config/database.yml.mysql +++ b/config/database.yml.mysql @@ -7,7 +7,7 @@ production: reconnect: false database: gitlabhq_production pool: 10 - username: root + username: gitlab password: "secure password" # host: localhost # socket: /tmp/mysql.sock diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql index 4b74f3348f8a3a54baeb9df9c53d34926c3e7a9a..66960551cfde14278d8f5e166ed9d0e3ba7431ab 100644 --- a/config/database.yml.postgresql +++ b/config/database.yml.postgresql @@ -6,8 +6,8 @@ production: encoding: unicode database: gitlabhq_production pool: 10 - username: git - password: + # username: git + # password: # host: localhost # port: 5432 # socket: /tmp/postgresql.sock diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index 0b1560ac587957e38ac7fcb1781dc84d0d884385..28578eee50a943eaf7fe8821880421ee2aa2ffab 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -56,9 +56,10 @@ production: &base # signup_enabled: true ## Automatic issue closing - # If a commit message matches this regular express, all issues referenced from the matched text will be closed - # if it's pushed to a project's default branch. - # issue_closing_pattern: ^([Cc]loses|[Ff]ixes) +#\d+ + # If a commit message matches this regular expression, all issues referenced from the matched text will be closed. + # This happends when the commit is pushed or merged into the default branch of a project. + # When not specified the default issue_closing_pattern as specified below will be used. + # issue_closing_pattern: ([Cc]loses|[Ff]ixes) +#\d+ ## Default project features settings default_projects_features: diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 1c8758d942032c7280a17dd0d97c1593d2362cbb..942b77ffd2e2377444f4461dbaac461b6b65106f 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -69,7 +69,7 @@ rescue ArgumentError # no user configured end Settings.gitlab['signup_enabled'] ||= false Settings.gitlab['username_changing_enabled'] = true if Settings.gitlab['username_changing_enabled'].nil? -Settings.gitlab['issue_closing_pattern'] = '^([Cc]loses|[Ff]ixes) #(\d+)' if Settings.gitlab['issue_closing_pattern'].nil? +Settings.gitlab['issue_closing_pattern'] = '([Cc]loses|[Ff]ixes) #(\d+)' if Settings.gitlab['issue_closing_pattern'].nil? Settings.gitlab['default_projects_features'] ||= {} Settings.gitlab.default_projects_features['issues'] = true if Settings.gitlab.default_projects_features['issues'].nil? Settings.gitlab.default_projects_features['merge_requests'] = true if Settings.gitlab.default_projects_features['merge_requests'].nil? diff --git a/doc/api/README.md b/doc/api/README.md index 6971e08f010418207bb2bff312365466e51b656e..ee24449343a4aa5e6f66e3ba391460b0a701889d 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -117,7 +117,7 @@ When listing resources you can pass the following parameters: + [Deploy Keys](deploy_keys.md) + [System Hooks](system_hooks.md) + [Groups](groups.md) -+ [User Teams](user_teams.md) + ## Clients diff --git a/doc/api/deploy_keys.md b/doc/api/deploy_keys.md index fbb1e45bccdac13d62be809e603acbac7bd05fe7..50d2b82c36f4143ab7a1f1714b600e8aaa83b499 100644 --- a/doc/api/deploy_keys.md +++ b/doc/api/deploy_keys.md @@ -20,13 +20,15 @@ Parameters: "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4 596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4 soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", + "created_at":"2013-10-02T10:12:29Z" }, { "id": 3, "title" : "Another Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4 596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4 - soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=" + soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", + "created_at":"2013-10-02T11:12:29Z" } ] ``` @@ -51,7 +53,8 @@ Parameters: "title" : "Public key", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4 596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4 - soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=" + soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", + "created_at":"2013-10-02T10:12:29Z" } ``` diff --git a/doc/api/groups.md b/doc/api/groups.md index fb77901c65be5c44e9c05af6ff11b40d4b71bfde..492dce066356b95d54aba52e200b574484a8bdf4 100644 --- a/doc/api/groups.md +++ b/doc/api/groups.md @@ -8,12 +8,12 @@ GET /groups ```json [ - { - "id": 1, - "name": "Foobar Group", - "path": "foo-bar", - "owner_id": 18 - } + { + "id": 1, + "name": "Foobar Group", + "path": "foo-bar", + "owner_id": 18 + } ] ``` @@ -59,6 +59,19 @@ Parameters: ## Group members + +**Group access levels** + +The group access levels are defined in the `Gitlab::Access` module. Currently, these levels are recognized: + +``` + GUEST = 10 + REPORTER = 20 + DEVELOPER = 30 + MASTER = 40 + OWNER = 50 +``` + ### List group members Get a list of group members viewable by the authenticated user. diff --git a/doc/api/issues.md b/doc/api/issues.md index 723c8acf381604c104b1465c00c7099de04584ed..c8702439739628512e24f26add7817dcb4edc420 100644 --- a/doc/api/issues.md +++ b/doc/api/issues.md @@ -22,10 +22,10 @@ GET /issues "username": "john_smith", "email": "john@example.com", "name": "John Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:00:58Z" }, - "state": 'closed', + "state": "closed", "updated_at": "2012-07-02T17:53:12Z", "created_at": "2012-07-02T17:53:12Z" }, @@ -42,7 +42,7 @@ GET /issues "title": "v1.0", "description": "", "due_date": "2012-07-20", - "state": 'reopenend', + "state": "reopenend", "updated_at": "2012-07-04T13:42:48Z", "created_at": "2012-07-04T13:42:48Z" }, @@ -51,7 +51,7 @@ GET /issues "username": "jack_smith", "email": "jack@example.com", "name": "Jack Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:01:01Z" }, "author": { @@ -59,10 +59,10 @@ GET /issues "username": "john_smith", "email": "john@example.com", "name": "John Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:00:58Z" }, - "state": 'opened', + "state": "opened", "updated_at": "2012-07-12T13:43:19Z", "created_at": "2012-06-28T12:58:06Z" } @@ -111,7 +111,7 @@ Parameters: "title": "v1.0", "description": "", "due_date": "2012-07-20", - "state": 'closed', + "state": "closed", "updated_at": "2012-07-04T13:42:48Z", "created_at": "2012-07-04T13:42:48Z" }, @@ -120,7 +120,7 @@ Parameters: "username": "jack_smith", "email": "jack@example.com", "name": "Jack Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:01:01Z" }, "author": { @@ -128,10 +128,10 @@ Parameters: "username": "john_smith", "email": "john@example.com", "name": "John Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:00:58Z" }, - "state": 'opened', + "state": "opened", "updated_at": "2012-07-12T13:43:19Z", "created_at": "2012-06-28T12:58:06Z" } diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index 111c52112ebc806c8a70a1adc1e336160176a930..e69d4bc99b984a39c990edeaf82a01cdb773cf71 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -19,14 +19,13 @@ Parameters: "source_branch":"test1", "project_id":3, "title":"test1", - "closed":true, - "merged":false, + "state":"opened", "author":{ "id":1, "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" }, "assignee":{ @@ -34,7 +33,7 @@ Parameters: "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" } } @@ -62,14 +61,13 @@ Parameters: "source_branch":"test1", "project_id":3, "title":"test1", - "closed":true, - "merged":false, + "state":"merged", "author":{ "id":1, "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" }, "assignee":{ @@ -77,7 +75,7 @@ Parameters: "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" } } @@ -97,7 +95,7 @@ Parameters: + `id` (required) - The ID of a project + `source_branch` (required) - The source branch + `target_branch` (required) - The target branch -+ `assignee_id` - Assignee user ID ++ `assignee_id` (optional) - Assignee user ID + `title` (required) - Title of MR ```json @@ -107,14 +105,13 @@ Parameters: "source_branch":"test1", "project_id":3, "title":"test1", - "closed":true, - "merged":false, + "state":"opened", "author":{ "id":1, "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" }, "assignee":{ @@ -122,7 +119,7 @@ Parameters: "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" } } @@ -145,24 +142,22 @@ Parameters: + `target_branch` - The target branch + `assignee_id` - Assignee user ID + `title` - Title of MR -+ `closed` - Status of MR. true - closed - ```json + { "id":1, "target_branch":"master", "source_branch":"test1", "project_id":3, "title":"test1", - "closed":true, - "merged":false, + "state":"opened", "author":{ "id":1, "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" }, "assignee":{ @@ -170,7 +165,7 @@ Parameters: "username": "admin", "email":"admin@local.host", "name":"Administrator", - "blocked":false, + "state":"active", "created_at":"2012-04-29T08:46:00Z" } } diff --git a/doc/api/milestones.md b/doc/api/milestones.md index aa8f1bf5e02b846e588583324a96b336bef8d4ab..2bdca68351bd6bd7208a1402d8e72fd6f1f03441 100644 --- a/doc/api/milestones.md +++ b/doc/api/milestones.md @@ -6,6 +6,21 @@ Returns a list of project milestones. GET /projects/:id/milestones ``` +```json +[ + { + "id":12, + "project_id":16, + "title":"10.0", + "description":"Version", + "due_date":"2013-11-29", + "state":"active", + "updated_at":"2013-10-02T09:24:18Z", + "created_at":"2013-10-02T09:24:18Z" + } +] +``` + Parameters: + `id` (required) - The ID of a project diff --git a/doc/api/notes.md b/doc/api/notes.md index 4b57f636a0143e6075b2bb761f58a31ffa939d1f..397aa87aadff10aa72e6a74098e77a8ad0622ef7 100644 --- a/doc/api/notes.md +++ b/doc/api/notes.md @@ -8,17 +8,22 @@ Get a list of project wall notes. GET /projects/:id/notes ``` +Parameters: + ++ `id` (required) - The ID of a project + ```json [ { "id": 522, "body": "The solution is rather tricky", + "attachment":null, "author": { "id": 1, "username": "john_smith", "email": "john@example.com", "name": "John Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:00:58Z" }, "created_at": "2012-11-27T19:16:44Z" @@ -26,11 +31,6 @@ GET /projects/:id/notes ] ``` -Parameters: - -+ `id` (required) - The ID of a project - - ### Get single wall note Returns a single wall note. @@ -74,6 +74,38 @@ Parameters: + `id` (required) - The ID of a project + `issue_id` (required) - The ID of an issue +```json +[ + { + "id":302, + "body":"_Status changed to closed_", + "attachment":null, + "author":{ + "id":1, + "username":"pipin", + "email":"admin@example.com", + "name":"Pip", + "state":"active", + "created_at":"2013-09-30T13:46:01Z" + }, + "created_at":"2013-10-02T09:22:45Z" + }, + { + "id":305, + "body":"Text of the comment\r\n", + "attachment":null, + "author":{ + "id":1, + "username":"pipin", + "email":"admin@example.com", + "name":"Pip", + "state":"active", + "created_at":"2013-09-30T13:46:01Z" + }, + "created_at":"2013-10-02T09:56:03Z" + } +] +``` ### Get single issue note @@ -135,6 +167,24 @@ Parameters: + `snippet_id` (required) - The ID of a project snippet + `note_id` (required) - The ID of an snippet note +```json +{ + "id":52, + "title":"Snippet", + "file_name":"snippet.rb", + "author":{ + "id":1, + "username":"pipin", + "email":"admin@example.com", + "name":"Pip", + "state":"active", + "created_at":"2013-09-30T13:46:01Z" + }, + "expires_at":null, + "updated_at":"2013-10-02T07:34:20Z", + "created_at":"2013-10-02T07:34:20Z" +} +``` ### Create new snippet note @@ -181,6 +231,22 @@ Parameters: + `merge_request_id` (required) - The ID of a project merge request + `note_id` (required) - The ID of a merge request note +```json +{ + "id":301, + "body":"Comment for MR", + "attachment":null, + "author":{ + "id":1, + "username":"pipin", + "email":"admin@example.com", + "name":"Pip", + "state":"active", + "created_at":"2013-09-30T13:46:01Z" + }, + "created_at":"2013-10-02T08:57:14Z" +} +``` ### Create new merge request note diff --git a/doc/api/project_snippets.md b/doc/api/project_snippets.md index 04ea367d51807cf1033f230e5f9a0a8ed041df49..f7b7fc8fbb5bfbaba45e4c740e6afb43f307dbd4 100644 --- a/doc/api/project_snippets.md +++ b/doc/api/project_snippets.md @@ -34,7 +34,7 @@ Parameters: "username": "john_smith", "email": "john@example.com", "name": "John Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:00:58Z" }, "expires_at": null, diff --git a/doc/api/projects.md b/doc/api/projects.md index 5150331e7d7face41f2ca53bd234531f4bc3b536..0f73fb434da98bf021a442ba86e73e8ea86de1cc 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -11,51 +11,72 @@ GET /projects ```json [ { - "id": 3, - "name": "rails", + "id": 4, "description": null, "default_branch": "master", + "public": false, + "ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git", + "http_url_to_repo": "http://example.com/diaspora/diaspora-client.git", + "web_url": "http://example.com/diaspora/diaspora-client", "owner": { - "id": 1, - "username": "john_smith", - "email": "john@example.com", - "name": "John Smith", - "blocked": false, - "created_at": "2012-05-23T08:00:58Z" + "id": 3, + "name": "Diaspora", + "created_at": "2013-09-30T13: 46: 02Z" }, - "public": true, - "path": "rails", - "path_with_namespace": "rails/rails", - "issues_enabled": false, - "merge_requests_enabled": false, - "wall_enabled": true, + "name": "Diaspora Client", + "name_with_namespace": "Diaspora / Diaspora Client", + "path": "diaspora-client", + "path_with_namespace": "diaspora/diaspora-client", + "issues_enabled": true, + "merge_requests_enabled": true, + "wall_enabled": false, "wiki_enabled": true, - "created_at": "2012-05-23T08:05:02Z", - "last_activity_at": "2012-05-23T08:05:02Z" + "snippets_enabled": false, + "created_at": "2013-09-30T13: 46: 02Z", + "last_activity_at": "2013-09-30T13: 46: 02Z", + "namespace": { + "created_at": "2013-09-30T13: 46: 02Z", + "description": "", + "id": 3, + "name": "Diaspora", + "owner_id": 1, + "path": "diaspora", + "updated_at": "2013-09-30T13: 46: 02Z" + } }, { - "id": 5, - "name": "gitlab", + "id": 6, "description": null, - "default_branch": "api", - "owner": { - "id": 1, - "username": "john_smith", - "email": "john@example.com", - "name": "John Smith", - "blocked": false, - "created_at": "2012-05-23T08:00:58Z" + "default_branch": "master", + "public": false, + "ssh_url_to_repo": "git@example.com:brightbox/puppet.git", + "http_url_to_repo": "http://example.com/brightbox/puppet.git", + "web_url": "http://example.com/brightbox/puppet", + "owner": { + "id": 4, + "name": "Brightbox", + "created_at": "2013-09-30T13:46:02Z" }, - "public": true, - "path": "gitlab", - "path_with_namespace": "randx/gitlab", + "name": "Puppet", + "name_with_namespace": "Brightbox / Puppet", + "path": "puppet", + "path_with_namespace": "brightbox/puppet", "issues_enabled": true, "merge_requests_enabled": true, - "wall_enabled": true, + "wall_enabled": false, "wiki_enabled": true, - "snippets_enabled": true, - "created_at": "2012-05-30T12:49:20Z", - "last_activity_at": "2012-05-23T08:05:02Z" + "snippets_enabled": false, + "created_at": "2013-09-30T13:46:02Z", + "last_activity_at": "2013-09-30T13:46:02Z", + "namespace": { + "created_at": "2013-09-30T13:46:02Z", + "description": "", + "id": 4, + "name": "Brightbox", + "owner_id": 1, + "path": "brightbox", + "updated_at": "2013-09-30T13:46:02Z" + } } ] ``` @@ -76,29 +97,38 @@ Parameters: ```json { - "id": 5, - "name": "gitlab", - "name_with_namespace": "GitLab / gitlabhq", + "id": 3, "description": null, - "default_branch": "api", + "default_branch": "master", + "public": false, + "ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git", + "http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git", + "web_url": "http://example.com/diaspora/diaspora-project-site", "owner": { - "id": 1, - "username": "john_smith", - "email": "john@example.com", - "name": "John Smith", - "blocked": false, - "created_at": "2012-05-23T08:00:58Z" + "id": 3, + "name": "Diaspora", + "created_at": "2013-09-30T13: 46: 02Z" }, - "public": true, - "path": "gitlab", - "path_with_namespace": "randx/gitlab", + "name": "Diaspora Project Site", + "name_with_namespace": "Diaspora / Diaspora Project Site", + "path": "diaspora-project-site", + "path_with_namespace": "diaspora/diaspora-project-site", "issues_enabled": true, "merge_requests_enabled": true, - "wall_enabled": true, + "wall_enabled": false, "wiki_enabled": true, - "snippets_enabled": true, - "created_at": "2012-05-30T12:49:20Z", - "last_activity_at": "2012-05-23T08:05:02Z" + "snippets_enabled": false, + "created_at": "2013-09-30T13: 46: 02Z", + "last_activity_at": "2013-09-30T13: 46: 02Z", + "namespace": { + "created_at": "2013-09-30T13: 46: 02Z", + "description": "", + "id": 3, + "name": "Diaspora", + "owner_id": 1, + "path": "diaspora", + "updated_at": "2013-09-30T13: 46: 02Z" + } } ``` @@ -191,17 +221,6 @@ Parameters: + `snippets_enabled` (optional) + `public` (optional) -**Project access levels** - -The project access levels are defined in the `user_project.rb` class. Currently, these levels are recognized: - -``` - GUEST = 10 - REPORTER = 20 - DEVELOPER = 30 - MASTER = 40 -``` - ### Create project for user @@ -261,7 +280,7 @@ Parameters: "username": "john_smith", "email": "john@example.com", "name": "John Smith", - "blocked": false, + "state": "active", "created_at": "2012-05-23T08:00:58Z", "access_level": 40 } @@ -417,6 +436,55 @@ Parameters: + `id` (required) - The ID of the project +```json +[ + { + "name":"async", + "commit": { + "id":"a2b702edecdf41f07b42653eb1abe30ce98b9fca", + "parents": [{ + "id":"3f94fc7c85061973edc9906ae170cc269b07ca55" + }], + "tree": "c68537c6534a02cc2b176ca1549f4ffa190b58ee", + "message":"give caolan his credit where it's due (up top)", + "author": { + "name":"Jeremy Ashkenas", + "email":"jashkenas@example.com" + }, + "committer": { + "name":"Jeremy Ashkenas", + "email":"jashkenas@example.com" + }, + "authored_date":"2010-12-08T21:28:50+00:00", + "committed_date":"2010-12-08T21:28:50+00:00" + }, + "protected":false + }, + { + "name": "gh-pages", + "commit": { + "id": "101c10a60019fe870d21868835f65c25d64968fc", + "parents": [{ + "id": "9c15d2e26945a665131af5d7b6d30a06ba338aaa" + }], + "tree": "fb5cc9d45da3014b17a876ad539976a0fb9b352a", + "message": "Underscore.js 1.5.2", + "author": { + "name": "Jeremy Ashkenas", + "email": "jashkenas@example.com" + }, + "committer": { + "name": "Jeremy Ashkenas", + "email": "jashkenas@example.com" + }, + "authored_date": "2013-09-07T12: 58: 21+00: 00", + "committed_date": "2013-09-07T12: 58: 21+00: 00" + }, + "protected": false + } +] + +``` ### List single branch diff --git a/doc/api/system_hooks.md b/doc/api/system_hooks.md index dca22c43f833fc0a903ce3a71873c1ba755adfff..5eeb3652d577a13a5e2c1de1732932c7f026bcbd 100644 --- a/doc/api/system_hooks.md +++ b/doc/api/system_hooks.md @@ -12,6 +12,15 @@ Parameters: + **none** +```json +[ + { + "id":3, + "url":"http://example.com/hook", + "created_at":"2013-10-02T10:15:31Z" + } +] +``` ## Add new system hook hook @@ -34,6 +43,16 @@ Parameters: + `id` (required) - The ID of hook +```json +{ + "event_name":"project_create", + "name":"Ruby", + "path":"ruby", + "project_id":1, + "owner_name":"Someone", + "owner_email":"example@gitlabhq.com" +} +``` ## Delete system hook diff --git a/doc/api/user_teams.md b/doc/api/user_teams.md deleted file mode 100644 index cf467a54667d942331332b5079cbd6e3acfd51fb..0000000000000000000000000000000000000000 --- a/doc/api/user_teams.md +++ /dev/null @@ -1,209 +0,0 @@ -## User teams - -### List user teams - -Get a list of user teams viewable by the authenticated user. - -``` -GET /user_teams -``` - -```json -[ - { - id: 1, - name: "User team 1", - path: "user_team1", - owner_id: 1 - }, - { - id: 2, - name: "User team 2", - path: "user_team2", - owner_id: 1 - } -] -``` - - -### Get single user team - -Get a specific user team, identified by user team ID, which is viewable by the authenticated user. - -``` -GET /user_teams/:id -``` - -Parameters: - -+ `id` (required) - The ID of a user_team - -```json -{ - id: 1, - name: "User team 1", - path: "user_team1", - owner_id: 1 -} -``` - - -### Create user team - -Creates new user team owned by user. Available only for admins. - -``` -POST /user_teams -``` - -Parameters: - -+ `name` (required) - new user team name -+ `path` (required) - new user team internal name - - - -## User team members - -### List user team members - -Get a list of project team members. - -``` -GET /user_teams/:id/members -``` - -Parameters: - -+ `id` (required) - The ID of a user_team - - -### Get user team member - -Gets a user team member. - -``` -GET /user_teams/:id/members/:user_id -``` - -Parameters: - -+ `id` (required) - The ID of a user_team -+ `user_id` (required) - The ID of a user - -```json -{ - id: 2, - username: "john_doe", - email: "joh@doe.org", - name: "John Doe", - state: "active", - created_at: "2012-10-22T14:13:35Z", - access_level: 30 -} -``` - - -### Add user team member - -Adds a user to a user team. - -``` -POST /user_teams/:id/members -``` - -Parameters: - -+ `id` (required) - The ID of a user team -+ `user_id` (required) - The ID of a user to add -+ `access_level` (required) - Project access level - - -### Remove user team member - -Removes user from user team. - -``` -DELETE /user_teams/:id/members/:user_id -``` - -Parameters: - -+ `id` (required) - The ID of a user team -+ `user_id` (required) - The ID of a team member - -## User team projects - -### List user team projects - -Get a list of project team projects. - -``` -GET /user_teams/:id/projects -``` - -Parameters: - -+ `id` (required) - The ID of a user_team - - -### Get user team project - -Gets a user team project. - -``` -GET /user_teams/:id/projects/:project_id -``` - -Parameters: - -+ `id` (required) - The ID of a user_team -+ `project_id` (required) - The ID of a user - -```json -{ - id: 12, - name: "project1", - description: null, - default_branch: "develop", - public: false, - path: "project1", - path_with_namespace: "group1/project1", - issues_enabled: false, - merge_requests_enabled: true, - wall_enabled: true, - wiki_enabled: false, - created_at: "2013-03-11T12:59:08Z", - greatest_access_level: 30 -} -``` - - -### Add user team project - -Adds a project to a user team. - -``` -POST /user_teams/:id/projects -``` - -Parameters: - -+ `id` (required) - The ID of a user team -+ `project_id` (required) - The ID of a project to add -+ `greatest_access_level` (required) - Maximum project access level - - -### Remove user team project - -Removes project from user team. - -``` -DELETE /user_teams/:id/projects/:project_id -``` - -Parameters: - -+ `id` (required) - The ID of a user team -+ `project_id` (required) - The ID of a team project - diff --git a/doc/api/users.md b/doc/api/users.md index 50c0f560d870644aad2807bb959a6a5536c9616a..16479ea6e0df7cf35b32b4f5f904f3bb929d44af 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -43,7 +43,8 @@ GET /users "theme_id": 1, "color_scheme_id": 3, "is_admin": false, - "can_create_group": true + "can_create_group": true, + "can_create_project": true } ] ``` @@ -78,7 +79,8 @@ Parameters: "theme_id": 1, "color_scheme_id": 2, "is_admin": false, - "can_create_group": true + "can_create_group": true, + "can_create_project": true } ``` diff --git a/doc/install/databases.md b/doc/install/databases.md index 6477e1c967c1531485e94fa3fe88f2e14122ddf8..be7bc0aad2ec471782a096548ad4b5f87aaca1ae 100644 --- a/doc/install/databases.md +++ b/doc/install/databases.md @@ -58,7 +58,7 @@ GitLab supports the following databases: sudo -u postgres psql -d template1 # Create a user for GitLab. (change $password to a real password) - template1=# CREATE USER git WITH PASSWORD '$password'; + template1=# CREATE USER git; # Create the GitLab production database & grant all privileges on database template1=# CREATE DATABASE gitlabhq_production OWNER git; diff --git a/doc/install/installation.md b/doc/install/installation.md index 03ea5fbb28f6ac248078c1a9255843ac523a73c0..933799776bd12aa0ceea781d26b0fa9a641e86f2 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -216,18 +216,18 @@ Make sure to edit both `gitlab.yml` and `unicorn.rb` to match your setup. # Mysql sudo -u git cp config/database.yml.mysql config/database.yml - or - - # PostgreSQL - sudo -u git cp config/database.yml.postgresql config/database.yml - # Make sure to update username/password in config/database.yml. # You only need to adapt the production settings (first part). # If you followed the database guide then please do as follows: - # Change 'root' to 'gitlab' # Change 'secure password' with the value you have given to $password # You can keep the double quotes around the password sudo -u git -H editor config/database.yml + + or + + # PostgreSQL + sudo -u git cp config/database.yml.postgresql config/database.yml + # Make config/database.yml readable to git only sudo -u git -H chmod o-rwx config/database.yml