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.