Github API for InterSystems Data Platforms
Import into any namespace and compile.
First create api object to interact with GitHub API (use valid GitHub Token if available):
Set api = ##class(GitHub.API).%New("<your token>")
After that you can query some GitHub APIs. For example to get info about all public repos in organization:
Do api.GetOrgRepos("intersystems-ru","public",.repos)
All availible API calls are listed in class documentation of GitHub.API class.
Some workflows to automate work with GitHub are availible in GitHub.Workflows class.
- Create repos.json file:
{ "mirrors": [{ "from": "intersystems-ru", // owners: user or organization "to": "intersystems-community", "org": 1, // 1: if you want to mirror in organization owner. 0: if user owner. "repos": [ "GitHubAPI" // just repos name f.e. 'GitHubAPI' ] }, { "from": "user1", "to": "user2", "org": 0, "repos": [ "repo1", "repo2" ] }] } - Set repos.json location in param, class
GitHub.API.Parameter Directory = "C:/temp/mirror/" Set api = ##class(GitHub.API).%New("user","pass")Do api.Mirror()
Create task:
- Task Type =
RunLegacyTask - ExecuteCode =
Do ##class(GitHub.API).UpdateMirrors() - Choose the right time to start the task
Everyone is welcome to add methods or wokflows via pull requests.