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 connector uses the following default correlation and object configurations.

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 source, the default correlation mapping is:

Account Attribute Operation Identity Attribute
Email Equals Work Email (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 connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.

Attribute Name Description
databaseId Identifies the primary key from the database.
login The username used to login.
name The user's public profile name.
id The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache.
email The user's publicly visible profile email.
twitterUsername The user's Twitter username.
url URL pointing to the user's public profile.
bio The user's public profile bio.
bioHTML The user's public profile bio as HTML.
location The user's public profile location.
company The user's public profile company.
companyHTML The user's public profile company as HTML.
isBountyHunter Whether or not this user is a participant in the GitHub Security Bug Bounty.
isHireable Whether or not the user has marked themselves as for hire.
isEmployee Whether or not this user is a GitHub employee.
isSiteAdmin Whether or not this user is a site administrator.
isGitHubStar Whether or not this user is a member of the GitHub Stars Program.
isViewer Whether or not this user is the viewing user.
isCampusExpert Whether or not this user is a participant in the GitHub Campus Experts Program.
isDeveloperProgramMember Whether or not this user is a GitHub Developer Program member.
hasSponsorsListing True if this user/organization has a GitHub Sponsors listing.
followers The number of users the given user is followed by.
following The number of users the given user is following.
gists The number of gists the user has created.
repositories The number of repositories that the user owns.
watching The number of repositories that the user is watching.
estimatedNextSponsorsPayoutInCents The estimated next GitHub Sponsors payout for this user/organization in cents (USD).
monthlyEstimatedSponsorsIncomeInCents The estimated monthly GitHub Sponsors income for this user/organization in cents (USD).
websiteUrl A URL pointing to the user's public website/blog.
createdAt Identifies the date and time when the user was created.
updatedAt Identifies the date and time when the user was last updated.
teams A list of teams the user is a member of.
role Role of the member .
samlNameId The SAML name id of the user.
repositoryIDs The repositories user has access to.

Note

For existing sources, add this attribute explicitly through the UI.

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.

Default Group Attributes

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

Attribute Name Description
databaseId Identifies the primary key from the database.
slug The slug corresponding to the team. This is an Entitlement ID.
name The name of the team. This is an Entitlement name.
id The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache.
description The description of the team.
privacy The level of privacy the team has.
combinedSlug The slug corresponding to the organization and team.
url URL pointing to the team's page.
members A number of users who are members of this team.
repositories Indicates the number of repositories who are part of this team.
parentTeam The parent team of the team.
createdAt Identifies the date and time when the object was created.
updatedAt Identifies the date and time when the team was last updated.
permission The permission a team has.
role Role of the member.
repositoryNames The repositories team has access to.

Note

To add permission attribute in the Entitlement Schema use Update Source Schema (Partial) API.

Default Role Attributes

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

Attribute Name Description
id The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. This is an Entitlement ID.
name The name of the role. This is an Entitlement name.

Default Repository Attributes

The following lists the repository attributes:

Attribute Name Description
id Identifies the primary key from the database. This is an Entitlement ID.
name The name of the repository. This is an Entitlement name.
permission The permission of the repository.
visibility The visibility of the repository.

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.