{"action":"created","issue":{"url":"https://api.github.com/repos/gitlabhq/gitlabhq/issues/9301","labels_url":"https://api.github.com/repos/gitlabhq/gitlabhq/issues/9301/labels{/name}","comments_url":"https://api.github.com/repos/gitlabhq/gitlabhq/issues/9301/comments","events_url":"https://api.github.com/repos/gitlabhq/gitlabhq/issues/9301/events","html_url":"https://github.com/gitlabhq/gitlabhq/pull/9301","id":76750024,"number":9301,"title":"Add Composer Project Service (updated #8768)","user":{"login":"ikappas","id":7887523,"avatar_url":"https://avatars.githubusercontent.com/u/7887523?v=3","gravatar_id":"","url":"https://api.github.com/users/ikappas","html_url":"https://github.com/ikappas","followers_url":"https://api.github.com/users/ikappas/followers","following_url":"https://api.github.com/users/ikappas/following{/other_user}","gists_url":"https://api.github.com/users/ikappas/gists{/gist_id}","starred_url":"https://api.github.com/users/ikappas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikappas/subscriptions","organizations_url":"https://api.github.com/users/ikappas/orgs","repos_url":"https://api.github.com/users/ikappas/repos","events_url":"https://api.github.com/users/ikappas/events{/privacy}","received_events_url":"https://api.github.com/users/ikappas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/gitlabhq/gitlabhq/labels/Awaiting%20developer%20action/feedback","name":"Awaiting developer action/feedback","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-05-15T14:49:11Z","updated_at":"2015-07-19T13:49:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/gitlabhq/gitlabhq/pulls/9301","html_url":"https://github.com/gitlabhq/gitlabhq/pull/9301","diff_url":"https://github.com/gitlabhq/gitlabhq/pull/9301.diff","patch_url":"https://github.com/gitlabhq/gitlabhq/pull/9301.patch"},"body":"![composer-service-1](https://cloud.githubusercontent.com/assets/7887523/7655200/99e6a046-fb2a-11e4-8af2-b0880e6b46fb.jpg)\r\n\r\nThis commit adds the per-project option to expose a project as a composer package. It generates and maintains a packages.json file along with a project specific /p/project-{id}.json file (conforming to https://getcomposer.org/doc/05-repositories.md#includes) in the public/ folder, allowing the GitLab install to be used as a Composer repository.\r\n\r\n```\r\nNote: There is a known issue integrating with the GitLab-Omnibus, namely that the public folder\r\nis owned by 'root' and GitLab is run as 'git'. The GitLab-Omnibus chef script needs to be updated \r\nto allow access to both packages.json and the /p/ folder in the public/ folder\r\n```\r\n\r\nIt extends on the original idea providing extended service configuration options that allow to work with packages that do not include a composer.json file.\r\n\r\nIt has three operational modes allowing for:\r\n\r\n1. Default: Searches for a composer.json file in the source code root folder and if found exports the package.\r\n2. Project: Parse project attributes to create a virtual composer.json to use for exporting the package.\r\n3. Advanced: Parse a custom json string supplied in the service configuration to export the package.\r\n\r\nIt also has branch / tag filters that allows fine-grained filtering of specific branches/tags to be exposed as composer packages. \r\n\r\nThis is and updated merge request for:\r\n1. https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/106\r\n2. https://github.com/gitlabhq/gitlabhq/pull/8768 \r\n\r\nPlease see feature thread http://feedback.gitlab.com/forums/176466-general/suggestions/5953067-provide-composer-package-repository-support\r\n\r\nWhen a project that has activated the composer service receives a branch/ tag push, the public /packages.json file and project specific json file will be refreshed to include version definitions for the branches and tags as specified in the service configuration in the project's repository."},"comment":{"url":"https://api.github.com/repos/gitlabhq/gitlabhq/issues/comments/122662704","html_url":"https://github.com/gitlabhq/gitlabhq/pull/9301#issuecomment-122662704","issue_url":"https://api.github.com/repos/gitlabhq/gitlabhq/issues/9301","id":122662704,"user":{"login":"axilleas","id":340023,"avatar_url":"https://avatars.githubusercontent.com/u/340023?v=3","gravatar_id":"","url":"https://api.github.com/users/axilleas","html_url":"https://github.com/axilleas","followers_url":"https://api.github.com/users/axilleas/followers","following_url":"https://api.github.com/users/axilleas/following{/other_user}","gists_url":"https://api.github.com/users/axilleas/gists{/gist_id}","starred_url":"https://api.github.com/users/axilleas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/axilleas/subscriptions","organizations_url":"https://api.github.com/users/axilleas/orgs","repos_url":"https://api.github.com/users/axilleas/repos","events_url":"https://api.github.com/users/axilleas/events{/privacy}","received_events_url":"https://api.github.com/users/axilleas/received_events","type":"User","site_admin":false},"created_at":"2015-07-19T13:49:25Z","updated_at":"2015-07-19T13:49:25Z","body":"pinging the pirate crew @jvanbaarsen @DouweM @tsigo @dblessing \r\n\r\nand @maxlazio for the omnibus Note."}}