Skip to content

Latest commit

 

History

History
152 lines (108 loc) · 5.06 KB

github.md

File metadata and controls

152 lines (108 loc) · 5.06 KB

Cartography - GitHub Schema

Table of Contents generated with DocToc

GitHubRepository

Representation of a single GitHubRepository (repo) repository object. This node contains all data unique to the repo.

Field Description
firstseen Timestamp of when a sync job first created this node
lastupdated Timestamp of the last time the node was updated
id The GitHub repo id. These are not unique across GitHub instances, so are prepended with the API URL the id applies to
createdat GitHub timestamp from when the repo was created
name Name of the repo
fullname Name of the organization and repo together
description Text describing the repo
primarylanguage The primary language used in the repo
homepage The website used as a homepage for project information
defaultbranch The default branch used by the repo, typically master
defaultbranchid The unique identifier of the default branch
private True if repo is private
disabled True if repo is disabled
archived True if repo is archived
locked True if repo is locked
giturl URL used to access the repo from git commandline
url Web URL for viewing the repo
sshurl URL for access the repo via SSH
updatedat GitHub timestamp for last time repo was modified

Relationships

  • GitHubUsers or GitHubOrganizations own GitHubRepositories.

    (GitHubUser)-[OWNER]->(GitHubRepository)
    (GitHubOrganization)-[OWNER]->(GitHubRepository)
    
  • GitHubRepositories use ProgrammingLanguages

    (GitHubRepository)-[:LANGUAGE]->(ProgrammingLanguage)
    
  • GitHubRepositories have GitHubBranches

    (GitHubRepository)-[:BRANCH]->(GitHubBranch)
    

GitHubOrganization

Representation of a single GitHubOrganization organization object. This node contains minimal data for the GitHub Organization.

Field Description
firstseen Timestamp of when a sync job first created this node
lastupdated Timestamp of the last time the node was updated
id The URL of the GitHub organization
username Name of the organization

Relationships

  • GitHubOrganizations own GitHubRepositories.

    (GitHubOrganization)-[OWNER]->(GitHubRepository)
    

GitHubUser

Representation of a single GitHubUser user object. This node contains minimal data for the GitHub User.

Field Description
firstseen Timestamp of when a sync job first created this node
lastupdated Timestamp of the last time the node was updated
id The URL of the GitHub user
username Name of the user
fullname The full name
has_2fa_enabled Whether the user has 2-factor authentication enabled
role Either 'ADMIN' (denoting that the user is an owner of a Github organization) or 'MEMBER'
is_site_admin Whether the user is a site admin

Relationships

  • GitHubUsers own GitHubRepositories.

    (GitHubUser)-[OWNER]->(GitHubRepository)
    

GitHubBranch

Representation of a single GitHubBranch ref object. This node contains minimal data for a repository branch.

Field Description
firstseen Timestamp of when a sync job first created this node
lastupdated Timestamp of the last time the node was updated
id The GitHub branch id. These are not unique across GitHub instances, so are prepended with the API URL the id applies to
name Name of the branch

Relationships

  • GitHubRepositories have GitHubBranches.

    (GitHubBranch)<-[BRANCH]-(GitHubRepository)
    

ProgrammingLanguage

Representation of a single Programming Language language object. This node contains programming language information.

Field Description
firstseen Timestamp of when a sync job first created this node
lastupdated Timestamp of the last time the node was updated
id Language ids need not be tracked across instances, so defaults to the name
name Name of the language

Relationships

  • GitHubRepositories use ProgrammingLanguages.

    (ProgrammingLanguage)<-[LANGUAGE]-(GitHubRepository)