{"id":19879917,"url":"https://github.com/nextmcloud/nmcslup","last_synced_at":"2026-05-15T07:33:48.690Z","repository":{"id":64712550,"uuid":"577665725","full_name":"nextmcloud/nmcslup","owner":"nextmcloud","description":"MagentaCloud provisioning SOAP integration","archived":false,"fork":false,"pushed_at":"2026-04-29T12:56:54.000Z","size":169,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-04-29T14:45:22.409Z","etag":null,"topics":["magentacloud"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextmcloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-13T08:51:05.000Z","updated_at":"2026-04-29T12:54:04.000Z","dependencies_parsed_at":"2024-11-11T14:24:36.440Z","dependency_job_id":"f5846c4a-c1ff-453e-a230-9029c16db74a","html_url":"https://github.com/nextmcloud/nmcslup","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/nextmcloud/nmcslup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextmcloud%2Fnmcslup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextmcloud%2Fnmcslup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextmcloud%2Fnmcslup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextmcloud%2Fnmcslup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextmcloud","download_url":"https://codeload.github.com/nextmcloud/nmcslup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextmcloud%2Fnmcslup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33057923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-15T02:00:06.351Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["magentacloud"],"created_at":"2024-11-12T17:09:46.036Z","updated_at":"2026-05-15T07:33:48.669Z","avatar_url":"https://github.com/nextmcloud.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NextMagentaCloud provisioning functions\n\n## App configuration\n\n|App parameter                | Purpose                                                                                                     |\n|-----------------------------|-------------------------------------------------------------------------------------------------------------|\n|nmcslup slupid               | slup application id to use for registration                                                                 |\n|nmcslup slupsecret           | slup secret to use for registration                                                                         |\n|nmcslup slupgwendpoint       | Webservice endpoint URL for SLUP gateway                                                                    |\n|nmcslup slupreceiverurl      | SlupReceiverURL that is sent towards the Slup Gateway via the startSLUP2 request.                           |\n|nmcslup slupcontrolintv      | (optional override, int) interval to OPEN after boot other than 300 (sec)                                   |\n|nmcslup local_cert           | local path to a client certificate for use with SLUP requester authentication.                              |\n|                             | It must be a PEM encoded file which contains your certificate and private key.                              |\n\nRemember that NextCloud app configuration values only support string, so 300sec is '300'.\n\nThe configuration could be done with the following commandline calls (only, no UI):\n```\nsudo -u www-data php /var/www/nextcloud/occ config:app:set nmcslup slupid --value \u003csecret value delivered by slup partner\u003e\nsudo -u www-data php /var/www/nextcloud/occ config:app:set nmcslup slupsecret --value \u003csecret value delivered by slup partner\u003e\nsudo -u www-data php /var/www/nextcloud/occ config:app:set nmcslup slupgwendpoint --value \u003cvalue delivered by slup partner\u003e\nsudo -u www-data php /var/www/nextcloud/occ config:app:set nmcslup slupreceiverurl --value \u003cvalue delivered by slup partner\u003e\nsudo -u www-data php /var/www/nextcloud/occ config:app:set nmcslup slupcontrolintv --value 123\nsudo -u www-data php /var/www/nextcloud/occ config:app:set nmcslup local_cert --value \u003cset value to local path where file is stored\u003e\n```\n\n## Getting API status by API\n\nThere is a public endpoint to ask for the state of the SLUP circuit breaker\n(open, halfopen or closed):\n```\ncurl -X GET -H \"Accept: application/json\" https://mynext.cloud/apps/nmcslup/api/1.0/status\n\n{\"circuit_state\":\"closed\",\"has_token\":\"true\",\"num_msg_since_keepalive\":42}\n```\n\n\n## Running app unit tests\nBefore first run, prepare your app for unittesting by:\n```\ncd custom_apps/myapp\n\n# run once if needed\ncomposer install --no-dev -o\n```\n\nExecute unittests with the mandatory standard run before push:\n```\nphpunit --stderr --bootstrap tests/bootstrap.php tests/unit/MyTest.php\n```\n\nFor quicker development (only!), you could skip large/long running tests\n```\nphpunit --stderr --bootstrap tests/bootstrap.php --exclude-group=large tests/unit/MyTest.php\n```\n\nOr you could limit your call to some methods only:\n```\nphpunit --stderr --bootstrap tests/bootstrap.php --filter='testMethod1|testMethod2' tests/unit/MyTest.php\n```\n\n\n## Tip for logfile filtering:\n```\ntail -f /var/log/nextcloud/nextcloud.json.log |jq 'select(.app==\"nmcprovisioning\")'\n```\n\nOnly user_oidc and nmcslup, without deprecation warnings:\n```\ntail -f /var/log/nextcloud/nextcloud.json.log |jq 'select(.app==\"nmcslup\") | select(.message|contains(\"deprecated\")|not)'\n```\n\n## calling composer\nFor building only\n```\ncomposer install --no-dev -o\n```\nIf you want to check in `vendor/` dir, make sure to call composer in this mode and check in only the files\ngenerated in non-dev mode!\n\nFor dev:\n```\ncomposer install --dev -o\n```\nDon´t check in the additionally pulled dev content!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextmcloud%2Fnmcslup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextmcloud%2Fnmcslup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextmcloud%2Fnmcslup/lists"}