{"id":26178707,"url":"https://github.com/linkorb/org-sync","last_synced_at":"2026-04-18T23:35:31.865Z","repository":{"id":57015244,"uuid":"200227103","full_name":"linkorb/org-sync","owner":"linkorb","description":"Organization data synchronization library","archived":false,"fork":false,"pushed_at":"2019-10-20T22:28:36.000Z","size":59,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-26T11:44:38.356Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkorb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-02T11:59:34.000Z","updated_at":"2019-08-22T11:43:17.000Z","dependencies_parsed_at":"2022-08-22T09:31:33.811Z","dependency_job_id":null,"html_url":"https://github.com/linkorb/org-sync","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/linkorb/org-sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Forg-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Forg-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Forg-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Forg-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkorb","download_url":"https://codeload.github.com/linkorb/org-sync/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Forg-sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31988992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"ssl_error","status_checked_at":"2026-04-18T20:23:29.375Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-11T21:42:11.177Z","updated_at":"2026-04-18T23:35:31.839Z","avatar_url":"https://github.com/linkorb.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OrgSync\n\u003e Load an organizational structure (users + groups) from array. Push this data to multiple adapters\n\n\"Push\" in this case means \"Create or Update or Remove\". When a User or Group is present in the backend service, but not in the local Organization object, the object should also be removed on the remote service.\n\nList of adapters:\n* [GitHub](https://github.com/) (WIP)\n* [Camunda](https://docs.camunda.org/manual/7.9/)\n* LDAP (Planned)\n* [MatterMost](https://mattermost.com/) (Planned)\n\n## Installation\n\nInstall the latest version with:\n\n```sh\n$ composer require linkorb/org-sync\n```\n\n## Usage\n\n`LinkORB\\OrgSync\\SynchronizationMediator\\SynchronizationMediator` performs basic syncing operations such as:\n* sync organization\n* sync user\n* sync group\n* set password\n* pull organization (planned)\n\n```php\n$organization = $this-\u003esynchronizationMediator-\u003einitialize(\n    $targetsArray,\n    $organizationArray\n);\n\n$this-\u003esynchronizationMediator-\u003epushOrganization($organization);\n```\n\n### Examples\n##### Organization structure:\n\n```php\nArray\n(\n    [name] =\u003e Organization name\n    [users] =\u003e Array\n        (\n            [username] =\u003e Array\n                (\n                    [email] =\u003e user@email\n                    [displayName] =\u003e User Name\n                    [avatar] =\u003e https://example.com/user_avatar.gif\n                    [properties] =\u003e Array\n                        (\n                            [key] =\u003e value\n                        )\n                )\n        )\n    [groups] =\u003e Array\n        (\n            [group name] =\u003e Array\n                    [parent] =\u003e parent group name\n                    [displayName] =\u003e Group\n                    [avatar] =\u003e https://example.com/team_avatar.png\n                    [members] =\u003e Array\n                        (\n                            [0] =\u003e member1\n                            [1] =\u003e member2\n                        )\n                    [properties] =\u003e Array\n                        (\n                            [key] =\u003e value\n                        )\n                    [targets] =\u003e Array\n                        (\n                            [0] =\u003e target name\n                        )\n                )\n        )\n)\n```\nEmpty `members` and/or `targets` section under `groups` means all `members` and/or `targets` for that group.\n\n##### Targets structure:\n\n```php\nArray\n(\n    [targetName] =\u003e Array\n        (\n            [type] =\u003e targetType\n            [baseUrl] =\u003e http://172.17.0.1:8080/engine-rest/\n        )\n)\n```\n\n### Integrations\n* [OrgSync CLI](https://github.com/linkorb/org-sync-cli)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkorb%2Forg-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkorb%2Forg-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkorb%2Forg-sync/lists"}