GitHub APIGitHub API
Watch
0
Star
0
Category
Developer Environment
Works with
Tags
Version
1
Last updated
2018-08-23
Repository
License
Download
Discuss
Details
Version history
Issues
Github API for InterSystems Caché

GitHubAPI

Github API for InterSystems Data Platforms

Installation

Import into any namespace and compile.

Usage

First create api object to interact with GitHub API (provide valid GitHub user and pass):

Set api = ##class(GitHub.API).%New("user","pass")

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.

Mirroring

  1. 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"
        ]
    }]
}
  1. Set repos.json location in param, class GitHub.API. Parameter Directory = "C:/temp/mirror/"
  2. Set api = ##class(GitHub.API).%New("user","pass")
  3. Do api.Mirror()

Task

Create task:

  • Task Type = RunLegacyTask
  • ExecuteCode = Do ##class(GitHub.API).UpdateMirrors()
  • Choose the right time to start the task

Some API method I want is not availible. What do I do?

Everyone is welcome to add methods or wokflows via pull requests.