Skip to content

Schema Reference

The application schema is used to configure the objects returned from a connector.

Note

  • The Account Schema tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as Entitlement or Multi-Valued. Refer to Managing Source Account Schemas for more information.

  • The schema attributes that are not present by default must be defined as strings if not specified.

The GitHub Enterprise Server connector uses the following default correlation and object configurations.

The connector aggregates organization members as accounts. It merges records with the same GitHub login across governed organizations.

The connector aggregates teams, organization roles, and repository access as entitlements.

Default Correlation Configuration

Before you aggregate accounts from this source, you can map account attributes with their corresponding identity attributes based on your requirements.

You can customize the correlation configuration. Refer to Assigning Source Accounts to Identities for more information.

When you first create the GitHub Enterprise Server source, the default correlation mapping is:

Map account attributes to identity attributes before you aggregate accounts. Profile email is often empty on GitHub Enterprise Server. The login value is the stable native identity.

Account Attribute Operation Identity Attribute
email Equals email
name Equals name

Default Account Schema

Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location.

The set of account attributes each source stores and how they're organized is known as the account's schema. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to Managing Source Account Schemas for more information.

Default Account Attributes

The GitHub Enterprise Server connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.

The identity and display attribute is login. The group attribute is teams.

Go to Admin > Connections > Sources, open your GitHub Enterprise Server source, and select Account Schema to review the live schema.

Attribute Type Description
databaseId string Primary key from the GitHub database.
login string Username used to sign in.
name string Public profile name.
id string GitHub global node ID.
email string Publicly visible profile email.
organizationVerifiedDomainEmails string list Verified emails matching organization-verified domains. This value is often empty on GitHub Enterprise Server.
twitterUsername string Twitter username.
url string Public profile URL.
bio string Public profile bio.
bioHTML string Public profile bio as HTML.
location string Public profile location.
company string Public profile company.
companyHTML string Public profile company as HTML.
isBountyHunter boolean Indicates GitHub Security Bug Bounty participation.
isHireable boolean Indicates whether the user is marked as available for hire.
isEmployee boolean Indicates whether the user is a GitHub employee.
isSiteAdmin boolean Indicates whether the user is a site administrator.
isGitHubStar boolean Indicates GitHub Stars Program membership. This value is often empty on GitHub Enterprise Server.
isViewer boolean Indicates whether the user is the viewing user.
isCampusExpert boolean Indicates GitHub Campus Experts participation.
isDeveloperProgramMember boolean Indicates GitHub Developer Program membership.
hasSponsorsListing boolean Indicates whether the user has a GitHub Sponsors listing. This value is often empty on GitHub Enterprise Server.
followers int Number of followers.
following int Number of users followed.
gists int Number of gists created.
repositories int Number of repositories owned.
watching int Number of repositories watched.
estimatedNextSponsorsPayoutInCents int Estimated next Sponsors payout in US cents.
monthlyEstimatedSponsorsIncomeInCents int Estimated monthly Sponsors income in US cents.
websiteUrl string Public website URL.
createdAt string Date and time the user was created.
updatedAt string Date and time the user was last updated.
samlNameId string SAML name ID.
organizations string list In-scope organization logins for the user.
teams string list, entitlement, writable Team memberships in {org}/{slug} format.
role string list, entitlement, writable Organization roles in {org}:ADMIN or {org}:MEMBER format.
repositoryIDs string list, entitlement Repositories the user can access.

Default Entitlement Attributes

Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to Managing Entitlements for more information.

Caution

Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations.

The connector supports team, organization role, and repository entitlements.

Default Group Attributes

The GitHub Enterprise Server connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups.

Groups represent teams. The identity attribute is combinedSlug in org/slug format. The display attribute is name.

Go to Admin > Connections > Sources, open your GitHub Enterprise Server source, and select Entitlement Schema to review the live schema.

Attribute Type Description
databaseId string Primary key from the database.
slug string Team slug in the organization.
name string Team display name.
id string GitHub global node ID.
description string Team description.
privacy string Team privacy level.
combinedSlug string Organization and team slug in org/slug format.
url string Team page URL.
members int Number of team members.
repositories int Number of repositories associated with the team.
parentTeam string Parent team.
createdAt string Date and time the team was created.
updatedAt string Date and time the team was last updated.
repositoryNames string list Repositories the team can access.
organization string Organization login.

Default Role Attributes

The GitHub Enterprise Server connector supports roles. The following attributes must be configured on the managed system and in the SailPoint source schema to manage roles.

The identity attribute is id in {org}:ADMIN or {org}:MEMBER format. The display attribute is name.

The connector does not use global Cloud role identities 1 and 2 when multiple organizations are in scope.

Go to Admin > Connections > Sources, open your GitHub Enterprise Server source, and select Entitlement Schema to review the live schema.

Attribute Type Description
id string Organization-qualified role in {org}:ADMIN or {org}:MEMBER format.
name string ADMIN or MEMBER.
organization string Organization login.

Default Repository Attributes

The identity attribute is the instance-unique id. The display attribute is name. Repository entitlements include permission.

Go to Admin > Connections > Sources, open your GitHub Enterprise Server source, and select Entitlement Schema to review the live schema.

Attribute Type Description
id string Primary key from the database.
name string Repository name.
permission string Permission on the repository.
visibility string Repository visibility.
organization string Organization login.

Documentation Feedback

Feedback is provided as an informational resource only and does not form part of SailPoint’s official product documentation. SailPoint does not warrant or make any guarantees about the feedback (including without limitation as to its accuracy, relevance, or reliability). All feedback is subject to the terms set forth at https://developer.sailpoint.com/discuss/tos.