{"id":30743463,"url":"https://github.com/ukho/spo-recursive-file-upload","last_synced_at":"2025-09-04T02:07:27.423Z","repository":{"id":62644138,"uuid":"538881955","full_name":"UKHO/spo-recursive-file-upload","owner":"UKHO","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-02T19:15:07.000Z","size":8352,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-07T03:07:42.277Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UKHO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-20T08:22:17.000Z","updated_at":"2022-11-05T00:34:12.000Z","dependencies_parsed_at":"2023-02-18T18:46:10.882Z","dependency_job_id":null,"html_url":"https://github.com/UKHO/spo-recursive-file-upload","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":0.4117647058823529,"last_synced_commit":"dcbe8006a575520725c9af2ddb799f21c63e1f4d"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/UKHO/spo-recursive-file-upload","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHO%2Fspo-recursive-file-upload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHO%2Fspo-recursive-file-upload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHO%2Fspo-recursive-file-upload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHO%2Fspo-recursive-file-upload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UKHO","download_url":"https://codeload.github.com/UKHO/spo-recursive-file-upload/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHO%2Fspo-recursive-file-upload/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273539317,"owners_count":25123499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"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":[],"created_at":"2025-09-04T02:07:26.681Z","updated_at":"2025-09-04T02:07:27.413Z","avatar_url":"https://github.com/UKHO.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPO Recursive File Upload\n\nUpload a file, or files, to SharePoint Online using the `spsave` package.\n\n## Inputs\n\n`site_url`: Destination SPO site URL (without tralling / i.e. https://site not https://site/)\n`username`: SPO account username. **Must have write privileges on the designated site.**  \n`password`: SPO account password.  \n`destination_path`: Relative destination path on SPO site. If path does not exist, it will be created. (without prefixed and trailing forward slash, i.e. 'How To Train Your Dragon/docs' not '/How To Train Your Dragon/docs/')  \n`source_path`: Source file path(s) to be uploaded to SPO. Separate multiple files using a semicolon `;`.\n`base`: **DEPRICATED** If you want to preserve folders structure inside SharePoint folder, you can provide a base for you files. For example when using glob ['build/css/*.*'] and base: 'build', all css files will be loaded under [SharePoint folder]/css.  \n\n## Things you need to know\n\n- Files are directly uploaded via the `glob` method in the `spsave` package.\n- SPO account must not have multi-factor authentication turned on, or must use an application-specific password. Service accounts are preferred.\n- Multiple files are uploaded to the same destination path.\n- run `npm install` to get packages\n- Pack is complied using vercel/ncc\n  - To build just run `npm run package`, this will compile the typescript and run ncc\n\n## Example Usage\n\n```yaml\n...\nuses: ukho/spo-recursive-file-upload@vversion\nwith:\n  site_url: https://domain.sharepoint.com/sites/my-site\n  username: ${{ secrets.SPO_USERNAME }}\n  password: ${{ secrets.SPO_PASSWORD }}\n  destination_path: Shared Documents\n  source_path: docs\n  base: docs\n...\n```\n\n## Issues\n\nThis is released under an MIT any issues please feel free to take a copy, we will not be handling issues outside of our own use cases.\n\n## Credits\n\nThis base application was taken from [s-KaiNet's SPSave](https://github.com/s-KaiNet/spsave).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fukho%2Fspo-recursive-file-upload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fukho%2Fspo-recursive-file-upload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fukho%2Fspo-recursive-file-upload/lists"}