CData Python Connector for GitHub

Build 26.0.9655

CData Python Connector for GitHub

Overview

The CData Python Connector for GitHub allows developers to write Python scripts with connectivity to GitHub. The connector wraps the complexity of accessing GitHub data in an interface commonly used by Python connectors to common database systems.

Key Features

  • WHL installation packages that enable installation with "pip install".
  • Supported for Python 3.10 or newer on Windows, Linux, and macOS.
  • Write and execute SQL queries to fetch and update data in GitHub.
  • Custom dialect class that enables SQLAlchemy 1.3 and 1.4 to use this connector.

Getting Started

See Getting Started to install the connector to your Python distribution and to create a basic connection to GitHub.

Using the Python Connector/Using from Tools

See Using the Connector for examples of executing basic SELECT, INSERT, UPDATE, DELETE, and EXECUTE queries with the module's provided classes.

See Using from Tools to connect GitHub data to tools such as Pandas or Petl.

SQLAlchemy ORM

SQLAlchemy can be leveraged to model the tables in GitHub with mapped classes. See From SQLAlchemy for instructions for configuring the Python connector with SQLAlchemy.

Pandas

Pandas' DataFrames can be used alongside the connector to generate analytical graphics. See From Pandas for a guide.

Schema Discovery

See Schema Discovery to query the provided system tables, which allows users to discover the available tables, views, and stored procedure, alongside additional information about their columns or parameters.

Advanced Features

Advanced Features details additional features supported by the connector, such as defining user defined views, ssl configuration, remoting, caching, firewall/proxy settings, and advanced logging.

SQL Compliance

See SQL Compliance for a syntax reference and code examples outlining the supported SQL.

Data Model

See Data Model for the available database objects. This section also provides more detailed information on querying specific GitHub entities.

Connection String Options

The Connection properties describe the various options that can be used to establish a connection.

CData Python Connector for GitHub

Getting Started

Connecting to GitHub

For information on the available WHL files for supported environments, and how to install the appropriate file for your Python distribution, see Package Installation.

For information on the module to import, and how to configure the necessary connection properties in a connection string, see Establishing a Connection.

Other available connection properties can be used to configure other aspects of the connector capabilities.

Python Version Support

The CData Python Connector for GitHub can be installed and used in Python 3.10 or newer.

GitHub Version Support

The connector models entities in the GitHub GraphQL API as relational views.

See Also

  • Using the Connector: Establish connections and query GitHub through Python code.
  • From SQLAlchemy: Use SQLAlchemy to establish a connection with dialect URL, and interact with GitHub data using mapped classes and Sessions.

CData Python Connector for GitHub

Package Installation

Dependencies

The Python connectors require that Python 3.10 or newer be installed.

Installation

The CData Python Connector for GitHub is available as a WHL file for Windows, Linux, and Mac. Each connector is built using the Python 3.10 Stable ABI (indicated by the abi3 tag in the filename), so a single wheel supports any Python 3.10 or newer installation — there is no need to match your exact Python minor version. Use the "pip install" command with the appropriate WHL file for your platform.

Windows:

pip install cdata_github_connector-26.0.9655-cp310-abi3-win_amd64.whl

Linux:

pip install cdata_github_connector-26.0.9655-cp310-abi3-linux_x86_64.whl

macOS:

pip install cdata_github_connector-26.0.9655-cp310-abi3-macosx_12_0_arm64.whl

The macOS wheel supports arm64 (Apple Silicon) architectures only on macOS 12 and newer.

Regardless of the environment, certain distributions might require that the "pip3 install" command be used instead, to differentiate from a Python 2 distribution that might exist already. After installation, confirm whether the connector is successfully installed by running the "pip list" command. If "cdata_github_connector" is present in the list output by the command, then the installation was successful.

Upgrading

When upgrading, "pip install" does not automatically clean up old JRE files. To avoid leftover files that could cause JVM errors, uninstall the previous version before installing the new one.

Licensing

After the installation is complete, a separate step is needed to activate a license for the connector. Among the CData assets in the distribution's site packages, there is an install-license tool that activates this license. From within the distribution's site-packages folder, after navigating to the "cdata/installlic_github" folder, simply use a command like the below to activate the license. Omitting the <key> argument activates a trial license:

  • Windows:
    ./install-license.exe <key>
  • Linux / Mac:
    ./install-license.sh <key>

Sometimes, file access issues may cause pip to install the connector in a fallback file path that is not the python distribution's main or primary site-packages location. This can make it difficult to find where the connector was installed, and from there, the license activator. In that event, this python script below will print out the full file path of the connector's native file. This file will be stored in the mentioned cdata folder, from which the installlic_github folder is trivial to find:

import os
import cdata.github
path = os.path.abspath(cdata.github.__file__)
print(path)

Uninstallation

If the connector needs to be uninstalled for any reason, do so by running the pip uninstall command, as in the example below:

pip uninstall cdata-github-connector

CData Python Connector for GitHub

Establishing a Connection

The objects available within our connector are accessible from the "cdata.github" module. To use the module's objects directly:

  1. Import the module as follows:
    import cdata.github as mod
  2. To establish a connection string, call the connect() method from the connector object using an appropriate connection string, such as:
    mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")

Connecting to GitHub

To authenticate to GitHub you must connect using a Personal Access Token or OAuth authentication.

Personal Access Tokens

To connect using a Personal Access Token, set the following:

  • AuthScheme: PersonalAccessToken.
  • Token: The personal access token generated from the user interface.
  • OwnerLogin (optional): The name of the user or organization whose repository and projects you plan to query. If you do not explicitly specify an OwnerLogin, the driver uses the currently authenticated user.

Personal access tokens are intended to access resources on behalf of yourself. To access resources on behalf of an organization, or for long-lived integrations, you should use apps instead.

To ensure full connector functionality with either a user or organization account, you must generate a classic Personal Access Token.

  1. Navigate to Personal access tokens (classic).
  2. Select Generate new token (classic).
  3. Enter a description in the Note field to identify the token's purpose.
  4. Define an expiration date or set it to No expiration (GitHub strongly recommends setting an expiration date to keep your information secure).
  5. Select the following scopes: gist, repo, delete_repo, read:repo_hook, project, admin:org, admin:enterprise, user, read:public_key, read:gpg_key.
  6. Select Generate token.

Alternatively, you can generate a fine-grained Personal Access Token from Fine-grained personal access tokens. Because these tokens are highly specific, you must explicitly configure the target resource owner, the expiration date, the level of repository access (such as public repositories only, selected repositories, or all repositories), and the required permissions across Repository, Organization, and Account settings according to your needs and principle of least privilege. Note that fine-grained tokens have limitations. Most notably, they cannot access projects owned by a user account, which prevents making use of full connector functionality. For more details, see Fine-grained personal access tokens limitations.

Desktop Applications

CData provides an embedded OAuth application that simplifies OAuth desktop Authentication. Alternatively, you can create a custom OAuth application. See Creating a Custom OAuth App for information about creating custom applications and reasons for doing so.

Get and Refresh the OAuth Access Token

After setting the following, you are ready to connect:

  • InitiateOAuth: GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.
  • OAuthClientId (custom applications only): The client Id assigned when you registered your application.
  • OAuthClientSecret (custom applications only): The client secret assigned when you registered your application.
  • CallbackURL (custom application only): The redirect URI defined when you registered your application.
  • OwnerLogin (optional): The name of the user or organization whose repository and projects you plan to query. If you do not explicitly specify an OwnerLogin, the driver uses the currently authenticated user.
When you connect, the connector opens GitHub's OAuth endpoint in your default browser. Log in and grant permissions to the application. The connector then completes the OAuth process:
  1. The connector obtains an access token from GitHub and uses it to request data.
  2. The OAuth values are saved in the location specified in OAuthSettingsLocation. These values persist across connections.
The connector refreshes the access token automatically when it expires.

Web Applications

When connecting via a Web application, you need to register a custom OAuth application with GitHub. You can then use the connector to get and manage the OAuth token values. See Creating a Custom OAuth App for more information.

Get an OAuth Access Token

Set the following connection properties to obtain the OAuthAccessToken:

Then call stored procedures to complete the OAuth exchange:

  1. Call the GetOAuthAuthorizationURL stored procedure. Set the AuthMode input to WEB and the CallbackURL to the Redirect URI you specified in your application settings. The stored procedure returns the URL to the OAuth endpoint.
  2. Navigate to the URL that the stored procedure returned in Step 1. Log in and authorize the web application. You are redirected back to the callback URL.
  3. Call the GetOAuthAccessToken stored procedure. Set the AuthMode input to WEB. Set the Verifier input to the code parameter in the query string of the redirect URI.

After you have obtained the access and refresh tokens, you can connect to data and refresh the OAuth access token automatically.

Automatic Refresh of the OAuth Access Token

To have the connector automatically refresh the OAuth access token, set the following on the first data connection.

On subsequent data connections, set the following:

Headless Machines

To configure the driver to use OAuth with a user account on a headless machine, you need to authenticate on another device that has an internet browser.

  1. Choose one of two options:
    • Option 1: Obtain the OAuthVerifier value as described in "Obtain and Exchange a Verifier Code" below.
    • Option 2: Install the connector on a machine with an internet browser and transfer the OAuth authentication values after you authenticate through the usual browser-based flow, as described in "Transfer OAuth Settings" below.
  2. Then configure the connector to automatically refresh the access token on the headless machine.

Option 1: Obtain and Exchange a Verifier Code

To obtain a verifier code, you must authenticate at the OAuth authorization URL.

Follow the steps below to authenticate from the machine with an internet browser and obtain the OAuthVerifier connection property.

  1. Choose one of these options:
    • If you are using the Embedded OAuth Application, call the GetOAuthAuthorizationURL stored procedure. Open the URL returned by the stored procedure in a browser.
    • If you are using a custom OAuth application, set the following properties: Then call the GetOAuthAuthorizationURL stored procedure with the appropriate CallbackURL. Open the URL returned by the stored procedure in a browser.
  2. Log in and grant permissions to the connector. You are then redirected to the redirect URI. There will be a parameter called code appended to the redirect URI. Note the value of this parameter. Later you will set this in the OAuthVerifier connection property.
Next, you need to exchange the OAuth verifier code for OAuth refresh and access tokens.

On the headless machine, set the following connection properties to obtain the OAuth authentication values:

  • InitiateOAuth: REFRESH
  • OAuthVerifier: The noted verifier code (the value of the code parameter in the redirect URI).
  • OAuthClientId: (custom applications only) The client Id in your custom OAuth application settings.
  • OAuthClientSecret: (custom applications only) The client secret in the custom OAuth application settings.
  • OAuthSettingsLocation: Set this to persist the encrypted OAuth authentication values to the specified location.

Test the connection to generate the OAuth settings file, then re-set the following properties to connect:

  • InitiateOAuth: REFRESH
  • OAuthClientId: (custom applications only) The client Id assigned when you registered your application.
  • OAuthClientSecret: (custom applications only) The client secret assigned when you registered your application.
  • OAuthSettingsLocation: The location containing the encrypted OAuth authentication values. Make sure this location gives read and write permissions to the connector to enable the automatic refreshing of the access token.

Option 2: Transfer OAuth Settings

Prior to connecting on a headless machine, you need to install and create a connection with the driver on a device that supports an internet browser. Set the connection properties as described in "Desktop Applications" above.

After completing the instructions in "Desktop Applications", the resulting authentication values are encrypted and written to the location specified by OAuthSettingsLocation. The default filename is OAuthSettings.txt.

Test the connection to generate the OAuth settings file, then copy the OAuth settings file to your headless machine.

On the headless machine, set the following connection properties to connect to data:

  • InitiateOAuth: REFRESH
  • OAuthClientId: (custom applications only) The client Id assigned when you registered your application.
  • OAuthClientSecret: (custom applications only) The client secret assigned when you registered your application.
  • OAuthSettingsLocation: The location of the OAuth settings file you copied from the machine with the browser. Make sure this location gives read and write permissions to the connector to enable the automatic refreshing of the access token.

CData Python Connector for GitHub

Configuring JNI

Java Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications.

The connector leverages the JNI for improved performance on Mac and Linux.

Configure the Config INI File

The Linux and Mac editions of the GitHub python connector are configured with an ini file. This file is used to set several parameters, including JNI behavior. This file is to be located in:

{path_to_distribution_site-packages}/cdata/config.ini

Ensure that any configuration properties you set in the ini file fall under the following section name (adjust the 311 number if you are using an different python version from 3.11):

  • For Linux:
    [github.cpython-311-x86_64-linux-gnu.so]
  • For Mac:
    [github.cpython-311-darwin.so]

Configure the JNI connector's behavior by editing the properties in the connector's config.ini file. The connector can be configured as follows:

  • LOGFILE: Set this the same way as the CDATA_LOGFILE envrionment variable below.
  • JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CLASS_PATH: Use a colon-separated list to configure the paths to the third-party jar libraries.

Configure Environment Variables

Additionally, set the following environment variables:

  • CDATA_JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CDATA_JVM_OPTIONS: Place JVM options here.
  • CDATA_LOGFILE: Set this in the following scheme: <SCHEME>://<TAG>[|<LEVEL>]

    • SCHEME: The options are STDOUT, FILE.
      • STDOUT: Both the native wrapper and odbc core log into stdout. The Logfile and Verbosity properties can override the behavior of ODBC core.
      • FILE: The native wrapper logs into <FILENAME> while the odbc core logs into <FILENAME>.driver.log. The Logfile and Verbosity properties can override the behavior of ODBC core.
    • TAG
      • For STDOUT, set this to 1. For FILE, set this to the filename.
    • LEVEL
      • Set to one of: FATAL | ERROR | WARNING | INFO | DEBUG

The following are some examples of this syntax:

  • STDOUT://1|DEBUG
  • FILE:///tmp/my_py.log|DEBUG

Custom Logger

The Python connector supports a custom logging mechanism for redirecting log output to any destination, such as a cloud storage service or logging framework. Use setCustomLoggerFactory() to register a factory function that creates a logger instance for each connection.

The factory function receives the context string from the Logfile connection property (the portion after CUSTOM://) and must return an object with a writeLog(verbosity, message) method.

To enable custom logging:

  1. Call setCustomLoggerFactory() with your factory function before opening connections.
  2. Set Logfile to CUSTOM:// followed by a context string to identify the connection.
  3. Set Verbosity to the desired log level.

The following example demonstrates a custom logger factory that creates a separate logger instance per connection:

import cdata.github as mod
import time

class MyLogger:
    def __init__(self, loggerId):
        self.loggerId = loggerId
    def writeLog(self, verbosity, message):
        print("[MyLogger " + self.loggerId + "] " + message)

def createLogger(context):
    return MyLogger(context[len("MyLoggerId="):])

mod.setCustomLoggerFactory(createLogger)

conn1 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=1;Verbosity=2;")
# do something with conn1
time.sleep(1)  # Wait for logs to flush from conn1

conn2 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=2;Verbosity=2;")
# do something with conn2
time.sleep(1)  # Wait for logs to flush from conn2

CData Python Connector for GitHub

Creating a Custom OAuth App

When To Create a Custom OAuth Application

CData embeds OAuth Application Credentials with CData branding that can be used when connecting via a desktop application or headless application. Web applications require that you create a custom OAuth application.

You may choose to use your own OAuth Application Credentials when you want to

  • control branding of the Authentication Dialog
  • control the redirect URI that the application redirects the user to after the user authenticates
  • customize the permissions that you are requesting from the user

Follow the steps below to create a custom OAuth application and obtain the connection properties in a specific OAuth authentication flow.

Create a Custom OAuth App

Follow the procedure below to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties.

  1. After logging in to your GitHub account, click your profile photo and then click Settings.
  2. Click Developer Settings > OAuth Apps.
  3. Click Register a New Application.
  4. Enter the application name, homepage URL, and application description.
  5. Set the callback URL:
    • For desktop applications and headless machines, use http://localhost:33333 or another port number of your choice. When you connect, you must set the CallbackURL to this exact value.
    • For web applications, set the callback URL to a trusted redirect URL. This is the location the user returns to with the token that verifies that your application access has been granted.
  6. Click Register Application.
  7. Return to your OAuth apps. The client Id ( OAuthClientId) and its client secret (OAuthClientSecret) are located there.

CData Python Connector for GitHub

Changelog

General Changes

DateVersionSourceCategoryTypeDescription
2026-05-2726.0.9643GeneralConnectionRemoved
  • Removed the deprecated ReplaceInvalidTypesWithNull connection property. Use the ReplaceInvalidValuesWithNull property instead.
2026-05-2226.0.9638PythonRemoved
  • Remove support for Intel x64 architecture on macOS
2026-05-1326.0.9629GitHubConnectionChanged
  • Set the Schema property to hidden and replaced it with a new connection property, BrowsableSchemas.
2026-05-1326.0.9629GitHubData ModelRemoved
  • Repository schema: Removed the AddCollaborator, CommitCompare, CreateCommitOnBranch, DownloadFile, RemoveCollaborator, UpdatePullRequestBranch, UploadFile, and DeleteCodeScanningAnalysis stored procedures.
2026-05-1326.0.9629GitHubData ModelAdded
  • Information schema: Added the DeleteCodeScanningAnalysis and UpdatePullRequestBranch stored procedures.
  • Information schema: Added a new view, RepositoryCodeScanningAnalyses, which is used by DeleteCodeScanningAnalysis.
2026-05-0726.0.9623GeneralData ModelAdded
  • Added the ColumnCapabilities column to the sys_tablecolumns system table. This column is a bit mask denoting the column's write capabilities.
2026-05-0726.0.9623PythonChanged
  • Updated embedded JRE to jre-17.0.19+10 (Linux x64 / MacOs x64).
2026-04-2326.0.9609GitHubData ModelAdded
  • Added the RepositoryLabels and RepositoryReleases views.
2026-04-2326.0.9609GitHubConnectionAdded
  • Added the AuthScheme connection property (default: OAuth) and a new PersonalAccessToken option to support authenticating using personal access tokens.
  • Added the Token connection property for specifying the personal access token value.
2026-04-2226.0.9608GitHubData ModelAdded
  • Added the RepositoryIssues and RepositoryIssueComments tables to the Information schema.
  • Added the CommitCompare and CreateCommitOnBranch stored procedures to the Information schema.
2026-04-2226.0.9608GitHubData ModelChanged
  • Converted the RepositoryBranches, RepositoryPullRequests, and RepositoryCommits tables in the Information schema from views to tables.
2026-04-1526.0.9601GeneralQuery ExecChanged
  • String comparisons using GREATER, LESS, and CONTAINS operators are now case-insensitive by default.
2026-04-0826.0.9594GitHubData ModelRemoved
  • Removed the ViewerCanCreateProjects column from the GetCurrentlyAuthenticatedUser stored procedure (all schemas) and from the following views that retrieve user data:
    • In the Gist schema: Stargazers
    • In the Information schema: OrganizationMembers
    • In the Repository schema: Collaborators
  • Removed the DiscussionsUrl, DiscussionsResourcePath, ViewerSubscription, and ViewerCanSubscribe columns from the OrganizationTeams view in the Information schema.
2026-03-1825.0.9573GitHubData ModelAdded
  • In the Information schema, added the AddCollaborator and RemoveCollaborator stored procedures.
  • In the Information schema, added OwnerLogin as an input to the CreateCommitOnBranch stored procedure.
2026-02-2625.0.9553GitHubData ModelAdded
  • In the Information schema, added the RepositoryIssues and RepositoryIssueComments tables.
  • In the Information schema, added the CommitCompare stored procedure. This procedure allows you to compare changes between two commits.
  • In the Information schema, added the CreateCommitOnBranch stored procedure. This procedure appends a commit to the given branch of the provided repository.
  • In the Information schema, added CUD support to the RepositoryBranches, RepositoryPullRequests, and RepositoryCommits tables.
2026-01-1325.0.9509GeneralAdded
  • Added support for the REGEXP_REPLACE() string function.
2025-12-2125.0.9486PythonAdded
  • Added support for custom loggers in Python connectors on Linux and macOS.
2025-12-1825.0.9483GitHubAdded
  • Added two new views: IssuesBlockedBy and IssuesBlocking.
  • Added the Name column to the OrganizationMannequins view.
  • Added the SecurityContactEmail column to the Enterprises view.
  • Added the following columns to the Issues table:
    • DuplicateIssueId
    • IssueDependenciesSummaryBlockedBy
    • IssueDependenciesSummaryTotalBlockedBy
    • IssueDependenciesSummaryBlocking
    • IssueDependenciesSummaryTotalBlocking
  • Added the Digest column to the ReleaseAssets view.
  • Added the Immutable column to the Releases table.
  • Added a new pseudo-column, BotIds, to the PullRequestReviewRequests table for use in INSERT and DELETE operations.
2025-12-0525.0.9470GeneralAdded
  • Added support for the INSERT INTO SELECT statement, with driver-side execution for providers that do not support the operation natively.
2025-12-0325.0.9468GitHubAdded
  • Added the RepositoryBranches and RepositoryCommits views to the Information schema.
2025-11-2725.0.9462GitHubAdded
  • Added Dependabot alerts data to the following table and views:
    • Repository.VulnerabilityAlerts table
    • Information.SecurityAdvisories view
    • Information.SecurityVulnerabilities view
    • Information.SecurityAdvisoryCommonWeaknessEnumerations view
  • Added Code Scanning alerts data to the following table, views, and procedure:
    • Repository.CodeScanningAlerts table
    • Repository.CodeScanningAlertInstances view
    • Repository.CodeScanningAnalyses view
    • Repository.DeleteCodeScanningAnalysis procedure
  • Added Secret Scanning alerts data to the following table and views:
    • Repository.SecretScanningAlerts table
    • Repository.SecretScanningAlertLocations view
    • Repository.SecretScanningHistory viewAdded repository Custom Properties data to the following tables and repository:
    • Information.RepositoryCustomPropertySchemas table
    • Information.RepositoryCustomPropertyValues table
    • Repository.CustomProperties
2025-10-3025.0.9434PythonChanged
  • Updated embedded JRE to jre-17.0.17+10 (Linux x64 / MacOs x64).
2025-10-3025.0.9434GitHubAdded
  • Added CREATE/UPDATE/DELETE support for the Labels and Releases tables in the Repository schema.
  • Added the Invitations table in the Repository schema.
  • Added the AddCollaborator and RemoveCollaborator stored procedures in the Repository schema.
2025-10-1225.0.9416GitHubAdded
  • Added the Gist schema, which exposes tables, views, and stored procedures from the GitHub Gist API.
2025-10-0825.0.9412GitHubChanged
  • Moved the MergePullRequest stored procedure from the Repository schema to the Information schema.
2025-10-0625.0.9410GeneralAdded
  • Support for parsing datetime formats using ".S" and ",S" for milliseconds and nanoseconds.
2025-09-1225.0.9386GeneralAdded
  • Added the IsInsertable, IsUpdateable, and IsDeleteable columns to the sys_tables table.
2025-09-1025.0.9384GeneralChanged
  • All columns in statically defined Views are now reported as read-only.
2025-09-0425.0.9378GitHubAdded
  • Added CREATE/INSERT support for the Commits table in the Repository schema.
  • Added CREATE/UPDATE/DELETE support for the Branches table in the Repository schema.
  • Added the CreateCommitOnBranch stored procedure in the Repository schema.
2025-09-0325.0.9377GeneralChanged
  • Corrected the behavior when IN criteria with NULL values are used in the projection part. It now returns NULL instead of 0. For example, "NULL IN (1,2)" returns "NULL".
2025-09-0125.0.9375GeneralAdded
  • Added support for using the CAST function with infinity values. This function can cast "inf" and "-inf" to DOUBLE, FLOAT, or REAL.
2025-08-2725.0.9370GitHubAdded
  • Added the ClosedIssueCount, OpenIssueCount, and DescriptionHTML columns to the Milestone table in the Repository schema.
  • Added 'UNAFFILIATED' as a valid value for the Role column in the EnterpriseAdmins and EnterpriseAdminInvitations tables in the Information schema.
  • Added UpdatedAt column to the Enterprises table in the Information schema.
  • Added the OrganizationIssueTypes table to the Information schema.
  • Added the PullRequestAssignedActors table to the Repository schema.
  • Added the PullRequestSuggestedActors table to the Repository schema.
  • Added the columns IssueTypeID, IssueTypeName, IssueTypeDescription, IssueTypeIsEnabled, IssueTypeColor to the Issues table in the Repository schema.
  • Added the IssueAssignedActors view to the Repository schema.
  • Added the IssueSuggestedActors view to the Repository schema.
  • Added the RepositoryIssueTypes view to the Information schema.
2025-08-2725.0.9370GitHubChanged
  • Configured insert/update for the IssueTypeID column in the Issues table.
2025-08-2125.0.9364GeneralChanged
  • Report behavior change:
    • Fixed inconsistent string value comparisons in non-table queries.
    • For example, "SELECT 'A' = 'a'" previously returned false, but it now returns true.
2025-08-1325.0.9356GeneralChanged
  • Changed the maximum number of pages held in memory from 15 to 5 for the page providers to decrease heap usage.
2025-07-1025.0.9322GitHubAdded
  • Added the Scope connection property.
2025-07-0925.0.9321GitHubAdded
  • Added a new connection property named 'URL'.
  • Added support for connecting to GitHub Enterprise Server and GitHub Enterprise Cloud with data residency.
2025-07-0725.0.9319PythonRemoved
  • Removed the 32-bit version of Windows Python.
2025-07-0225.0.9314PythonRemoved
  • Removed support for Python 3.9.
2025-06-2525.0.9307GeneralRemoved
  • Removed the "ADLS Gen 1" value from the ConnectionType property.
2025-06-2525.0.9307PythonAdded
  • Added support for Python 3.13 in Windows, Linux, and Mac editions.
2025-06-2525.0.9307PythonRemoved
  • Removed support for Python 3.8 as it is no longer supported.
2025-06-2425.0.9306GitHubRemoved
  • Removed DatabaseId column from ProjectViews, Projects, OrganizationTeamProjects, and ItemsView across all schemas.
2025-06-2025.0.9302GeneralAdded
  • Created the following functions:
    • TEXT_ENCODE: encodes a string into a different charset (UTF8 → UTF7 and returns a binary array as the result).
    • TEXT_DECODE: takes a binary array and decodes it back into a string when provided the charset.
    • BASE64_ENCODE: takes a binary array and encodes it as a base64 string (varchar).
    • BASE64_DECODE: takes a base 64-encoded string and decodes it into a binary array.
2025-06-1825.0.9300GeneralChanged
  • The internal code for exception handling has been refactored. Exception messages returned during certain error conditions may now have different wording or formatting.
2025-05-2925.0.9280GitHubAdded
  • Added DELETE support for Issues in the Repository schema.
  • Added DeleteRepository as a stored procedure to the Information schema.
2025-05-2725.0.9278GeneralRemoved
  • Removed the "Proprietary" enum option from ProxyAuthscheme.
2025-05-1625.0.9267GitHubAdded
  • Added the RepositoryPullRequests view to the Information schema.
2025-05-1225.0.9263PythonChanged
  • Updated embedded JRE to jre-17.0.15+6 (Linux x64 / MacOS x64) and jre-17.0.15+6 (MacOS aarch64).
2025-03-1925.0.9209GitHubAdded
  • Added UPDATE support to close a record in the Issues table for the following columns: Closed, StateReason, and DuplicateIssueId.
2025-03-0325.0.9193GitHubAdded
  • Added the UserViewType column to:
    • Information schema: EnterpriseAdmins, EnterpriseMembers, OrganizationMembers, and OrganizationTeamMembers.
    • Repository schema: AssignableUsers, Collaborators, IssueAssignees, MentionableUsers, Stargazers, and Watchers.
    • Project schema: ItemAssignees and ItemReviewers.
  • Added AuthorUserViewType and CommiterUserViewType columns to Repository.CommitCompare.
  • Added the SignatureVerifiedAt column to Repository.Commits.
  • Added the VerificationVerifiedAt column to Repository.CommitCompare.
2025-02-1524.0.9177GeneralAdded
  • Added support for converting unsigned integer types to the nearest signed data type that has enough precision to hold the unsigned value.This is done for JDBC only because it does not have support for unsigned data types.
2024-11-2724.0.9097GeneralAdded
  • Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
2024-11-0624.0.9076GitHubAdded
  • Added new tables:
    • Information schema: EnterpriseAdmins, EnterpriseAdminInvitations, EnterpriseMembers, EnterpriseUnaffiliatedMemberInvitations, and ProjectStatusUpdates.
    • Repository schema: Environments and IssuePullRequests.
    • Project schema: StatusUpdates. (Note: For write access, this table requires the scope of 'project' rather than 'read:project'.)
  • Added new columns (Information schema):
    • Enterprises table: AnnouncementCreatedAt, Readme, ReadmeHTML.
    • ItemsView table: FullDatabaseId.
    • Organizations table: AnnouncementCreatedAt.
    • OrganizationMembers table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • OrganizationTeamMembers table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • OrganizationTeamProjects: FullDatabaseId.
    • Projects table: FullDatabaseId.
    • ProjectViews table: FullDatabaseId.
    • Repositories table: PlanFeaturesCodeOwners, PlanFeaturesDraftPullRequests, PlanFeaturesMaximumAssignees, PlanFeaturesMaximumManualReviewRequests, and PlanFeaturesTeamReviewRequests.
  • Added new columns (Project schema):
    • ItemsView table: FullDatabaseId.
  • Added new columns (Repository schema):
    • AssignableUsers table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • Collaborators table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • IssueAssignees table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • Issues table: ViewerCanLabel.
    • MentionableUsers table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • PullRequests table: StatusCheckRollupId, StatusCheckRollupCommitId, StatusCheckRollupState, and ViewerCanLabel.
    • Stargazers table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
    • Watchers table: CopilotEndpointApi, CopilotEndpointOriginTracker, CopilotEndpointProxy, and CopilotEndpointTelemetry.
2024-11-0624.0.9076GitHubDeprecated
  • Deprecated the DatabaseId column in the following tables:
    • Information schema: ProjectViews, Projects, OrganizationTeamProjects.
    • Project schema: ItemsView.
2024-10-0224.0.9041GitHubAdded
  • Added the following views to the Repository schema: CommitCompare, CommitCompareFiles, and CommitFiles.
  • Added the following stored procedure to the Repository schema: CommitCompare.
2024-09-2324.0.9032GitHubAdded
  • Added INSERT/UPDATE/DELETE support for the OrganizationTeams view in the Information Data Model.
2024-08-0224.0.8980GitHubAdded
  • Added the PullRequestReviewRequests table.
  • Added the Permission column to the Collaborators view.
  • Added UPDATE/DELETE support for the Organizations table.
  • Added INSERT/UPDATE/DELETE support for the IssueComments table.
2024-07-2324.0.8970GitHubAdded
  • Added OrganizationTeamMembers, OrganizationTeamProjects, and OrganizationTeamRepositories as new views in the Information Data Model.
  • Added MinPermissionLevel as a new column in Information.Projects.
2024-07-0924.0.8956GitHubAdded
  • Added the ParentTeamID, ParentTeamName, AvatarUrl, ReviewRequestDelegationAlgorithm, ReviewRequestDelegationEnabled, ReviewRequestDelegationMemberCount, and ReviewRequestDelegationNotifyTeam columns to the OrganizationTeams view.
2024-07-0524.0.8952GitHubAdded
  • Added INSERT/UPDATE support for the Repositories table in the Information Data Model.
  • Added CloneTemplateRepository as a stored procedure in the Information Data Model.
  • Added PullRequestCommits and PullRequestFiles as new views in the Repository Data Model.
  • Added INSERT/UPDATE support for Issues and PullRequests tables in the Repository Data Model.
  • Added MergePullRequest and UpdatePullRequestBranch as new stored procedures in the Repository Data Model.
  • Added HeadRepositoryId as a column to the ItemLinkedPullRequests view in the Projects Data Model.
  • Added PullRequestHeadRepositoryId as a column to the Items view in the Projects Data Model.
2024-06-0524.0.8922PythonAdded
  • Added support for Python 3.12.
2024-05-1324.0.8899GitHubAdded
  • Added support for DownloadFile and UploadFile stored procedures.
2024-05-0924.0.8895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
2024-04-1923.0.8875GitHubAdded
  • Added TrafficPageViewsDaily, TrafficPageViewsWeekly, TrafficClonesDaily, TrafficClonesWeekly, TrafficTopReferralSources, TrafficTopReferralPaths as tables to repository schemas. These tables can be used to retrieve analytical information on repository traffic.
2024-03-2623.0.8851GitHubRemoved
  • Removed DatabaseId column from Project.Items, Repository.Issues, Repository.IssueComments, Repository.PullRequests, Repository.PullRequestComments, Repository.PullRequestReviews, and Repository.PullRequestReviewComments.
2024-03-2623.0.8851GitHubReplacements
  • DatabaseId and FullDatabaseId are related columns that provide the same information. FullDatabaseId should be used as a replacement for DatabaseId.
2024-03-1523.0.8840GeneralAdded
  • Created a new SQL function called STRING_COMPARE that provides java's String.compare() ability to SQL queries. Returns a number representative of the compared value of two strings
2024-03-0523.0.8830GitHubAdded
  • Added HasSponsorshipsEnabled to Information.Repositories.
  • Added FullDatabaseId to Project.Items.
  • Added HasIssuesEnabled, IsPrivate, Visibility, StargazerCount to Repository.Forks.
  • Added FullDatabaseId to Repository.PullRequestReviewComments, Repository.PullRequestReviews, Repository.PullRequests.
  • Added IsMergeQueueEnabled, IsInMergeQueue to PullRequests.
2024-02-0823.0.8804GitHubAdded
  • Added Enterprises to the Information schema. This table lists information about the user that own the enterprise.
  • Added Collaborators to Repository schemas. This table lists information about the collaborators associated with the repository.
  • Added MergeQueueEntries to Repository schemas. This table lists information about the different entries on an merge queue.
  • Added MergeQueues to Repository schemas. This table lists information about the different labels you can apply on an issue.
  • Added PullRequestComments to Repository schemas. This table lists information about comments which were made on a specific pull request.
  • Added PullRequestReviewComments to Repository schemas. This table lists information about comments which were made on a pull request review.
2024-02-0823.0.8804GitHubChanged
  • Added three new columns IsMinimized, MinimizedReason and ViewerCanMinimize in the PullRequestReview view.
  • Added a new column ArchivedAt in the Organizations view.
2024-01-1923.0.8784GitHubAdded
  • Added OrganizationMembers to the Information schema. This table lists information about the users of the logged in user's organizations or the teams of the specified organization.
  • Added AssignableUsers to Repository schemas. This table lists information about the users that can be assigned to issues in this repository.
  • Added MentionableUsers to Repository schemas. This table lists information about the users that can be mentioned in the context of the repository.
  • Added Stargazers to Repository schemas. This table lists information about the users who have starred the repository.
  • Added IssueAssignees to Repository schemas. This table lists information about the users assigned to the repository's issues.
2024-01-1923.0.8784GitHubChanged
  • Added 'admin:org' as a default OAuth scope. This scope is required to query OrganizationBillingEmail and RequiresTwoFactorAuthentication in the Organizations view.
  • Removed 'Stars' as an input from Repositories. Added 'StargazerCount' as a column with the same filters.
  • Removed 'Followers' as an input from Repositories. Filtering by this input is the same as filtering by 'StargazerCount'.
  • Removed 'Size' as an input from Repositories. Added 'DiskUsage' as a column with the same filters.
  • Removed 'Topics' as an input from Repositories. Added 'TopicCount' as a column with the same filters.
  • Removed 'Comments' as an input from Issues. Added 'CommentCount' as a column with the same filters.
  • Removed 'Reactions' as an input from Issues. Added 'ReactionCount' as a column with the same filters.
2024-01-1923.0.8784GitHubRemoved
  • Removed the 'Users' table from the Information schema.
  • Removed the 'FollowRenames' input from Repositories.
  • Removed the 'Topic' input from Repositories. The 'Topics' table within a Repository can be used to search for a repository's topics.
  • Removed the 'Interactions' input from Issues. Interactions are the sum of comments (CommentCount) and reactions (ReactionCount) on an issue.
  • Removed '!=' (not equal) filtering for the 'Mentions' input in Issues.
  • Removed '!=' (not equal) filtering for the 'Assignee' input in Issues.
2023-11-2923.0.8733GeneralChanged
  • The ROUND function doesn't accept the negative precision values anymore.
2023-11-2923.0.8733GeneralChanged
  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
2023-11-2823.0.8732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
2023-10-1023.0.8683GitHubAdded
  • Added support for ProjectsV2.
  • Added support for retrieving ProjectV2 items (Items, ItemAssignees, ItemLabels, ItemReviewers etc.).
  • Added support for retrieving ProjectV2 views. The views will be pushed according to the user-specified visible fields, filter and sort by configurations.
  • Added OrganizationTeams as a new table.
  • Added OrganizationMannequins as a new table.
  • Added the following columns to the Watchers table, DatabaseId, Login, Pronouns, Bio, BioHTML, AnyPinnableItems, ItemShowcaseHasPinnedItems, IsFollowingViewer, IsGitHubStar, IsSponsoringViewer, ViewerCanSponsor, ViewerIsSponsoring, StatusId, StatusEmoji, StatusMessage, StatusIndicatesLimitedAvailability, StatusEmojiHTML, StatusCreatedAt, StatusExpiresAt, StatusUpdatedAt, StatusOrganizationId, StatusOrganizationLogin, InteractionAbilityLimit, InteractionAbilityOrigin, InteractionAbilityExpiresAt, HasSponsorsListing, MonthlyEstimatedSponsorsIncomeInCents, EstimatedNextSponsorsPayoutInCents, SponsorsListingId, SponsorsListingName, ProjectsResourcePath, AvatarUrl.
  • Added the following columns to the Issues table, FullDatabaseId, TitleHTML, BodyResourcePath, BodyUrl, StateReason, IsPinned, MilestoneTitle, MilestoneNumber, IsReadByViewer, ViewerCanClose, ViewerCanReopen, ViewerCanDelete, ViewerThreadSubscriptionStatus, ViewerThreadSubscriptionFormAction, ViewerCannotUpdateReasons.
  • Added the following columns to the PullRequests table, BaseRefId, HeadRefId, TitleHTML, TotalCommentsCount, MilestoneTitle, MilestoneNumber, AutoMergeRequestCommitHeadline, AutoMergeRequestAuthorEmail, AutoMergeRequestCommitBody, AutoMergeRequestEnabledAt, AutoMergeRequestMergeMethod, IsReadByViewer, ViewerCanClose, ViewerCanReopen, ViewerCanEditFiles, ViewerCanDeleteHeadRef, ViewerCanDisableAutoMerge, ViewerCanEnableAutoMerge, ViewerCanMergeAsAdmin, ViewerCanUpdateBranch, ViewerCannotUpdateReasons, ViewerLatestReviewRequestId, ViewerLatestReviewId, MergeQueueEntryId, MergeQueueEntryJump, MergeQueueEntryPosition, MergeQueueEntrySolo, MergeQueueEntryState, MergeQueueEntryEnqueuedAt, MergeQueueEntryEstimatedTimeToMerge, MergeQueueEntryBaseCommitId, MergeQueueEntryHeadCommitId, MergeQueueEntryMergeQueueId, MergeQueueEntryMergeQueueUrl, MergeQueueEntryMergeQueueResourcePath, MergeQueueEntryMergeQueueNextEntryEstimatedTimeToMerge.
  • Added the following columns to the CommitComments table, DatabaseId, ViewerCannotUpdateReasons.
  • Added the following columns to the Forks table, ForkOwnerLogin, ForkCount, ForkingAllowed.
  • Added the following columns to the Users table, Pronouns, ItemShowcaseHasPinnedItems, IsFollowingViewer, IsGitHubStar, IsSponsoringViewer, ViewerCanSponsor, ViewerIsSponsoring, StatusId, StatusEmoji, StatusMessage, StatusIndicatesLimitedAvailability, StatusEmojiHTML, StatusCreatedAt, StatusExpiresAt, StatusUpdatedAt, StatusOrganizationId, StatusOrganizationLogin, InteractionAbilityLimit, InteractionAbilityOrigin, InteractionAbilityExpiresAt, HasSponsorsListing, MonthlyEstimatedSponsorsIncomeInCents, EstimatedNextSponsorsPayoutInCents, SponsorsListingId, SponsorsListingName, TotalSponsorshipAmountAsSponsorInCents.
  • Added the following column to the Topics table, StargazerCount.
  • Added the following columns to the IssueComments table, FullDatabaseId, IssueId, ViewerId, ViewerCannotUpdateReasons.
  • Added the following columns to the PullRequestReviews table, PullRequestId, DatabaseId, ReactionGroups, AuthorAssociation, AuthorCanPushToRepository, ViewerCannotUpdateReasons.
  • Added the following columns to the Organizations table, WebCommitSignoffRequired, MembersCanForkPrivateRepositories, NotificationDeliveryRestrictionEnabledSetting, IpAllowListForInstalledAppsEnabledSetting, Announcement, AnnouncementUserDismissible, AnnouncementExpiresAt, IsSponsoringViewer, ViewerCanSponsor, ViewerIsFollowing, ViewerIsSponsoring, InteractionAbilityLimit, InteractionAbilityOrigin, InteractionAbilityExpiresAt, ItemShowcaseHasPinnedItems, SamlIdentityProviderId, SamlIdentityProviderIssuer, SamlIdentityProviderDigestMethod, SamlIdentityProviderIdpCertificate, SamlIdentityProviderSignatureMethod, SamlIdentityProviderSsoUrl, HasSponsorsListing, SponsorsListingId, SponsorsListingName, EstimatedNextSponsorsPayoutInCents, MonthlyEstimatedSponsorsIncomeInCents, MemberLogin.
  • Added the following columns to the Releases table, DatabaseId, IsLatest, ViewerCanReact, AuthorId, TagId, TagCommitId.
  • Added the following columns to the Commits table, Oid, AbbreviatedOid, ChangedFilesIfAvailable, AuthorName, AuthorDate, CommitterName, CommitterDate, OnBehalfOfId, StatusId, StatusCheckRollupId, TreeId, TreeOid, TreeAbbreviatedOid, TreeCommitUrl, TreeCommitResourcePath.
  • Added the following columns to the Repositories table, DatabaseId, NameWithOwner, Visibility, StargazerCount, TempCloneToken, WebCommitSignoffRequired, SecurityPolicyUrl, MergeCommitTitle, MergeCommitMessage, SquashMergeCommitTitle, SquashMergeCommitMessage, HasDiscussionsEnabled, HasVulnerabilityAlertsEnabled, IsInOrganization, IsBlankIssuesEnabled, IsSecurityPolicyEnabled, IsUserConfigurationRepository, IsEmpty, ForkingAllowed, AutoMergeAllowed, AllowUpdateBranch, ViewerDefaultCommitEmail, ViewerDefaultMergeMethod, ViewerPossibleCommitEmails, CodeOfConductId, CodeOfConductName, CodeOfConductBody, CodeOfConductKey, CodeOfConductUrl, CodeOfConductResourcePath, DefaultBranchRefId, DefaultBranchRefName, InteractionAbilityLimit, InteractionAbilityOrigin, InteractionAbilityExpiresAt, LatestReleaseId, LatestReleaseName, LicenseId, ArchivedAt, FollowRenames.
  • Added the following columns to the Milestones table, ViewerCanClose, ViewerCanReopen.
2023-10-1023.0.8683GitHubChanged
  • The driver has been changed to support multiple schemas. RepositoryName and UserLogin are removed as connection properties and replaced with OwnerLogin - a unique login name belonging either to a user or an organization. You can set this connection property to have the driver list repositories and projects owned by a specific user or organization in GitHub as their own schema. The 'Information' schema contains tables that can be used to retrieve general GitHub information. 'Project' type schemas are pushed for each ProjectV2 project in a user or organization's account. 'Repository' type schemas are pushed for each repository in a user or organization's account.
2023-10-1023.0.8683GitHubRemoved
  • Removed Projects table (classic).
  • Removed ProjectColumns table (classic).
  • Removed the following columns from the ReleaseAssets table, UserLogin, RepositoryName.
  • Removed the following columns from the Issues table, UserLogin, RepositoryName.
  • Removed the following columns from the PullRequests table, UserLogin, RepositoryName.
  • Removed the following columns from the Branches table, UserLogin, RepositoryName.
  • Removed the following columns from the CommitComments table, UserLogin, RepositoryName.
  • Removed the following columns from the Forks table, UserLogin, RepositoryName.
  • Removed the following columns from the Topics table, UserLogin, RepositoryName.
  • Removed the following columns from the IssueComments table, UserLogin, RepositoryName.
  • Removed the following columns from the PullRequestReviews table, UserLogin, RepositoryName.
  • Removed the following columns from the Releases table, UserLogin, RepositoryName.
  • Removed the following columns from the Commits table, UserLogin, RepositoryName, PushedDate.
  • Removed the following column from the Repositories table, UserLogin.
  • Removed the following columns from the Milestones table, UserLogin, RepositoryName.
2023-08-2923.0.8641PythonAdded
  • Added support for SQLAlchemy 2.0.
2023-06-2023.0.8571GeneralAdded
  • Added the new sys_lastresultinfo system table.
2023-05-1923.0.8539PythonAdded
  • Added support for Python 3.11 on Windows, Linux and Mac.
2023-05-1623.0.8536PythonRemoved
  • Removed support for Python 3.7 on Windows and Linux
2023-04-2723.0.8517GitHubChanged
  • Changed Milestones.ProgressPercentage data type from "float" to "double".
2023-04-2523.0.8515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
2022-12-1422.0.8383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
2022-11-1522.0.8354PythonChanged
  • Updated embedded JRE to jre8u345-b01(Linux x64 / MacOS x64) and jre-17.0.5+8(MacOS aarch64).
2022-11-1022.0.8349GitHubRemoved
  • From table Commits the column ChangedFiles was removed.
2022-10-2622.0.8334GitHubAdded
  • Added support for executing the IN operation in the following tables: "LicenseConditions", "LicenseLimitations", "LicensePermissions".
  • A subquery selecting all licenses will be added automatically if one of the following tables would be quired: "LicenseConditions", "LicenseLimitations", "LicensePermissions".
2022-09-3022.0.8308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
2022-05-1822.0.8173PythonAdded
  • Added support for Python 3.10 on Windows, Linux, and Mac
  • Added support for Python 3.9 on Mac
  • Added support for Mac M1
2022-05-1822.0.8173PythonRemoved
  • Removed support for Python 3.6 on Windows and Linux
2022-02-2421.0.8090GitHubAdded
  • Added server side support for executing the IN operation against the State column in the PullRequests and PullRequestReviews tables.
2021-10-2021.0.7963GitHubAdded
  • Added the column ProgressPercentage to the Milestones view.
2021-10-2021.0.7963GitHubRemoved
  • Removed the column IssuePrioritiesDebug from the Milestones table since it was removed from the GitHub API.
2021-09-0221.0.7915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
2021-08-0721.0.7889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
2021-08-0621.0.7888GeneralChanged
  • Added the new sys_primarykeys system table.
2021-07-2321.0.7874GeneralChanged
  • Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
  • As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
2021-04-2521.0.7785GeneralAdded
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
2021-04-2321.0.7783GeneralChanged
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
2021-04-1621.0.7776GeneralAdded
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
2021-04-1621.0.7776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.
2021-04-1621.0.7776GeneralChanged
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
2021-04-1621.0.7776GeneralChanged
  • Updated index naming convention to avoid duplicates.

CData Python Connector for GitHub

Using the Connector

This section provides a walk-through for writing GitHub data access code in Python script.

For more information on the available data source entities and how to query them with SQL, see Data Model. For the SQL syntax, see SQL Compliance.

Connecting from Code

For information on how to deploy the connector and configure the connection to GitHub, see Package Installation and Establishing a Connection.

For information on how to connect with the github.connector module and its related classes, see Connecting.

Executing SQL

The connection's cursor object is used to directly execute SQL queries. For information on how to execute SELECT statements and process the returned result sets, see Querying Data. For information on to modify the data in GitHub with INSERT, UPDATE, and DELETE statements, see Modifying Data .

Executing Stored Procedures

You can call stored procedures by using the EXECUTE statement. For further information, see Calling Stored Procedures.

CData Python Connector for GitHub

Connecting

Connecting with the cdata.github Module:

The connector's module is used directly to establish a connection with the data source. It does this by using a connection string as its argument. For example:
import cdata.github as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")

Once the connection is created, you can use it to execute subsequent SQL queries.

CData Python Connector for GitHub

Querying Data

After connecting as described in Connecting, you can use the open connection to execute SQL statements.

Executing Queries

To execute SQL statements that return data, use the execute() method. Once a query is executed, the result set is fetched from the cursor. This result set can then be iterated over to process the records individually.

For example:

cur = conn.execute("SELECT Name, OwnerLogin FROM Repositories")
rs = cur.fetchall()
for row in rs:
	print(row)

Parameterized Queries

Various Python collections, such as arrays and tuples, can act as additional arguments for the execute() method. This enables you to parameterize the queries executed and help to prevent SQL Injection.

For example:

cmd = "SELECT Name, OwnerLogin FROM Repositories WHERE OwnerLogin = ?"
params = ["mojombo"]
cur = conn.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for GitHub

Modifying Data

The connection is also used to issue INSERT, UPDATE, and DELETE commands to the data source. Parameters can be used with these statements if desired.

Note that the connector does not support transactions. As with normal write operations, all SQL statements executed by this connector affect the data source immediately. Call the connection's commit() method following the execution.

Insert

The following example adds a new record to the table:
cmd = "INSERT INTO Repositories (Name, OwnerLogin) VALUES (?, ?)"
params = ["1668776136772254", "3478365783"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Update

The following example modifies an existing record in the table:
cmd = "UPDATE Repositories SET OwnerLogin = ? WHERE Id = ?"
params = ["3478365783", "mojombo"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Delete

The following example removes an existing record from the table:

cmd = "DELETE FROM Repositories WHERE Id = ?"
params = ["mojombo"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

CData Python Connector for GitHub

Calling Stored Procedures

You can execute stored procedures using either the execute() or callproc() method of the connection.

Calling Stored Procedures Using Execute()

When you call stored procedures by issuing EXECUTE commands, the stored procedure arguments are parameterized. For example:
cmd = "EXECUTE RefreshOAuthAccessToken OAuthRefreshToken = ?"
params = ["test"]
conn.execute(cmd, params)

Calling Stored Procedures Using Callproc()

When you call stored procedured by issuing the callproc() method, the stored procedure arguments are a procedure name and a list of parameters. For example:
cur = conn.cursor()
params = ["test"]
cur.callproc("RefreshOAuthAccessToken", params)

CData Python Connector for GitHub

Using from Tools

The connector is integrated with other tools and packages within Python.

Python Integration Guides

The following sections show how to create and use connections with the connector in common packages in Python:

Complete List of GitHub Integration Quickstarts

For information on connecting from other applications, see GitHub integration guides.

CData Python Connector for GitHub

From SQLAlchemy

The CData Python Connector for GitHub includes a Dialect class that enables integration with SQLAlchemy. Bear in mind that several aspects of connector functionality are not currently supported in SQLAlchemy 2.0 or above. If necessary, downgrade SQLAlchemy to version 1.4 or 1.3 before using this connector.

The following sections detail various aspects of this integration:

Connecting From SQLAlchemy

To construct a URL with which SQLAlchemy loads and uses the appropriate connector automatically, see Connecting

Reflecting Metadata With SQLAlchemy

To learn how to model GitHub tables with mapped classes, see Reflecting Metadata.

Querying Data From SQLAlchemy

To learn how to use mapped classes to query the associated tables, see Querying Data.

Modifying Data From SQLAlchemy

The connector provides INSERT/UPDATE/DELETE functionality in SQLAlchemy. To learn how to call the session's execute() method to affect the data in the data source, see Modifying Data.

CData Python Connector for GitHub

Connecting

Connecting With a Dialect URL

Establishing a connection using SQLAlchemy requires a specific URL format.
from sqlalchemy import create_engine
engine = create_engine("github:///?InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")

For SQLAlchemy 2.0, the dialect name is github_2. To establish a connection, use the following URL format:

from sqlalchemy import create_engine
engine = create_engine("github_2:///?InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")

CData Python Connector for GitHub

Reflecting Metadata

SQLAlchemy can act as an Object-relational Map (ORM). This enables you to treat records of a database table as instantiable records. To leverage this functionality, you must reflect the underlying metadata in one of the following ways.

Note: The following examples employ SQLAlchemy 1.4.

Modeling Data Using a Mapping Class

Use "sqlalchemy.ext.declarative.declarative_base" to declare a mapping class for the table you wish to model in the ORM. A known table in the data model is modeled either partially or completely, as shown in the following example:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Repositories(Base):
	__tablename__ = "Repositories"
	Id = Column(String, primary_key=True)
	Name = Column(String)
	OwnerLogin = Column(String)

Automatically Reflecting Metadata

Rather than mapping tables manually, SQLAlchemy can discover the metadata for one or more tables automatically. To accomplish this across the entire data model, use automap_base:
from sqlalchemy import MetaData
from sqlalchemy.ext.automap import automap_base
meta = MetaData()
abase = automap_base(metadata=meta)
abase.prepare(autoload_with=engine)
Repositories = abase.classes.Repositories

You can also reflect a single table with an inspector. When reflecting this way, providing a list of specific columns to map is optional:

from sqlalchemy import MetaData, Table
from sqlalchemy import inspect
meta = MetaData()
insp = inspect(engine)
Repositories_table = Table("Repositories", meta)
insp.reflect_table(Repositories_table, ["Id","OwnerLogin"])

CData Python Connector for GitHub

Querying Data

After you use the steps in Connecting to connect, and use one of the methods in Reflecting Metadata to reflect some of the metadata, you can use a session object to query data.

Querying Data Using the Query Method

If the mapping class has been prepared, use it with a session object to query the data source. After binding the engine to the session, provide the mapping class to the session's query method.

For example:

engine = create_engine("github:///?InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(Repositories).filter_by(OwnerLogin="mojombo"):
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("OwnerLogin: ", instance.OwnerLogin)
	print("---------")

Querying Data Using the Execute Method

The session object can also run the query with the execute() method alongside the appropriate Table object. Assuming you have an active session, the following is just as viable:
Repositories_table = Repositories.metadata.tables["Repositories"]
for instance in session.execute(Repositories_table.select().where(Repositories_table.c.OwnerLogin == "mojombo")):
	print("Id: ", instance.Id)
	print("FullName: ", instance.Name)
	print("City: ", instance.BillingCity)
	print("---------")

CData Python Connector for GitHub

Executing JOINs

Implicit Joining

If mapped classes of related GitHub objects have a singular foreign key relationship, the classes are implicitly joined. After importing the necessary objects, a relationship is established between your two mapped classes, as in the example below:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer, DateTime, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship

Base = declarative_base()
class Contact(Base):
	__tablename__ = "Contact"
	Id = Column(Integer, primary_key=True)
	Name = Column(String)
	Email = Column(String)
	BirthDate = Column(DateTime)
	AccountId = Column(String, ForeignKey("Account.Id"))
	Account_Link = relationship("Account", back_populates="Contact_Link")

class Account(Base):
	__tablename__ = "Account"
	Id = Column(String, primary_key=True)
	Name = Column(String)
	BillingCity = Column(String)
	NumberOfEmployees = Column(Integer)
	Contact_Link = relationship("Contact", order_by=Contact.Id, back_populates="Account_Link")

Once the relationship is established, the tables are queried simultaneously using the session's query() method. For example:

rs = session.query(Account, Contact).filter(Account.Id == Contact.AccountId)
for Ac, Ct in rs:
  print("AccountId: ", Ac.Id)
  print("AccountName: ", Ac.Name)
  print("ContactId: ", Ct.Id)
  print("ContactName: ", Ct.Name)

Other Join Forms

In situations where mapped classes have either no foreign keys or multiple foreign keys, you may need different forms of the JOIN query to accommodate them. Using the earlier classes as examples, the following JOIN queries are possible as well:
  • Explicit condition (necessary if there are no foreign keys in your mapped classes):
    rs = session.query(Account, Contact).join(Contact, Account.Id == Contact.AccountId)
    for Ac, Ct in rs:
  • Left-to-right relationship:
    rs = session.query(Account, Contact).join(Account.Contact_Link)
    for Ac, Ct in rs:
  • Left-to-right relationship with explicit target:
    rs = session.query(Account, Contact).join(Contact, Account.Contact_Link)
    for Ac, Ct in rs:
  • String form of a left-to-right relationship:
    rs = session.query(Account, Contact).join("Contact_Link")
    for Ac, Ct in rs:

CData Python Connector for GitHub

Other SQL Clauses

SQLAlchemy ORM also exposes support for other clauses in SQL, such as ORDER BY, GROUP BY, LIMIT, and OFFSET. All of these are supported by this connector:

ORDER BY

The following example sorts by a specified column using the session object's query() method:
rs = session.query(Repositories).order_by(Repositories.Size)
for instance in rs:
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("OwnerLogin: ", instance.OwnerLogin)
	print("---------")

You can also use the session object's execute() method perform an ORDER BY. For example:

rs = session.execute(Repositories_table.select().order_by(Repositories_table.c.Size))
for instance in rs:

GROUP BY

The following example uses the session object's query() method to group records with a specified column:
rs = session.query(func.count(Repositories.Id).label("CustomCount"), Repositories.Name).group_by(Repositories.Name)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Name: ", instance.Name)
	print("---------")

You can also use the session object's execute() method to perform a GROUP BY:

rs = session.execute(Repositories_table.select().with_only_columns([func.count(Repositories_table.c.Id).label("CustomCount"), Repositories_table.c.Name]).group_by(Repositories_table.c.Name))
for instance in rs:

LIMIT and OFFSET

The following example uses the session object's query() method to skip the first 100 records and fetch the following 25:
rs = session.query(Repositories).limit(25).offset(100)
for instance in rs:
	print("Id: ", instance.Id)
	print("Name: ", instance.Name)
	print("OwnerLogin: ", instance.OwnerLogin)
	print("---------")

You can also use the session object's execute() method to set a LIMIT or OFFSET:

rs = session.execute(Repositories_table.select().limit(25).offset(100))
for instance in rs:

CData Python Connector for GitHub

Aggregate Functions

Certain aggregate functions can also be used within SQLAlchemy by using the func module.

To import this module, execute:

from sqlalchemy.sql import func

Once func is imported, the following aggregate functions are available:

COUNT

The following example counts the number of records in a set of groups using the session object's query() method.
rs = session.query(func.count(Repositories.Id).label("CustomCount"), Repositories.Name).group_by(Repositories.Name)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Name: ", instance.Name)
	print("---------")

You can also execute COUNT using the session object's execute() method:

rs = session.execute(Repositories_table.select().with_only_columns([func.count(Repositories_table.c.Id).label("CustomCount"), Repositories_table.c.Name])group_by(Repositories_table.c.Name))
for instance in rs:

SUM

This example calculates the cumulative amount of a numeric column in a set of groups.

rs = session.query(func.sum(Repositories.Size).label("CustomSum"), Repositories.Name).group_by(Repositories.Name)
for instance in rs:
	print("Sum: ", instance.CustomSum)
	print("Name: ", instance.Name)
	print("---------")

You can also invoke SUM using the session object's execute() method.

rs = session.execute(Repositories_table.select().with_only_columns([func.sum(Repositories_table.c.Size).label("CustomSum"), Repositories_table.c.Name]).group_by(Repositories_table.c.Name))
for instance in rs:

AVG

This example uses the session object's query() method to calculate the average amount of a numeric column in a set of groups:
rs = session.query(func.avg(Repositories.Size).label("CustomAvg"), Repositories.Name).group_by(Repositories.Name)
for instance in rs:
	print("Avg: ", instance.CustomAvg)
	print("Name: ", instance.Name)
	print("---------")

You can also use the session object's execute() method to invoke AVG:

rs = session.execute(Repositories_table.select().with_only_columns([func.avg(Repositories_table.c.Size).label("CustomAvg"), Repositories_table.c.Name]).group_by(Repositories_table.c.Name))
for instance in rs:

MAX and MIN

This example finds the maximum value and minimum value of a numeric column in a set of groups.
rs = session.query(func.max(Repositories.Size).label("CustomMax"), func.min(Repositories.Size).label("CustomMin"), Repositories.Name).group_by(Repositories.Name)
for instance in rs:
	print("Max: ", instance.CustomMax)
	print("Min: ", instance.CustomMin)
	print("Name: ", instance.Name)
	print("---------")

You can also use the session object's execute() method to invoke MAX and MIN:

rs = session.execute(Repositories_table.select().with_only_columns([func.max(Repositories_table.c.Size).label("CustomMax"), func.min(Repositories_table.c.Size).label("CustomMin"), Repositories_table.c.Name]).group_by(Repositories_table.c.Name))
for instance in rs:

CData Python Connector for GitHub

Modifying Data

Commands can be executed individually by the session with a call to "execute()".

Obtaining the Table Object

The query supplied to this method is constructed using the associated Table object of a mapped class. This Table object is obtained from the mapped class's metadata field, as below:

Repositories_table = Repositories.metadata.tables["Repositories"]

Once the table object is obtained, the write operations are executed in the following ways. The queries are executed immediately without the need for a call to "commit()":

Insert

The following example adds a new record to the table:

session.execute(Repositories_table.insert(), {"Name": "1668776136772254", "OwnerLogin": "3478365783"})

Update

The following example modifies an existing record in the table:

session.execute(Repositories_table.update().where(Repositories_table.c.Id == "mojombo").values(Name="1668776136772254", OwnerLogin="3478365783"))

Delete

The following example removes an existing record from the table:

session.execute(Repositories_table.delete().where(Repositories_table.c.Id == "mojombo"))

CData Python Connector for GitHub

From Pandas

When combined with the connector, Pandas can be used to generate data frames that contain your GitHub data. Once created, a data frame can be passed to various other Python packages.

Connecting

Pandas relies on an SQLAlchemy engine to execute queries. Before you can use Pandas you must import it:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("github:///?InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")

Querying Data

In Pandas, SELECT queries are provided in a call to the read_sql() method, alongside a relevant connection object. Pandas executes the query on that connection, and returns the results in the form of a data frame, which can be used for a variety of purposes.
df = pd.read_sql("""
	SELECT
	   Name,
	   OwnerLogin,
     $exNumericCol;
	FROM Repositories;""", engine)
print(df)

Modifying Data

To insert new records into a table, create a new data frame, and define its fields accordingly. When that is done, call to_sql() on the data frame to perform the INSERT operation with the connector, as shown in the example below. You must set the "if _exists" argument to "append" to prevent Pandas from attempting building the table from scratch. To prevent Pandas from writing the data frame index as a column, set index=False.
df = pd.DataFrame({"Name": ["1668776136772254"], "OwnerLogin": ["3478365783"]})
df.to_sql("Repositories", con=engine, if_exists="append", index=False)

CData Python Connector for GitHub

From Matplotlib

Matplotlib contains a number of tools that can graphically model GitHub data after being fed a data frame From Pandas.

Using PyPlot

Before any Matplotlib tool, such as pyplot, can be used, it must be imported:
from matplotlib import pyplot as plt

Once a Pandas data frame is obtained, it can be used to create a plot visualizing GitHub data. For example, the following plot generates and displays a bar graph relating Name and Size values:

df.plot(kind="bar", x="Name", y=["Size"])
plt.show()

CData Python Connector for GitHub

From Petl

The connector can be used to create ETL applications and pipelines for CSV data in Python using Petl.

Install Required Modules

Install the Petl modules using the pip utility.
pip install petl

Connecting

After you import the modules, including the CData Python Connector for GitHub, you can use the connector's connect function to create a connection using a valid GitHub connection string. If you prefer not to use a direct connection, you can use a SQLAlchemy engine.
import petl as etl
import cdata.github as mod
cnxn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")

Extract, Transform, and Load the GitHub Data

Create a SQL query string and store the query results in a DataFrame.
sql = "SELECT	Name, OwnerLogin FROM Repositories "
table1 = etl.fromdb(cnxn,sql)

Loading Data

With the query results stored in a DataFrame, you can load your data into any supported Petl destination. The following example loads the data into a CSV file.
etl.tocsv(table1,'output.csv')

Modifying Data

Insert new rows into GitHub tables using Petl's appenddb function.
table1 = [['Name','OwnerLogin'],['1668776136772254','3478365783']]
etl.appenddb(table1,cnxn,'Repositories')

CData Python Connector for GitHub

Schema Discovery

The extension supports schema discovery by using SQL queries to available System Tables.

Using SQL

The following sections describe the discovery of metadata through several System Tables:

CData Python Connector for GitHub

Tables and Views

The connector possesses system tables that are used to discover the tables and views available in the data model. Of these system tables, "sys_tables" and "sys_views" are used to fetch information about the available tables and views respectively:

Tables


import cdata.github as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tables"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Views


import cdata.github as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")
cur = conn.cursor()
cmd = "SELECT * FROM sys_views"
cur.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for GitHub

Columns

The available columns for any given table are fetched from a system table called "sys_tablecolumns". A specific table name is provided in the WHERE criteria to restrict the table from which the column information is fetched:

import cdata.github as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tablecolumns WHERE TableName = 'Repositories'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for GitHub

Procedures

Procedures

A system table called "sys_procedures" is queried to obtain the available stored procedures that are executed:
import cdata.github as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedures"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Parameters

The input parameters of any stored procedure are similarly obtained from the "sys_procedureparameters" system table:
import cdata.github as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'RefreshOAuthAccessToken'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for GitHub

Advanced Features

This section details a selection of advanced features of the GitHub connector.

User Defined Views

The connector supports the use of user defined views, virtual tables whose contents are decided by a pre-configured user defined query. These views are useful when you cannot directly control queries being issued to the drivers. For an overview of creating and configuring custom views, see User Defined Views .

SSL Configuration

Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats;. For further information, see the SSLServerCert property under "Connection String Options" .

Firewall and Proxy

Configure the connector for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.

Caching Data

Caching Data enables faster access to data and reduces the number of API calls, improving performance. The connector supports a simple caching model where multiple connections can also share the cache over time. When configuring the cache connection, you can specify automatic or explicit data caching.

Query Processing

The connector offloads as much of the SELECT statement processing as possible to GitHub and then processes the rest of the query in memory (client-side).

For further information, see Query Processing.

Logging

For an overview of configuration settings that can be used to refine CData logging, see Logging. Only two connection properties are required for basic logging, but there are numerous features that support more refined logging, which enables you to use the LogModules connection property to specify subsets of information to be logged.

Exception Handling

For an overview of how exceptions are reported and the components of an exception, see Exception Handling.

CData Python Connector for GitHub

User Defined Views

The CData Python Connector for GitHub supports the use of user defined views: user-defined virtual tables whose contents are decided by a preconfigured query. User defined views are useful in situations where you cannot directly control the query being issued to the driver; for example, when using the driver from a tool.

Use a user defined view to define predicates that are always applied. If you specify additional predicates in the query to the view, they are combined with the query already defined as part of the view.

There are two ways to create user defined views:

  • Create a JSON-formatted configuration file defining the views you want.
  • DDL statements.

Defining Views Using a Configuration File

User defined views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The connector automatically detects the views specified in this file.

You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the connector.

This user defined view configuration file is formatted so that each root element defines the name of a view, and includes a child element, called query, which contains the custom SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Repositories WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

Defining Views Using DDL Statements

The connector is also capable of creating and altering the schema via DDL Statements such as CREATE LOCAL VIEW, ALTER LOCAL VIEW, and DROP LOCAL VIEW.

Create a View

To create a new view using DDL statements, provide the view name and query as follows:

CREATE LOCAL VIEW [MyViewName] AS SELECT * FROM Customers LIMIT 20;

If no JSON file exists, the above code creates one. The view is then created in the JSON configuration file and is now discoverable. The JSON file location is specified by the UserDefinedViews connection property.

Alter a View

To alter an existing view, provide the name of an existing view alongside the new query you would like to use instead:

ALTER LOCAL VIEW [MyViewName] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

The view is then updated in the JSON configuration file.

Drop a View

To drop an existing view, provide the name of an existing schema alongside the new query you would like to use instead.

DROP LOCAL VIEW [MyViewName]

This removes the view from the JSON configuration file. It can no longer be queried.

Schema for User Defined Views

In order to avoid a view's name clashing with an actual entity in the data model, user defined views are exposed in the UserViews schema by default. To change the name of the schema used for UserViews, reset the UserViewsSchemaName property.

Working with User Defined Views

For example, a SQL statement with a user defined view called UserViews.RCustomers only lists customers in Raleigh:
SELECT * FROM Customers WHERE City = 'Raleigh';
An example of a query to the driver:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Resulting in the effective query to the source:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
That is a very simple example of a query to a user defined view that is effectively a combination of the view query and the view definition. It is possible to compose these queries in much more complex patterns. All SQL operations are allowed in both queries and are combined when appropriate.

CData Python Connector for GitHub

SSL Configuration

Customizing the SSL Configuration

By default, the connector attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.

To specify another certificate, see the SSLServerCert connection property.

CData Python Connector for GitHub

Firewall and Proxy

Connecting Through a Firewall or Proxy

HTTP Proxies

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to connect to other proxies, set ProxyAutoDetect to False and read further.

To authenticate to an HTTP proxy, set the following:

  • ProxyServer: the hostname or IP address of the proxy server that you want to route HTTP traffic through.
  • ProxyPort: the TCP port that the proxy server is running on.
  • ProxyAuthScheme: the authentication method the connector uses when authenticating to the proxy server.
  • ProxyUser: the username of a user account registered with the proxy server.
  • ProxyPassword: the password associated with the ProxyUser.

Other Proxies

Set the following properties:

CData Python Connector for GitHub

Caching Data

Caching Data

Caching data provides several benefits, including faster access to data and reducing the number of API calls, which improve performance. The connector supports a simple caching model where multiple connections can also share the cache over time. You can enable and configure caching features by setting the necessary connection properties.

Contents

The sections in this chapter detail the connector's caching functionality and link to the corresponding connection properties, as well as SQL statements.

Configuring the Cache Connection

Configuring the Cache Connection describes the properties that you can set when configuring the cache database.

Caching Metadata

Caching Metadata describes the CacheMetadata property. This property determines whether or not to cache the table metadata to a file store.

Automatically Caching Data

Automatically Caching Data describes how the connector automatically refreshes the cache when the AutoCache property is set.

Explicitly Caching Data

Explicitly Caching Data describes how you can decide what data is stored in the cache and when it is updated.

Data Type Mapping

Data Type Mapping shows the mappings between the data types configured in the schema and the data types in the database.

CData Python Connector for GitHub

Configuring the Cache Connection

Configuring the Caching Database

This section describes the properties for caching data to the persistent store of your choice.

CacheLocation

The CacheLocation property species the path to a file-system-based database. When caching is enabled, a file-system-based database is used by default. If CacheLocation is not specified, this database is stored at the path in Location. If neither of these connection properties are specified, the connector uses a platform-dependent default location.

CacheConnection

The CacheConnection property specifies a database driver and the connection string to the caching database.

CacheDriver and CacheProvider

Both the CacheDriver and CacheProvider properties are supported. Each specifies a database driver and the connection string to the caching database. CacheDriver is designed for Linux and MacOS; CacheProvider is Windows-based.

CData Python Connector for GitHub

Automatically Caching Data

Automatically caching data is useful when you do not want to rebuild the cache for each query. When you query data for the first time, the connector automatically initializes and builds a cache in the background. When AutoCache = true, the connector uses the cache for subsequent query executions, resulting in faster response times.

If replication is enabled, the data is generated once and then copied to local and cloud data stores. With incremental updates, the connector achieves a performance advantage over dropping the cached tables and retrieving the entire table again on every refresh. With iterative updates, the connector only performs the query from the last time that the date was refreshed. If replication is not enabled, updates to the cache require downloading the entire data set.

Configuring Automatic Caching

To automatically update the cache and return results from the local cache, set the following connection string properties:

  • AutoCache: This property automatically updates the cache when the value is set to true.
  • CacheTolerance: This property ensures that the data retrieved from the database is the most current version. The default value is 600 seconds (10 minutes). The connector checks with the data source for newer records after the tolerance interval has expired. Otherwise, it returns the data directly from the cache.

Caching the Repositories Table

The following example caches the Repositories table in the file specified by the CacheLocation property of the connection string.

SELECT Name, OwnerLogin FROM Repositories WHERE OwnerLogin = 'mojombo'

Common Use Case

A common use for automatically caching data is to improve driver performance when making repeated requests to a live data source, such as building a report or creating a visualization. With auto caching enabled, repeated requests to the same data may be executed in a short period of time, but within an allowable tolerance (CacheTolerance) of what is considered "live" data.

CData Python Connector for GitHub

Explicitly Caching Data

With explicit caching (AutoCache = false), you decide exactly what data is cached and when to query the cache instead of the live data. Explicit caching gives you full control over the cache contents by using CACHE Statements. This section describes some strategies to use the caching features offered by the connector.

Creating the Cache

To load data in the cache, issue the following statement.

CACHE SELECT * FROM tableName WHERE ...

Once the statement is issued, any matching data in tableName is loaded into the corresponding table.

Updating the Cache

This section describes two ways to update the cache.

Updating with the SELECT Statement

The following example shows a statement that can update modified rows and add missing rows in the cached table. However, this statement does not delete extra rows that are already in the cache. This statement only merges the new rows or updates the existing rows.

CACHE SELECT * FROM Repositories WHERE OwnerLogin = 'mojombo'

Updating with the TRUNCATE Statement

The following example shows a statement that can update modified rows and add missing rows in the cached table. This statement can also delete rows in the cache table that are not present in the live data source.

  CACHE WITH TRUNCATE SELECT * FROM Repositories WHERE OwnerLogin = 'mojombo'
  

Query the Data in Online or Offline Mode

This section describes how to query the data in online or offline mode.

Online: Select Cached Tables

You can use the tableName#CACHE syntax to explicitly execute queries to the cache while still online, as shown in the following example.

SELECT * FROM Repositories#CACHE

Offline: Select Cached Tables

With Offline = true, SELECT statements always execute against the local cache database, regardless of whether you explicitly specify the cached table or not. Modification of the cache is disabled in Offline mode to prevent accidentally updating only the cached data. Executing a DELETE/UPDATE/INSERT statement while in Offline mode results in an exception.

The following example selects from the local cache but not the live data source because Offline = true.

SELECT * FROM Repositories WHERE OwnerLogin='mojombo' ORDER BY OwnerLogin ASC

Delete Data from the Cache

You can delete data from the cache by building a direct connection to the database. Note that the connector does not support manually deleting data from the cache.

Common Use Case

A common use for caching is to have an application always query the cached data and only update the cache at set intervals, such as once every day or every two hours. There are two ways in which this can be implemented:

  • AutoCache = false and Offline = false. All queries issued by the application explicitly reference the tableName#CACHE table. When the cache needs to be updated, the application executes a tableName#CACHE ... statement to bring the cached data up to date.
  • Offline = true. Caching is transparent to the application. All queries are executed against the table as normal, so most application code does not need to be aware that caching is done. To update the cached data, simply create a separate connection with Offline = false and execute a tableName#CACHE ... statement.

CData Python Connector for GitHub

Data Type Mapping

The connector maps types from the data source to the corresponding data type available in the chosen cache database. The following table shows the mappings between the data types configured in the schema and the data types in the database. Some schema types have synonyms which are all listed in the Schema column.

Data Type Mapping

Note: String columns can map to different data types depending on their length.

Schema .NET JDBC SQL Server Derby MySQL Oracle SQLite Access
int, integer, int32 Int32 int int INTEGER INT NUMBER integer LONG
smallint, short, int16 Int16 short smallint SMALLINT SMALLINT NUMBER integer SHORT
double, float, real Double double float DOUBLE DOUBLE NUMBER double DOUBLE
date DateTime java.sql.Date date DATE DATE DATE date DATETIME
datetime, timestamp DateTime java.sql.Date datetime TIMESTAMP DATETIME TIMESTAMP datetime DATETIME
time, timespan TimeSpan java.sql.Time time TIME TIME TIMESTAMP datetime DATETIME
string, varchar String java.lang.String If length > 4000: nvarchar(max), Otherwise: nvarchar(length)If length > 32672: LONG VARCHAR, Otherwise VARCHAR(length)If length > 255: LONGTEXT, Otherwise: VARCHAR(length)If length > 4000: CLOB, Otherwise: VARCHAR2(length)nvarchar(length)If length > 255: LONGTEXT, Otherwise: VARCHAR(length)
long, int64, bigint Int64 long bigint BIGINT BIGINT NUMBER bigint LONG
boolean, bool Boolean boolean tinyint SMALLINT BIT NUMBER tinyint BIT
decimal, numeric Decimal java.math.BigDecimal decimal DECIMAL DECIMAL DECIMAL decimal CURRENCY
uuid Guid java.util.UUID nvarchar(length) VARCHAR(length)VARCHAR(length) VARCHAR2(length)nvarchar(length) VARCHAR(length)
binary, varbinary, longvarbinary byte[] byte[] binary(1000) or varbinary(max) after SQL Server 2000, image otherwise BLOB LONGBLOB BLOB BLOB LONGBINARY

CData Python Connector for GitHub

Query Processing

Query Processing

CData has a client-side SQL engine built into the connector library. This enables support for the full capabilities that SQL-92 offers, including filters, aggregations, functions, etc.

For sources that do not support SQL-92, the connector offloads as much of SQL statement processing as possible to GitHub and then processes the rest of the query in memory (client-side). This results in optimal performance.

For data sources with limited query capabilities, the connector handles transformations of the SQL query to make it simpler for the connector. The goal is to make smart decisions based on the query capabilities of the data source to push down as much of the computation as possible. The GitHub Query Evaluation component examines SQL queries and returns information indicating what parts of the query the connector is not capable of executing natively.

The GitHub Query Slicer component is used in more specific cases to separate a single query into multiple independent queries. The client-side Query Engine makes decisions about simplifying queries, breaking queries into multiple queries, and pushing down or computing aggregations on the client-side while minimizing the size of the result set.

There's a significant trade-off in evaluating queries, even partially, client-side. There are always queries that are impossible to execute efficiently in this model, and some can be particularly expensive to compute in this manner. CData always pushes down as much of the query as is feasible for the data source to generate the most efficient query possible and provide the most flexible query capabilities.

More Information

For a full discussion of how CData handles query processing, see CData Architecture: Query Execution.

CData Python Connector for GitHub

Logging

Logging

Capturing connector logging can be very helpful when diagnosing error messages or other unexpected behavior.

Basic Logging

To begin capturing connector logging, set these properties:

  • Logfile: A filepath that designates the name and location of the log file.
  • Verbosity: A numerical value (1-5) that determines the amount of detail in the log. See the page in the Connection Properties section for an explanation of the five levels.
  • MaxLogFileSize: When the limit is hit, a new log is created in the same folder with the date and time appended to the end. The default limit is 100 MB. Values lower than 100 kB will use 100 kB as the value instead.
  • MaxLogFileCount: A string specifying the maximum file count of log files. When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted. Minimum supported value is 2. A value of 0 or a negative value indicates no limit on the count.

Once these properties are set, the connector populates the log file as it carries out various tasks, such as when authentication is performed or queries are executed. If the specified file doesn't already exist, it is created.

Log Verbosity

The verbosity level determines the amount of detail that the connector reports to the Logfile. Supported Verbosity levels range from 1 to 5.

The following list describes each level:

1Setting Verbosity to 1 logs the query, the number of rows returned by it, the start of execution and the time taken, and any errors.
2Setting Verbosity to 2 logs everything included in Verbosity 1, cache queries, and additional information about the request.
3Setting Verbosity to 3 also logs HTTP headers, as well as the body of the request and the response.
4Setting Verbosity to 4 also logs transport-level communication with the data source. This includes SSL negotiation.
5Setting Verbosity to 5 also logs communication with the data source and additional details that may be helpful in troubleshooting problems. This includes interface commands.

For normal operations, Verbosity should not be set to greater than 1. At higher verbosities you can log substantial amounts of data, which can delay execution times.

To refine the logged content further by showing/hiding specific categories of information, see LogModules.

Sensitive Data

Verbosity levels of 3 and higher may capture information that you do not want shared outside of your organization. The following lists information of concern for each level:

  • Verbosity 3: The full body of the request and the response, which includes all the data returned by the connector
  • Verbosity 4: SSL certificates
  • Verbosity 5: Any extra transfer data not included at Verbosity 3, such as non human-readable binary transfer data

Note: Although we mask sensitive values, such as passwords, in the connection string and any request in the log, it is always best practice to review the logs for any sensitive information before sharing outside your organization.

Advanced Logging

You may want to refine the exact information that is recorded to the log file. This can be accomplished using the LogModules property. This property allows you to filter the logging using a semicolon-separated list of logging modules.

Example property value:

LogModules=INFO;EXEC;SSL;SQL;META;

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for GitHub

Exception Handling

Exception Handling

Exceptions can be surfaced from either the API or the CData Python Connector for GitHub. Each exception will have an error code, an error message, and a SQL state.

Error Codes

The error code classifies the type of error.

0 NONE Used for unclassified errors and internally handled errors. This code also covers data source-specific errors that do not fit in any specific category.
65537 TCP_UNKNOWN_HOST Unable to resolve a hostname (DNS failure).
65538 TCP_CONNECTION_REFUSED Could not connect to the remote port.
65539 TCP_AUTH_FAILED Login failed when using a binary authentication protocol. Use this for auth errors when the protocol is not HTTP (LDAP, SASL, Kerberos, ...).
65540 TCP_TIMEOUT Did not receive a response after sending a request to the server.
65541 TCP_PROTOCOL For wire protocol drivers. Either the server sent a bad packet that we are unable to process, or we cannot construct a packet to send.
131073 TLS_SERVER_UNTRUSTED Could not verify SSL server certificate.
131074 TLS_CLIENT_UNTRUSTED Server did not accept the client certificate we sent.
196609 OAUTH_DECRYPT_FAILED OAuthEncryptKey did not decrypt the OAuthSettings file.
196610 OAUTH_MISSING_CLIENT_INFO OAuthClientId / OAuthClientSecret / OAuthJWTCert is missing.
196611 OAUTH_MISSING_PROP General OAuth property missing. OAUTH_MISSING_CLIENT_INFO is used for missing client ID/secret and JWT cert.
196612 OAUTH_NO_ACCESS_TOKEN Unable to retrieve access token. Only use this when getting a token in GetOAuthAccessToken / RefreshOAuthAccessToken.
196613 OAUTH_TOKEN_EXPIRED The access token expired. Normally used with a RefreshOAuth/OAuthException behavior.
196614 OAUTH_INVALID_PROP OAuth property has an invalid value. OAUTH_MISSING_CLIENT_INFO / OAUTH_MISSING_PROP is used if the value is not set.
262145 HTTP_REQUEST_TIMEOUT Did not receive a response from the HTTP server.
262146 HTTP_CLIENT_ERROR Generic HTTP 4xx error. Only use for 4xx errors not covered by other codes.
262147 HTTP_AUTH_FAILED HTTP 401 error.
262148 HTTP_LIMIT_EXCEEDED HTTP 429 error.
262149 HTTP_SERVER_ERROR HTTP 5xx error.
262150 HTTP_NOT_FOUND_ERROR HTTP 404 error.
327681 CORE_TIMEOUT General timeout. Not related to a specific network request.
327682 CORE_OP_NOT_ALLOWED Operation blocked by provider permissions.
327683 CORE_CONNECTION_CONFIG Connection configuration is not valid.
327684 CORE_SERIALIZE Failed to encode data into a specific format (XML, JSON, CSV, ...).
327685 CORE_DESERIALIZE Failed to decode data from a specific format (XML, JSON, CSV, ...).
393217 SQL_SYNTAX_ERROR Unable to parse a SQL query.
393218 SQL_MISSING_COLUMNS Query did not include required columns.
393219 SQL_MISSING_PARAMS Stored procedure call did not include required parameters.
393220 SQL_QUERY_NOT_SUPPORTED A part of the query is not allowed in the current context.
458753 SSH_SERVER_UNTRUSTED Could not verify SSH server.
524289 STORAGE_LIST_EXCEPTION Issue listing storage resources.
524290 STORAGE_RESOURCE_NOT_FOUND Issue finding storage resources.
524291 STORAGE_ROOT_RESOURCE_NOT_FOUND The root resource (bucket/share/drive) was not found; cannot create it in flat file drivers.
524292 STORAGE_RESOURCE_NOT_A_DIRECTORY Storage resource is not a directory.
524293 STORAGE_RESOURCE_NOT_A_FILE Storage resource is not a file.
524294 STORAGE_PERMISSIONS_DENIED Storage permissions denied.

SQL State

The SQL state is used when throwing generic provider errors to the wrapper and indicates the success or failure of a call.

Some of the common SQL states are listed below:

07007 REQUIRED_CLAUSE Class Code 07: Dynamic SQL Error.
08001 OPEN_CONNECTION Class Code 08: Connection Exception. The connection was unable to be established to the application server or other server.
08004 REJECT_CONNECTION The application server rejected establishment of the connection.
42501 PRIVILEGE_IDENTIFIED_OBJECT Class Code 42: Syntax Error or Access Rule Violation. The authorization ID does not have the privilege to perform the specified operation on the identified object.
42506 AUTH_FAILED Owner authorization failure occurred.
42601 SQL_SYNTAX A character, token, or clause is invalid or missing.

Error Message

The error message provides more detailed reasoning about why the error occurred. It provides an explanation of the issue, and may include steps on how to resolve it.

CData Python Connector for GitHub

SQL Compliance

The CData Python Connector for GitHub supports several operations on data, including querying, deleting, modifying, and inserting.

SELECT Statements

See SELECT Statements for a syntax reference and examples.

See Data Model for information on the capabilities of the GitHub API.

INSERT Statements

See INSERT Statements for a syntax reference and examples.

UPDATE Statements

The primary key Id is required to update a record. See UPDATE Statements for a syntax reference and examples.

DELETE Statements

The primary key Id is required to delete a record. See DELETE Statements for a syntax reference and examples.

CACHE Statements

CACHE statements allow granular control over the connector's caching functionality. For a syntax reference and examples, see CACHE Statements.

For more information on the caching feature, see Caching Data.

EXECUTE Statements

Use EXECUTE or EXEC statements to execute stored procedures. See EXECUTE Statements for a syntax reference and examples.

Names and Quoting

  • Table and column names are considered identifier names; as such, they are restricted to the following characters: [A-Z, a-z, 0-9, _:@].
  • To use a table or column name with characters not listed above, the name must be quoted using square brackets ([name]) in any SQL statement.
  • Parameter names can optionally start with the @ symbol (e.g., @p1 or @CustomerName) and cannot be quoted.
  • Strings must be quoted using single quotes (e.g., 'John Doe').

CData Python Connector for GitHub

SQL Functions

The connector provides functions that are similar to those that are available with most standard databases. These functions are implemented in the CData provider engine and thus are available across all data sources with the same consistent API. Three categories of functions are available: string, date, and math.

The connector interprets all SQL function inputs as either strings or column identifiers, so you need to escape all literals as strings, with single quotes. For example, contrast the SQL Server syntax and connector syntax for the DATENAME function:

  • SQL Server:
    SELECT DATENAME(yy,GETDATE())
  • connector:
    SELECT DATENAME('yy',GETDATE())

String Functions

These functions perform string manipulations and return a string value. See STRING Functions for more details.

Date Functions

These functions perform date and date time manipulations. See DATE Functions for more details.

Math Functions

These functions provide mathematical operations. See MATH Functions for more details.

CData Python Connector for GitHub

STRING Functions

ASCII(character_expression)

Returns the ASCII code value of the left-most character of the character expression.

  • character_expression: The character expression.

                      SELECT ASCII('0');
                      --  Result: 48
                    

BASE64_ENCODE(input_binary)

Returns the Base64-encoded string form of a binary input.

  • input_binary: The binary value to encode.

                        SELECT BASE64_ENCODE(BinaryData);
                    -- Result: 'QmFzZTY0RW5jb2RlZA=='
                    

BASE64_DECODE(input_string)

Returns the binary result of decoding a Base64-encoded string.

  • input_string: The Base64-encoded string.

                        SELECT BASE64_DECODE('QmFzZTY0RW5jb2RlZA==');
                    -- Result: (binary output)
                    

CHAR(integer_expression)

Converts the integer ASCII code to the corresponding character.

  • integer_expression: The integer from 0 through 255.

                      SELECT CHAR(48);
                      -- Result: '0'
                    

CHARINDEX(expressionToFind ,expressionToSearch [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT CHARINDEX('456', '0123456');
                      -- Result: 4

                      SELECT CHARINDEX('456', '0123456', 5);
                      -- Result: -1
                    

CHAR_LENGTH(character_expression),

Returns the number of UTF-8 characters present in the expression.

  • character_expression: The set of characters to be evaluated for length.

				 SELECT CHAR_LENGTH('sample text') FROM Account LIMIT 1
				 -- Result: 11			
				

CONCAT(string_value1, string_value2, ..., string_valueN)

Returns the string that is the concatenation of two or more string values.

  • string_value1: The first string to be concatenated.
  • string_value2: The second string to be concatenated.
  • string_valueN: (optional) Any additional strings to be concatenated.

                      SELECT CONCAT('Hello, ', 'world!');
                      -- Result: 'Hello, world!'
                    

CONTAINS(expressionToSearch, expressionToFind)

Returns 1 if expressionToFind is found within expressionToSearch; otherwise, 0.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.

                      SELECT CONTAINS('0123456', '456');
                      -- Result: 1

                      SELECT CONTAINS('0123456', 'Not a number');
                      -- Result: 0
                    

ENDSWITH(character_expression, character_suffix)

Returns 1 if character_expression ends with character_suffix; otherwise, 0.

  • character_expression: The character expression.
  • character_suffix: The character suffix to search for.

                      SELECT ENDSWITH('0123456', '456');
                      -- Result: 1

                      SELECT ENDSWITH('0123456', '012');
                      -- Result: 0
                    

FILESIZE(uri)

Returns the number of bytes present in the file at the specified file path.

  • uri: The path of the file from which to read the size.

				SELECT FILESIZE('C:/Users/User1/Desktop/myfile.txt');
				-- Result: 23684
				

FORMAT(value [, parseFormat], format )

Returns the value formatted with the specified format.

  • value: The string to format.
  • format: The string specifying the output syntax of the date or numeric format.
  • parseFormat: The string specifying the input syntax of the date value. Not applicable to numeric types.

                      SELECT FORMAT(12.34, '#');
                      -- Result: 12

                      SELECT FORMAT(12.34, '#.###');
                      -- Result: 12.34

                      SELECT FORMAT(1234, '0.000E0');
                      -- Result: 1.234E3
                      
                      SELECT FORMAT('2019/01/01', 'yyyy-MM-dd');
                      -- Result: 2019-01-01
                      
                      SELECT FORMAT('20190101', 'yyyyMMdd', 'yyyy-MM-dd');
                      -- Result: '2019-01-01'
                    

HASHBYTES(algorithm, value)

Returns the hash of the input value as a byte array using the given algorithm. The supported algorithms are MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, and SHA3_512.

  • algorithm: The algorithm to use for hashing. Must be one of MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, or SHA3_512.
  • value: The value to hash. Must be either a string or byte array.

                      SELECT HASHBYTES('MD5', 'Test');
                      -- Result (byte array): 0x0CBC6611F5540BD0809A388DC95A615B
                    

INDEXOF(expressionToSearch, expressionToFind [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT INDEXOF('0123456', '456');
                      -- Result: 4

                      SELECT INDEXOF('0123456', '456', 5);
                      -- Result: -1
                    

ISALPHABETIC(character_expression)

Returns 1 if the character expression consists only of alphabetic characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHABETIC('Hello');
                      -- Result: 1

                      SELECT ISALPHABETIC('Hello123');
                      -- Result: 0

                      SELECT ISALPHABETIC('Hello!');
                      -- Result: 0
                    

ISALPHANUMERIC(character_expression)

Returns 1 if the character expression consists only of alphabetic and numeric characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHANUMERIC('Hello123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('Hello.123');
                      -- Result: 0
                    

ISNUMERIC(character_expression)

Returns 1 if the character expression consists only of numeric digits and up to one decimal point; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISNUMERIC('123');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45.67');
                      -- Result: 0

                      SELECT ISNUMERIC('12a3');
                      -- Result: 0
                    

JSON_EXTRACT(json, jsonpath)

Selects any value in a JSON array or object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to extract.
  • jsonpath: The XPath used to select the nodes. The JSONPath must be a string constant. The values of the nodes selected will be returned in a token-separated list.

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test');
                      -- Result: '{"data":1}'

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test.data');
                      -- Result: 1

                      SELECT JSON_EXTRACT('{"test": {"data": [1, 2, 3]}}', '$.test.data[1]');
                      -- Result: 2
                    

LEFT ( character_expression , integer_expression )

Returns the specified number of characters counting from the left of the specified string.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters will be returned counting from the left of character_expression.

                      SELECT LEFT('1234567890', 3);
                      -- Result: '123'
                    

LEN(string_expression)

Returns the number of characters of the specified string expression.

  • string_expression: The string expression.

                      SELECT LEN('12345');
                      -- Result: 5
                    

LOCATE(substring,string)

Returns an integer representing how many characters into the string the substring appears.

  • substring: The substring to find inside larger string.
  • string: The larger string that is searched for the substring.
  • start locations: An optional integer that sets the character position (offset) from which to start searching.

				SELECT LOCATE('sample','XXXXXsampleXXXXX');
				-- Result: 6

                SELECT LOCATE('sample', 'XXXXXsampleXXXXX', 7)
                -- Result: 0
				

LOWER ( character_expression )

Returns the character expression with the uppercase character data converted to lowercase.

  • character_expression: The character expression.

                      SELECT LOWER('MIXED case');
                      -- Result: 'mixed case'
                    

LTRIM(character_expression)

Returns the character expression with leading blanks removed.

  • character_expression: The character expression.

                      SELECT LTRIM('     trimmed');
                      -- Result: 'trimmed'
                    

MASK(string_expression, mask_character [, start_index [, end_index ]])

Replaces the characters between start_index and end_index with the mask_character within the string.

  • string_expression: The string expression to be searched.
  • mask_character: The character to mask with.
  • start_index: The optional number of characters to leave unmasked at beginning of string. Defaults to 0.
  • end_index: The optional number of characters to leave unmasked at end of string. Defaults to 0.

                        SELECT MASK('1234567890','*',);
                        -- Result: '**********'
                        SELECT MASK('1234567890','*', 4);
                        -- Result: '1234******'
                        SELECT MASK('1234567890','*', 4, 2);
                        -- Result: '1234****90'  
                    

NCHAR(integer_expression)

Returns the Unicode character with the specified integer code as defined by the Unicode standard.

  • integer_expression: The integer from 0 through 65535 (0 through xFFFF).

OCTET_LENGTH(character_expression),

Returns the number of bytes present in the expression.

  • character_expression: The set of characters to be be evaluated.

				 SELECT OCTET_LENGTH('text') FROM Account LIMIT 1
				 -- Result: 4
				

PATINDEX(pattern, expression)

Returns the starting position of the first occurrence of the pattern in the expression. Returns 0 if the pattern is not found.

  • pattern: The character expression that contains the sequence to be found. The wild-card character % can be used only at the start or end of the expression.
  • expression: The expression, typically a column, to search for the pattern.

                      SELECT PATINDEX('123%', '1234567890');
                      -- Result: 1

                      SELECT PATINDEX('%890', '1234567890');
                      -- Result: 8

                      SELECT PATINDEX('%456%', '1234567890');
                      -- Result: 4
                    

POSITION(expressionToFind IN expressionToSearch)

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.

                      SELECT POSITION('456' IN '123456');
                      -- Result: 4

                      SELECT POSITION('x' IN '123456');
                      -- Result: 0
                    

QUOTENAME(character_string [, quote_character])

Returns a valid SQL Server-delimited identifier by adding the necessary delimiters to the specified Unicode string.

  • character_string: The string of Unicode character data. The string is limited to 128 characters. Inputs greater than 128 characters return null.
  • quote_character: An optional single character to be used as the delimiter. These include:
    • a single quotation mark (')
    • a left or right bracket ([])
    • a double quotation mark (")
    • a left or right parenthesis ( () )
    • a greater or less than sign (><)
    • a left or right brace ({})
    • a backtick (`)

    If quote_character is not specified brackets are used. If an unacceptable character is supplied, it returns NULL.


                      SELECT QUOTENAME('table_name');
                      -- Result: '[table_name]'

                      SELECT QUOTENAME('table_name', '"');
                      -- Result: '"table_name"'

                      SELECT QUOTENAME('table_name', '[');
                      -- Result: '[table_name]'
                    

REGEXP_REPLACE(expr, pattern [, replacement [, position [, occurrence [, match_type]]]])

Replaces occurrences of a regular expression pattern in the input string with a specified value and returns the resulting string.

  • expr: The string expression to be searched.
  • pattern: The regular expression pattern to match.
  • replacement: (optional) The string to replace each matched occurrence of pattern with. Supports backreferences \1 through \9 and escape sequences \n, \r, \t, and \\. By default, this argument is an empty string, meaning matched portions are removed from the output string.
  • position: (optional) The 1-based starting position used when searching for regular expression matches in expr. The default is 1. All characters prior to the starting position are included in the output string unaltered. Skipped characters are ignored when calculating regular expression matches, even if they match pattern.
  • occurrence: (optional) Specifies whether all occurrences of pattern,, or only a specific occurrence of pattern are replaced. The default is 0, which means all occurrences of pattern are replaced with replacement. Set to 1 to only replace the first instance of the pattern; 2 to replace the second; etc.
  • match_type: (optional) Modifiers used to customize matching behavior. Supported values are: 'c' (case-sensitive, default), 'i' (case-insensitive), 'm' (multiline), 'n' (dot matches newline), 'x' (extended mode). These can be freely combined by including the letters back to back. For example, 'im' applies the functionality of both 'i' and 'm'. The regular expression syntax used is that of the Extended mode ('x') ignores whitespace and allows inline comments. If the pattern needs to match a literal space, it must be explicitly escaped.

                      SELECT REGEXP_REPLACE('abc123def456', '\d+', 'NUM');
                      -- Result: 'abcNUMdefNUM'

                      SELECT REGEXP_REPLACE('Hello\nHELLO\nhello', '^hello', 'X', 1, 0, 'im');
                      -- Result: 'X\nX\nX'
                    

REPLACE(string_expression, string_pattern, string_replacement)

Replaces all occurrences of a string with another string.

  • string_expression: The string expression to be searched. This can be a character or binary data type.
  • string_pattern: The substring to be found. Cannot be an empty string.
  • string_replacement: The replacement string.

                      SELECT REPLACE('1234567890', '456', '|');
                      -- Result: '123|7890'

                      SELECT REPLACE('123123123', '123', '.');
                      -- Result: '...'

                      SELECT REPLACE('1234567890', 'a', 'b');
                      -- Result: '1234567890'
                    

REPLICATE ( string_expression ,integer_expression )

Repeats the string value the specified number of times.

  • string_expression: The string to replicate.
  • integer_expression: The repeat count.

                      SELECT REPLACE('x', 5);
                      -- Result: 'xxxxx'
                    

REVERSE ( string_expression )

Returns the reverse order of the string expression.

  • string_expression: The string.

                      SELECT REVERSE('1234567890');
                      -- Result: '0987654321'
                    

RIGHT ( character_expression , integer_expression )

Returns the right part of the string with the specified number of characters.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters of the character expression will be returned.

                      SELECT RIGHT('1234567890', 3);
                      -- Result: '890'
                    

RTRIM(character_expression)

Returns the character expression after it removes trailing blanks.

  • character_expression: The character expression.

                      SELECT RTRIM('trimmed     ');
                      -- Result: 'trimmed'
                    

SOUNDEX(character_expression)

Returns the four-character Soundex code, based on how the string sounds when spoken.

  • character_expression: The alphanumeric expression of character data.

                      SELECT SOUNDEX('smith');
                      -- Result: 'S530'
                    

SPACE(repeatcount)

Returns the string that consists of repeated spaces.

  • repeatcount: The number of spaces.

                      SELECT SPACE(5);
                      -- Result: '     '
                    

SPLIT(string, delimiter, offset)

Returns a section of the string between to delimiters.

  • string: The string to split.
  • delimiter: The character to split the string with.
  • offset: The number of the split to return. Positive numbers are treated as offsets from the left, and negative numbers are treated as offsets from the right.

                      SELECT SPLIT('a/b/c/d', '/', 1);
                      -- Result: 'a'
                      SELECT SPLIT('a/b/c/d', '/', -2);
                      -- Result: 'c'
                    

STARTSWITH(character_expression, character_prefix)

Returns 1 if character_expression starts with character_prefix; otherwise, 0.

  • character_expression: The character expression.
  • character_prefix: The character prefix to search for.

                      SELECT STARTSWITH('0123456', '012');
                      -- Result: 1

                      SELECT STARTSWITH('0123456', '456');
                      -- Result: 0
                    

STR ( float_expression [ , integer_length [ , integer_decimal ] ] )

Returns the character data converted from the numeric data. For example, STR(123.45, 6, 1) returns 123.5.

  • float_expression: The float expression.
  • length: The optional total length to return. This includes decimal point, sign, digits, and spaces. The default is 10.
  • decimal: The optional number of places to the right of the decimal point. The decimal must be less than or equal to 16.

                      SELECT STR('123.456');
                      -- Result: '123'

                      SELECT STR('123.456', 2);
                      -- Result: '**'

                      SELECT STR('123.456', 10, 2);
                      -- Result: '123.46'
                    

STUFF(character_expression , integer_start , integer_length , replaceWith_expression)

Inserts a string into another string. It deletes the specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

  • character_expression: The string expression.
  • start: The integer value that specifies the location to start deletion and insertion. If start or length is negative, null is returned. If start is longer than the string to be modified, character_expression, null is returned.
  • length: The integer that specifies the number of characters to delete. If length is longer than character_expression, deletion occurs up to the last character in replaceWith_expression.
  • replaceWith_expression: The expression of character data that will replace length characters of character_expression beginning at the start value.

                      SELECT STUFF('1234567890', 3, 2, 'xx');
                      -- Result: '12xx567890'
                    

SUBSTRING(string_value FROM start FOR length)

Returns the part of the string with the specified length; starts at the specified index.

  • string_value: The character string.
  • start: The positive integer that specifies the start index of characters to return.
  • length: Optional. The positive integer that specifies how many characters will be returned.

                      SELECT SUBSTRING('1234567890' FROM 3 FOR 2);
                      -- Result: '34'

                      SELECT SUBSTRING('1234567890' FROM 3);
                      -- Result: '34567890'
                    
You can also drop the FROM and FOR clauses:
                    SELECT SUBSTRING('1234567890', 3, 2)
                    --Result: '34'
                    SELECT SUBSTRING('1234567890', 3)
                    --Result: '34567890'
                    

TEXT_ENCODE(input_string, charset)

Returns binary output by encoding a string using the specified character set.

  • input_string: The plain text string.
  • charset: The character set to use, such as 'UTF-8', 'ISO-8859-1'.

                    SELECT TEXT_ENCODE('Café', 'UTF-8');
                    -- Result: (binary output)
                    

TEXT_DECODE(input_binary, charset)

Returns a string decoded from binary data using the specified character set.

  • input_binary: The binary value to decode.
  • charset: The character set used for decoding.

                    SELECT TEXT_DECODE(BinaryData, 'UTF-8');
                    -- Result: 'Café'
                    

TOSTRING(string_value1)

Converts the value of this instance to its equivalent string representation.

  • string_value1: The string to be converted.

                      SELECT TOSTRING(123);
                      -- Result: '123'

                      SELECT TOSTRING(123.456);
                      -- Result: '123.456'

                      SELECT TOSTRING(null);
                      -- Result: ''
                    

TRIM(trimspec trimchar FROM string_value)

Returns the character expression with leading and/or trailing blanks removed.

  • trimspec: Optional. If included must be one of the keywords BOTH, LEADING or TRAILING.
  • trimchar: Optional. If included should be a one-character string value.
  • string_value: The string value to trim.

                      SELECT TRIM('     trimmed     ');
                      -- Result: 'trimmed'

                      SELECT TRIM(LEADING FROM '     trimmed     ');
                      -- Result: 'trimmed     '

                      SELECT TRIM('-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(BOTH '-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(TRAILING '-' FROM '-----trimmed-----');
                      -- Result: '-----trimmed'
                    

UNICODE(ncharacter_expression)

Returns the integer value defined by the Unicode standard of the first character of the input expression.

  • ncharacter_expression: The Unicode character expression.

UPPER ( character_expression )

Returns the character expression with lowercase character data converted to uppercase.

  • character_expression: The character expression.

                      SELECT UPPER('MIXED case');
                      -- Result: 'MIXED CASE'
                    

XML_EXTRACT(xml, xpath [, separator])

Extracts an XML document using the specified XPath to flatten the XML. A comma is used to separate the outputs by default, but this can be changed by specifying the third parameter.

  • xml: The XML document to extract.
  • xpath: The XPath used to select the nodes. The nodes selected will be returned in a token-separated list.
  • separator: The optional token used to separate the items in the flattened response. If this is not specified, the separator will be a comma.

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch');
                      -- Result: 'a,e,i,o,u'

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch', ';');
                      -- Result: 'a;e;i;o;u'
                    

CData Python Connector for GitHub

MATH Functions

ABS ( numeric_expression )

Returns the absolute (positive) value of the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT ABS(15);
                      -- Result: 15

                      SELECT ABS(-15);
                      -- Result: 15
                    

ACOS ( float_expression )

Returns the arc cosine, the angle in radians whose cosine is the specified float expression.

  • float_expression: The float expression that specifies the cosine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ACOS(0.5);
                      -- Result: 1.0471975511966
                    

ASIN ( float_expression )

Returns the arc sine, the angle in radians whose sine is the specified float expression.

  • float_expression: The float expression that specifies the sine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ASIN(0.5);
                      -- Result: 0.523598775598299
                    

ATAN ( float_expression )

Returns the arc tangent, the angle in radians whose tangent is the specified float expression.

  • float_expression: The float expression that specifies the tangent of the angle to be returned.

                      SELECT ATAN(10);
                      -- Result: 1.47112767430373
                    

ATN2 ( float_expression1 , float_expression2 )

Returns the angle in radians between the positive x-axis and the ray from the origin to the point (y, x) where x and y are the values of the two specified float expressions.

  • float_expression1: The float expression that is the y-coordinate.
  • float_expression2: The float expression that is the x-coordinate.

                      SELECT ATN2(1, 1);
                      -- Result: 0.785398163397448
                    

CEILING ( numeric_expression ) or CEIL( numeric_expression )

Returns the smallest integer greater than or equal to the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT CEILING(1.3);
                      -- Result: 2

                      SELECT CEILING(1.5);
                      -- Result: 2

                      SELECT CEILING(1.7);
                      -- Result: 2
                    

COS ( float_expression )

Returns the trigonometric cosine of the specified angle in radians in the specified expression.

  • float_expression: The float expression of the specified angle in radians.

                      SELECT COS(1);
                      -- Result: 0.54030230586814
                    

COT ( float_expression )

Returns the trigonometric cotangent of the angle in radians specified by float_expression.

  • float_expression: The float expression of the angle in radians.

                      SELECT COT(1);
                      -- Result: 0.642092615934331
                    

DEGREES ( numeric_expression )

Returns the angle in degrees for the angle specified in radians.

  • numeric_expression: The angle in radians, an expression of an indeterminate numeric data type except for the bit data type.

                      SELECT DEGREES(3.1415926);
                      -- Result: 179.999996929531
                    

EXP ( float_expression )

Returns the exponential value of the specified float expression. For example, EXP(LOG(20)) is 20.

  • float_expression: The float expression.

                      SELECT EXP(2);
                      -- Result: 7.38905609893065
                    

EXPR ( expression )

Evaluates the expression.

  • expression: The expression. Operators allowed are +, -, *, /, ==, !=, >, <, >=, and <=.

                      SELECT EXPR('1 + 2 * 3');
                      -- Result: 7

                      SELECT EXPR('1 + 2 * 3 == 7');
                      -- Result: true
                    

FLOOR ( numeric_expression )

Returns the largest integer less than or equal to the numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT FLOOR(1.3);
                      -- Result: 1

                      SELECT FLOOR(1.5);
                      -- Result: 1

                      SELECT FLOOR(1.7);
                      -- Result: 1
                    

GREATEST(int1,int2,....)

Returns the greatest of the supplied integers.

				SELECT GREATEST(3,5,8,10,1)
				-- Result: 10			
				

HEX(value)

Returns a the equivalent hex for the input value.

  • value: A string or numerical value to be converted into hex.

				SELECT HEX(866849198);
				-- Result: 33AB11AE
				
				SELECT HEX('Sample Text');
				-- Result: 53616D706C652054657874
				

JSON_AVG(json, jsonpath)

Computes the average value of a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_AVG('[1,2,3,4,5]', '$[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4.5
                    

JSON_COUNT(json, jsonpath)

Returns the number of elements in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_COUNT('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 2
                    

JSON_MAX(json, jsonpath)

Gets the maximum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MAX('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[..3]');
                      -- Result: 4
                    

JSON_MIN(json, jsonpath)

Gets the minimum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MIN('[1,2,3,4,5]', '$[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4
                    

JSON_SUM(json, jsonpath)

Computes the summary value in JSON according to the JSONPath expression. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_SUM('[1,2,3,4,5]', '$[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 9
                    

LEAST(int1,int2,....)

Returns the least of the supplied integers.

				SELECT LEAST(3,5,8,10,1)
				-- Result: 1			
				

LOG ( float_expression [, base ] )

Returns the natural logarithm of the specified float expression.

  • float_expression: The float expression.
  • base: The optional integer argument that sets the base for the logarithm.

                      SELECT LOG(7.3890560);
                      -- Result: 1.99999998661119
                    

LOG10 ( float_expression )

Returns the base-10 logarithm of the specified float expression.

  • float_expression: The expression of type float.

                      SELECT LOG10(10000);
                      -- Result: 4
                    

MOD(dividend,divisor)

Returns the integer value associated with the remainder when dividing the dividend by the divisor.

  • dividend: The number to take the modulus of.
  • divisor: The number to divide the dividend by when determining the modulus.

				SELECT MOD(10,3);
				-- Result: 1
				

NEGATE(real_number)

Returns the opposite to the real number input.

  • real_number: The real number to find the opposite of.

				SELECT NEGATE(10);
				-- Result: -10
				
				SELECT NEGATE(-12.4)
				--Result: 12.4
				

PI ( )

Returns the constant value of pi.

                  SELECT PI()
                  -- Result: 3.14159265358979 
                

POWER ( float_expression , y )

Returns the value of the specified expression raised to the specified power.

  • float_expression: The float expression.
  • y: The power to raise float_expression to.

                      SELECT POWER(2, 10);
                      -- Result: 1024

                      SELECT POWER(2, -2);
                      -- Result: 0.25
                    

RADIANS ( float_expression )

Returns the angle in radians of the angle in degrees.

  • float_expression: The degrees of the angle as a float expression.

                      SELECT RADIANS(180);
                      -- Result: 3.14159265358979
                    

RAND ( [ integer_seed ] )

Returns a pseudorandom float value from 0 through 1, exclusive.

  • seed: The optional integer expression that specifies the seed value. If seed is not specified, a seed value at random will be assigned.

                      SELECT RAND();
                      -- This result may be different, since the seed is randomized
                      -- Result: 0.873159630165044

                      SELECT RAND(1);
                      -- This result will always be the same, since the seed is constant
                      -- Result: 0.248668584157093
                    

ROUND ( numeric_expression [ ,integer_length] [ ,function ] )

Returns the numeric value rounded to the specified length or precision.

  • numeric_expression: The expression of a numeric data type.
  • length: The optional precision to round the numeric expression to. When this is omitted, the default behavior will be to round to the nearest whole number.
  • function: The optional type of operation to perform. When the function parameter is omitted or has a value of 0 (default), numeric_expression is rounded. When a value other than 0 is specified, numeric_expression is truncated.

                      SELECT ROUND(1.3, 0);
                      -- Result: 1

                      SELECT ROUND(1.55, 1);
                      -- Result: 1.6

                      SELECT ROUND(1.7, 0, 0);
                      -- Result: 2

                      SELECT ROUND(1.7, 0, 1);
                      -- Result: 1
                      
                      SELECT ROUND (1.24);
                      -- Result: 1.0
                    

SIGN ( numeric_expression )

Returns the positive sign (1), 0, or negative sign (-1) of the specified expression.

  • numeric_expression: The expression of an indeterminate data type except for the bit data type.

                      SELECT SIGN(0);
                      -- Result: 0

                      SELECT SIGN(10);
                      -- Result: 1

                      SELECT SIGN(-10);
                      -- Result: -1
                    

SIN ( float_expression )

Returns the trigonometric sine of the angle in radians.

  • float_expression: The float expression specifying the angle in radians.

                     SELECT SIN(1);
                     -- Result: 0.841470984807897
                    

SQRT ( float_expression )

Returns the square root of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQRT(100);
                      -- Result: 10
                    

SQUARE ( float_expression )

Returns the square of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQUARE(10);
                      -- Result: 100

                      SELECT SQUARE(-10);
                      -- Result: 100
                    

TAN ( float_expression )

Returns the tangent of the input expression.

  • float_expression: The expression of type float.

                      SELECT TAN(1);
                      -- Result: 1.5574077246549
                    

TRUNC(decimal_number,precision)

Returns the supplied decimal number truncated to have the supplied decimal precision.

  • decimal_number: The decimal value to truncate.
  • precision: The number of decimal places to truncate the decimal number to.

				SELECT TRUNC(10.3423,2);
				-- Result: 10.34
				

_ROW_NUMBER_()

Returns a row index as an additional column.

				SELECT ColumnName, _ROW_NUMBER_() FROM TableName
				-- Result: ColumnData, 0
				ColumnData2, 1
				ColumnData3, 2
				

CData Python Connector for GitHub

DATE Functions

CURRENT_DATE()

Returns the current date value.

                  SELECT CURRENT_DATE();
                  -- Result: 2018-02-01
                

CURRENT_TIMESTAMP()

Returns the current time stamp of the database system as a datetime value. This value is equal to GETDATE and SYSDATETIME, and is always in the local timezone.

                  SELECT CURRENT_TIMESTAMP();
                  -- Result: 2018-02-01 03:04:05
                

DATEADD (datepart , integer_number , date [, dateformat])

Returns the datetime value that results from adding the specified number (a signed integer) to the specified date part of the date.

  • datepart: The part of the date to add the specified number to. The valid values and abbreviations are
    • year (yy, yyyy)
    • quarter (qq, q)
    • month (mm, m)
    • week (wk, ww)
    • weekday (dw)
    • dayofyear (dy, y)
    • day (dd, d)
    • hour (hh)
    • minute (mi, n)
    • second (ss, s)
    • millisecond (ms)
  • number: The number to be added.
  • date: The expression of the datetime data type.
  • dateformat: The optional output date format.

                  SELECT DATEADD('d', 5, '2018-02-01');
                  -- Result: 2018-02-06

                  SELECT DATEADD('hh', 5, '2018-02-01 00:00:00');
                  -- Result: 2018-02-01 05:00:00
                

DATEDIFF ( datepart , startdate , enddate )

Returns the difference (a signed integer) of the specified time interval between the specified start date and end date.

  • datepart: The part of the date that is the time interval of the difference between the start date and end date. The valid values and abbreviations are:
    • Year (year, yyyy, yy)
    • Quarter (quarter, qq, q)
    • Month (month, mm, m)
    • Week (week, wk, ww)
    • Weekday (weekday, dw)
    • Dayofyear (dayofyear, dy, y)
    • Day (day, dd, d)
    • Hour (hour, hh)
    • Minute (minute, mi, n)
    • Second (second, ss, s)
    • Millisecond (millisecond, ms)
  • startdate: The datetime expression of the start date.
  • enddate: The datetime expression of the end date.

                  SELECT DATEDIFF('d', '2018-02-01', '2018-02-10');
                  -- Result: 9

                  SELECT DATEDIFF('hh', '2018-02-01 00:00:00', '2018-02-01 12:00:00');
                  -- Result: 12
                

DATE_FORMAT(date,format)

Returns the date or timestamp in the format specified. This function mirrors the MySQL DATE_FORMAT function.

  • date: A date or timestamp string.
  • format: The specifier string of the desired output format. The list of supported format specifiers comes from the MySQL DATE_FORMAT function (see link to MySQL documentation above).

					SELECT DATE_FORMAT('9/4/2021 3:11:53 AM','%h')
					-- Result: 03
				  

DATEFROMPARTS(integer_year, integer_month, integer_day)

Returns the datetime value for the specified year, month, and day.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.

                    SELECT DATEFROMPARTS(2018, 2, 1);
                    -- Result: 2018-02-01
                  

DATENAME(datepart , date)

Returns the character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), and nanosecond (ns).
  • date: The datetime expression.

                     SELECT DATENAME('yy', '2018-02-01');
                     -- Result: '2018'

                     SELECT DATENAME('dw', '2018-02-01');
                     -- Result: 'Thursday'
                   

DATEPART(datepart, date [,integer_datefirst])

Returns a character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), nanosecond (ns), ISODOW, ISO_WEEK (isoweek, isowk,isoww), and ISOYEAR.
  • date: The datetime string.
  • datefirst: The optional integer representing the first day of the week. The default is 7, Sunday.

                    SELECT DATEPART('yy', '2018-02-01');
                    -- Result: 2018

                    SELECT DATEPART('dw', '2018-02-01');
                    -- Result: 5
                  

DATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_milliseconds)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • milliseconds: The integer expression specifying the milliseconds.

                    SELECT DATETIMEFROMPARTS(2018, 2, 1, 1, 2, 3, 456);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATETIME2FROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision: The integer expression specifying the precision of the fraction.

				    SELECT DATETIME2FROMPARTS(2018, 2, 1, 1, 2, 3, 456, 3);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATE_TRUNC(date, datepart)

Truncates the date to the precision of the given date part. Modeled after the Oracle TRUNC function.

  • date: The datetime string that specifies the date.
  • datepart: Refer to the Oracle documentation for valid datepart syntax.

				    SELECT DATE_TRUNC('05-04-2005', 'YY');
                    -- Result: '1/1/2005'
					
                    SELECT DATE_TRUNC('05-04-2005', 'MM');
                    -- Result: '5/1/2005'                    
                  

DATE_TRUNC2(datepart, date, [weekday])

Truncates the date to the precision of the given date part. Modeled after the PostgreSQL date_trunc function.

  • datepart: One of 'millennium', 'century', 'decade', 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute' or 'second'.
  • date: The datetime string that specifies the date.
  • weekday: The optional day of the week to use as the first day for 'week'. One of 'sunday', 'monday', etc.

                    SELECT DATE_TRUNC2('year', '2020-02-04');
                    -- Result: '2020-01-01'

                    SELECT DATE_TRUNC2('week', '2020-02-04', 'monday');
                    -- Result: '2020-02-02', which is the previous Monday
                  

DAY(date)

Returns the integer that specifies the day component of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAY('2018-02-01');
                    -- Result: 1
                  

DAYNAME(date)

Returns the name of the day of the week of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAYNAME('8/18/2021');
                    -- Result: Wednesday
                  

DAYOFMONTH(date)

Returns the day of the month of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFMONTH('04/15/2000');
				  -- Result: 15
				  

DAYOFWEEK(date)

Returns the day of the week of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFWEEK('04/15/2000');
				  -- Result: 7
				  

DAYOFYEAR(date)

Returns the day of the year of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFYEAR('04/15/2000');
				  -- Result: 106
				  

EOMONTH(date [, integer_month_to_add ]) or LAST_DAY(date)

Returns the last day of the month that contains the specified date with an optional offset.

  • date: The datetime expression specifying the date for which to return the last day of the month.
  • integer_month_to_add: The optional integer expression specifying the number of months to add to the date before calculating the end of the month.

                  SELECT EOMONTH('2018-02-01');
                  -- Result: 2018-02-28
                  
                  SELECT LAST_DAY('2018-02-01');
                  -- Result: 2018-02-28

                  SELECT EOMONTH('2018-02-01', 2);
                  -- Result: 2018-04-30
                

EXTRACT(date_part FROM date_column_name)

Returns the last day of the month that contains the specified date with an optional offset.

  • date_part: One of the following date components: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.
  • date_column_name: The name of a date column in a table.

                  SELECT EXTRACT(YEAR FROM DateColumn)
                  -- Result: 2021
                

FDWEEK(date)

Returns the first day of the week of the given date part.
  • date: The datetime string that specifies the date.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the week.

				  SELECT FDWEEK('02-08-2018');
				  -- Result: 2/4/2018

          SELECT FDWEEK('02-08-2018', 1)
          --Result: 02/11/2018
				  

FDMONTH(date)

Returns the first day of the month of the given date part.
  • date: The datetime string that specifies the date.
  • month to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the month.

				  SELECT FDMONTH('02-08-2018');
				  -- Result: 2/1/2018

          SELECT FDMONTH('02-08-2018', 1) 
          --Result: 03/01/2018
				  

FDQUARTER(date)

Returns the first day of the quarter of the given date part.
  • date: The datetime string that specifies the date.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the quarter.

				  SELECT FDQUARTER('05-08-2018');
				  -- Result: 4/1/2018

          SELECT FDQUARTER('05-08-2018',1)
          --Result: 07/01/2018
				  

FILEMODIFIEDTIME(uri)

Returns the time stamp associated with the Date Modified of the relevant file.

  • uri: An absolute path pointing to a file on the local file system.

				 SELECT FILEMODIFIEDTIME('C:/Documents/myfile.txt');
				 -- Result: 6/25/2019 10:06:58 AM
				 

FROM_DAYS(datevalue)

Returns a date derived from the number of days after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL FROM_DAYS function.

  • datevalue: A integer value representing the number of days since 1582-10-15.

				SELECT FROM_DAYS(736000);
				-- Result: 2/6/2015
				

FROM_UNIXTIME(time, issecond)

Returns a representation of the unix_timestamp argument as a value in YYYY-MM-DD HH:MM:SS expressed in the current time zone.

  • time: The time stamp value from epoch time. Milliseconds are accepted.
  • issecond: Indicates the time stamp value is milliseconds to epoch time.

                      SELECT FROM_UNIXTIME(1540495231, 1);
                      -- Result: 2018-10-25 19:20:31

                      SELECT FROM_UNIXTIME(1540495357385, 0);
                      -- Result: 2018-10-25 19:22:37
                    

GETDATE()

Returns the current time stamp of the database system as a datetime value. This value is equal to CURRENT_TIMESTAMP and SYSDATETIME, and is always in the local timezone.

                  SELECT GETDATE();
                  -- Result: 2018-02-01 03:04:05
                

GETUTCDATE()

Returns the current time stamp of the database system formatted as a UTC datetime value. This value is equal to SYSUTCDATETIME.

In addition, GETUTCDATE can take an optional second parameter, a date and time that are converted to UTC.

                  SELECT GETUTCDATE();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05

                  SELECT GETUTCDATE('2020/08/31 13:56:00')
                  --Result: '2020-08-31 17:56:00'
                

HOUR(date)

Returns the hour component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT HOUR('02-02-2020 11:30:00');
				-- Result: 11
				

ISDATE(date, [date_format])

Returns 1 if the value is a valid date, time, or datetime value; otherwise, 0.

  • date: The datetime string.
  • date_format: The optional datetime format.

                      SELECT ISDATE('2018-02-01', 'yyyy-MM-dd');
                      -- Result: 1

                      SELECT ISDATE('Not a date');
                      -- Result: 0
                    

LAST_WEEK()

Returns a time stamp equivalent to exactly one week before the current date.

				SELECT LAST_WEEK();	//Assume the date is 3/17/2020	
			 -- Result: 3/10/2020 00:00:00
				

LAST_MONTH()

Returns a time stamp equivalent to exactly one month before the current date.

	
				SELECT LAST_MONTH(); //Assume the date is 3/17/2020
				-- Result: 2/17/2020 00:00:00
				

LAST_YEAR()

Returns a time stamp equivalent to exactly one year before the current date.

				SELECT LAST_YEAR();	//Assume the date is 3/17/2020	
				-- Result: 3/10/2019 00:00:00
				

LDWEEK(date)

Returns the last day of the provided week.

  • date: The datetime string.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the week.

				SELECT LDWEEK('02-02-2020');
				-- Result: 2/8/2020
				

LDMONTH(date)

Returns the last day of the provided month.

  • date: The datetime string.
  • months to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the month.

				SELECT LDMONTH('02-02-2020');
				-- Result: 2/29/2020

        SELECT LDMONTH('02-08-2020', 1)
        --Result: 03/31/2020
				

LDQUARTER(date)

Returns the last day of the provided quarter.

  • date: The datetime string.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the quarter.

				SELECT LDQUARTER('02-02-2020');
				-- Result: 3/31/2020

        SELECT LDQUARTER('02-02-2020',1)
        --Result: 06/30/2020
				

MAKEDATE(year, days)

Returns a date value from a year and a number of days.

  • year: The year
  • days: The number of days into the year. Value must be greater than 0.

          SELECT MAKEDATE(2020, 1);
          -- Result: 2020-01-01
        

MINUTE(date)

Returns the minute component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MINUTE('02-02-2020 11:15:00');
				-- Result: 15
				

MONTH(date)

Returns the month component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MONTH('02-02-2020');
				-- Result: 2
				

QUARTER(date)

Returns the quarter associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT QUARTER('02-02-2020');
				-- Result: 1
				

SECOND(date)

Returns the second component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT SECOND('02-02-2020 11:15:23');
				-- Result: 23
				

SMALLDATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute)

Returns the datetime value for the specified date and time.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.

                      SELECT SMALLDATETIMEFROMPARTS(2018, 2, 1, 1, 2);
                      -- Result: 2018-02-01 01:02:00
                    

STRTODATE(string,format)

Parses the provided string value and returns the corresponding datetime.

  • string: The string value to be converted to datetime format.
  • format: A format string which describes how to interpret the first string input. A few special formats are available as well, including UNIX, UNIXMILIS, TICKS, and FILETICKS.

				SELECT STRTODATE('03*04*2020','dd*MM*yyyy');
				-- Result: 4/3/2020
				

SYSDATETIME()

Returns the current time stamp as a datetime value of the database system. It is equal to GETDATE and CURRENT_TIMESTAMP, and is always in the local timezone.

                  SELECT SYSDATETIME();
                  -- Result: 2018-02-01 03:04:05
                

SYSUTCDATETIME()

Returns the current system date and time as a UTC datetime value. It is equal to GETUTCDATE.

                  SELECT SYSUTCDATETIME();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05
                

TIMEFROMPARTS(integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the time value for the specified time and with the specified precision.

  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision : The integer expression specifying the precision of the fraction.

                      SELECT TIMEFROMPARTS(1, 2, 3, 456, 3);
                      -- Result: 01:02:03.456
                    

TO_DAYS(date)

Returns the number of days since 0000-00-01. This will only return a value for dates on or after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL TO_DAYS function.

  • date: The datetime string that specifies the date.

				SELECT TO_DAYS('02-06-2015');
				-- Result: 736000
				

WEEK(date)

Returns the week (of the year) associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT WEEK('02-17-2020 11:15:23');
				-- Result: 8
				

YEAR(date)

Returns the integer that specifies the year of the specified date.

  • date: The datetime string.

                      SELECT YEAR('2018-02-01');
                      -- Result: 2018
                    

CData Python Connector for GitHub

Date Literal Functions

The following date literal functions can be used to filter date fields using relative intervals. Note that while the <, >, and = operators are supported for these functions, <= and >= are not.

L_TODAY()

The current day.

  SELECT * FROM MyTable WHERE MyDateField = L_TODAY()

L_YESTERDAY()

The previous day.

  SELECT * FROM MyTable WHERE MyDateField = L_YESTERDAY()

L_TOMORROW()

The following day.

  SELECT * FROM MyTable WHERE MyDateField = L_TOMORROW()

L_LAST_WEEK()

Every day in the preceding week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_WEEK()

L_THIS_WEEK()

Every day in the current week.

  SELECT * FROM MyTable WHERE MyDateField = L_THIS_WEEK()

L_NEXT_WEEK()

Every day in the following week.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_WEEK()
Also available:
  • L_LAST/L_THIS/L_NEXT MONTH
  • L_LAST/L_THIS/L_NEXT QUARTER
  • L_LAST/L_THIS/L_NEXT YEAR

L_LAST_N_DAYS(n)

The previous n days, excluding the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_DAYS(3)

L_NEXT_N_DAYS(n)

The following n days, including the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_DAYS(3)
Also available:
  • L_LAST/L_NEXT_90_DAYS

L_LAST_N_WEEKS(n)

Every day in every week, starting n weeks before current week, and ending in the previous week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_WEEKS(3)

L_NEXT_N_WEEKS(n)

Every day in every week, starting the following week, and ending n weeks in the future.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_WEEKS(3)
Also available:
  • L_LAST/L_NEXT_N_MONTHS(n)
  • L_LAST/L_NEXT_N_QUARTERS(n)
  • L_LAST/L_NEXT_N_YEARS(n)

CData Python Connector for GitHub

SELECT Statements

A SELECT statement can consist of the following basic clauses.

  • SELECT
  • INTO
  • FROM
  • JOIN
  • WHERE
  • GROUP BY
  • HAVING
  • UNION
  • ORDER BY
  • LIMIT

SELECT Syntax

The following syntax diagram outlines the syntax supported by the SQL engine of the connector:

SELECT {
  [ TOP <numeric_literal> | DISTINCT ]
  { 
    * 
    | { 
        <expression> [ [ AS ] <column_reference> ] 
        | { <table_name> | <correlation_name> } .* 
      } [ , ... ] 
  }
  { 
    FROM <table_reference> [ [ AS ] <identifier> ] 
  } [ , ... ]
  [ [  
      INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } 
    ] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ] 
  ] [ ... ] 
  [ WHERE <search_condition> ]
  [ GROUP BY <column_reference> [ , ... ]
  [ HAVING <search_condition> ]
  [ UNION [ ALL ] <select_statement> ]
  [ 
    ORDER BY 
    <column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
  ]
  [ 
    LIMIT <expression>
    [ 
      { OFFSET | , }
      <expression> 
    ]
  ] 
} | SCOPE_IDENTITY() 

<expression> ::=
  | <column_reference>
  | @ <parameter> 
  | ?
  | COUNT( * | { [ DISTINCT ] <expression> } )
  | { AVG | MAX | MIN | SUM | COUNT } ( <expression> ) 
  | NULLIF ( <expression> , <expression> ) 
  | COALESCE ( <expression> , ... ) 
  | CASE <expression>
      WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
    [ ELSE { <expression> | NULL } ]
    END 
  | {RANK() | DENSE_RANK()} OVER ([PARTITION BY <column_reference>] {ORDER BY <column_reference>})
  | <literal>
  | <sql_function> 

<search_condition> ::= 
  {
    <expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | AND | OR | CONTAINS | BETWEEN | IS DISTINCT FROM | IS NOT DISTINCT FROM } [ <expression> ]
  } [ { AND | OR } ... ] 

Examples

  1. Return all columns:
    SELECT * FROM Repositories
  2. Rename a column:
    SELECT [OwnerLogin] AS MY_OwnerLogin FROM Repositories
  3. Cast a column's data as a different data type:
    SELECT CAST(Size AS VARCHAR) AS Str_Size FROM Repositories
  4. Search data:
    SELECT * FROM Repositories WHERE OwnerLogin = 'mojombo'
  5. Return the number of items matching the query criteria:
    SELECT COUNT(*) AS MyCount FROM Repositories 
  6. Return the number of unique items matching the query criteria:
    SELECT COUNT(DISTINCT OwnerLogin) FROM Repositories 
  7. Return the unique items matching the query criteria:
    SELECT DISTINCT OwnerLogin FROM Repositories 
  8. Sort a result set in ascending order:
    SELECT Name, OwnerLogin FROM Repositories  ORDER BY OwnerLogin ASC
  9. Restrict a result set to the specified number of rows:
    SELECT Name, OwnerLogin FROM Repositories LIMIT 10 
  10. Parameterize a query to pass in inputs at execution time. This enables you to create prepared statements and mitigate SQL injection attacks.
    SELECT * FROM Repositories WHERE OwnerLogin = @param
See Explicitly Caching Data for information on using the SELECT statement in offline mode.

Pseudo Columns

Some input-only fields are available in SELECT statements. These fields, called pseudo columns, do not appear as regular columns in the results, yet may be specified as part of the WHERE clause. You can use pseudo columns to access additional features from GitHub.

    SELECT * FROM Repositories WHERE Pseudo = '@Pseudo'
    

Aggregate Functions

For SELECT examples using aggregate functions, see Aggregate Functions.

JOIN Queries

See JOIN Queries for SELECT query examples using JOINs.

Date Literal Functions

Date Literal Functions contains SELECT examples with date literal functions.

Window Functions

See Window Functions for SELECT examples containing window functions.

Table-Valued Functions

See Table-Valued Functions for SELECT examples with table-valued functions.

CData Python Connector for GitHub

Aggregate Functions

COUNT

Returns the number of rows matching the query criteria.

SELECT COUNT(*) FROM Repositories WHERE OwnerLogin = 'mojombo'

COUNT(DISTINCT)

Returns the number of distinct, non-null field values matching the query criteria.

SELECT COUNT(DISTINCT Name) AS DistinctValues FROM Repositories WHERE OwnerLogin = 'mojombo'

AVG

Returns the average of the column values.

SELECT OwnerLogin, AVG(Size) FROM Repositories WHERE OwnerLogin = 'mojombo'  GROUP BY OwnerLogin

MIN

Returns the minimum column value.

SELECT MIN(Size), OwnerLogin FROM Repositories WHERE OwnerLogin = 'mojombo' GROUP BY OwnerLogin

MAX

Returns the maximum column value.

SELECT OwnerLogin, MAX(Size) FROM Repositories WHERE OwnerLogin = 'mojombo' GROUP BY OwnerLogin

SUM

Returns the total sum of the column values.

SELECT SUM(Size) FROM Repositories WHERE OwnerLogin = 'mojombo'

CData Python Connector for GitHub

JOIN Queries

The CData Python Connector for GitHub supports standard SQL joins like the following examples.

Inner Join

An inner join selects only rows from both tables that match the join condition:

SELECT Commits.AuthorName, CommitComments.Body FROM Commits, CommitComments WHERE Commits.Sha=CommitComments.CommitSha

Left Join

A left join selects all rows in the FROM table and only matching rows in the JOIN table:

SELECT Commits.AuthorName, CommitComments.Body FROM Commits LEFT OUTER JOIN CommitComments ON Commits.Sha=CommitComments.CommitSha

CData Python Connector for GitHub

Window Functions

Window functions allow you to create computed fields from a group of rows (a window) that return a result for each row, as opposed to one computed result for a set of rows, as is the case with aggregate functions. The connector supports the following window function syntax.

Note: Window function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with window functions may not be optimal.

Window Function Clauses

OVER

The OVER clause defines the window over which window functions are performed.

SELECT A, B, <window function> OVER (<window frame>) FROM TableName

The <window function> refers to any supported window function clause, and the <window frame> refers to one or more clauses that specify the logic by which the window is defined.

PARTITION BY

The PARTITION BY clause subdivides a window into sub-windows called partitions. For each unique value in the column specified in the PARTITION BY clause, every record with that value collectively forms an individual partition.

SELECT A, B, <window function> OVER (PARTITION BY A ORDER BY B) From Repositories

The <window function> refers to any supported window function clause.

Window Functions

The connector supports math, ranking, and analytic window functions.

Math

These window functions perform mathematical operations on the records within the window.

COUNT()

Calculates the number of records in each partition. The calculated column is of the data type "int".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT() OVER (PARTITION BY Role) FROM Employees

COUNT_BIG()

Calculates the number of records in each partition. The calculated column is of the data type "bigint".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT_BIG() OVER (PARTITION BY Role) FROM Employees

MIN(numeric_column)

Calculates the minimum value of a numerical column per partition.

In each partition, every record will display the minimum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MIN(Earnings) OVER (PARTITION BY Role) FROM Employees

MAX(numeric_column)

Calculates the maximum value of a numerical column per partition.

In each partition, every record will display the maximum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MAX(Earnings) OVER (PARTITION BY Role) FROM Employees

SUM(numeric_column)

Calculates the sum of a numerical column per partition.

In each partition, every record will display the sum of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, SUM(Earnings) OVER (PARTITION BY Role) FROM Employees

AVG(numeric_column)

Calculates the average value of a numerical column per partition.

In each partition, every record will display the average value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, AVG(Earnings) OVER (PARTITION BY Role) FROM Employees

MEDIAN(numeric_column)

Calculates the median value of a numerical column per partition.

In each partition, every record will display the median value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MEDIAN(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEV(numeric_column)

Calculates the standard deviation of a numerical column per partition.

In each partition, every record will display the standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEV(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEVP(numeric_column)

Calculates the population standard deviation of a numerical column per partition.

In each partition, every record will display the population standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEVP(Earnings) OVER (PARTITION BY Role) FROM Employees

VAR(numeric_column)

Calculates the statistical standard variance of a numerical column per partition.

In each partition, every record will display the statistical standard variance of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VAR(Earnings) OVER (PARTITION BY Role) FROM Employees

VARP(numeric_column)

Calculates the variance population of a numerical column per partition.

In each partition, every record will display the variance population of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VARP(Earnings) OVER (PARTITION BY Role) FROM Employees

Ranking

These window functions rank records that fall within the window and its partitions.

RANK()

Assigns a rank number to each record in a window based on the value of the column specified in the required ORDER BY clause.

If two or more records have an equal value in the in ranked column, they all receive the same rank number and the rank count increments internally, skipping ahead one rank number for each record with a duplicate value in the ORDER BY column.

SELECT Name, OwnerLogin, RANK() OVER (ORDER BY OwnerLogin) AS Rank FROM Repositories

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Name, OwnerLogin, RANK() OVER (PARTITION BY Name ORDER BY OwnerLogin) AS Rank FROM Repositories

DENSE_RANK()

Operates like the RANK() function, but it doesn't increment the internal rank counter for each record with a duplicate value in the ranked column.

This means that, while records with identical values in the ORDER BY column still share a rank number, the function never skips a rank number.

SELECT Name, OwnerLogin, DENSE_RANK() OVER (PARTITION BY Name ORDER BY OwnerLogin) AS Rank FROM Repositories

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Name, OwnerLogin, DENSE_RANK() OVER (PARTITION BY Name ORDER BY OwnerLogin) AS Rank FROM Repositories

ROW_NUMBER()

Calculates a row number for each record. An ORDER BY clause in the OVER clause is required.

SELECT Name, Role, Earnings, ROW_NUMBER() OVER (ORDER BY Role) FROM Employees
If you define multiple partitions with PARTITION BY, a new set of row numbers are calculated for each partition.
SELECT Name, Role, Earnings, ROW_NUMBER() OVER (PARTITION BY Role ORDER BY Earnings) FROM Employees

NTILE()

Distributes rows of an ordered partition into a specified number of approximately equal groups, or buckets. It assigns each group a bucket number starting from one. For each row in a group, the NTILE() function assigns a bucket number representing the group to which the row belongs.

The syntax of NTILE() is:

NTILE(buckets) OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)
The following are paramaters that NTILE() supports:

  • buckets: The number of buckets into which the rows are divided. The buckets can be an expression or subquery that evaluates to a positive integer. It cannot be a window function.
  • PARTITION BY: distributes rows of a result set into partitions to which the NTILE() function is applied.
  • ORDER BY is clause that specifies the logical order of rows in each partition to which the NTILE() is applied.

If the number of rows is not divisible by the buckets, the NTILE() function returns groups of two sizes with the difference by one. The larger groups always precede the smaller group in the order set by ORDER BY in the OVER() clause.

If the total of rows is divisible by the number of buckets, the function divides the rows evenly among buckets. The following statement creates a new table named ntile_demo that stores 10 integers:

CREATE TABLE sales.ntile_demo (
	v INT NOT NULL
);
	
INSERT INTO sales.ntile_demo(v) 
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);	
	
SELECT * FROM sales.ntile_demo;
This statement uses the NTILE() function to divide ten rows into three groups:
SELECT 
	v, 
	NTILE (3) OVER (
		ORDER BY v
	) buckets
FROM 
	sales.ntile_demo;

Analytical

These window functions perform analytical operations on the records within the window.

PERCENT_RANK()

Calculates the relative rank SQL Percentile of each row. It returns values greater than zero, but the maximum value is one. It does not count any NULL values. This function is nondeterministic.

The syntax of PERCENT_RANK() is:

PERCENT_RANK() OVER (
      [PARTITION BY partition_expression, ... ]
      ORDER BY sort_expression [ASC | DESC], ...
  )
  
This syntax uses the following parameters.

  • PARTITION BY: By default, SQL Server treats the whole data set as a single set. You can specify the PARTITION BY clause to divide data into multiple sets. The Percent_Rank function performs the analytical calculations on each set. This parameter is optional.
  • ORDER BY: Sorts the data in either ascending or descending order. This parameter is required.

CData Python Connector for GitHub

Table-Valued Functions

Table-valued functions are functions that return a table (rowset).

Note: Table-valued function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with these functions may not be optimal.

Table-Valued Function Clauses

CROSS APPLY

The CROSS APPLY operator is used to perform a subquery on each row of a table or resultset produced by a preceding table expression.

<table_expression_1> CROSS APPLY <table_expression_2>

The second table expression can reference results from the first table expression to create derived columns or an altered recordset via a table-valued function.

Each resulting record is an instance of the record it's splitting, with all the same column values, except for the column(s) containing the value split by the function.

WITH

The WITH clause is used alongside certain table-valued functions to match against constructs within the structure being split (keys, element names, attribute names, etc.) and/or to specify metadata for the columns generated from the function.
SELECT A.ColumnName, X.DerivedColumnName FROM TableName A CROSS APPLY <table-valued function> WITH (DerivedColumnName varchar(255)) AS X

Table-Valued Functions

STRING_SPLIT(input_text,delimiter)

Takes each record in the recordset of the preceding table expression, splits the column containing delimiters (input_text) into substrings separated by the delimiter, and returns one record per substring.

  • input_text: A column whose value you want to parse.
  • delimiter: The character used to split the value of the column specified in input_text.

Suppose there is a column called "SplitColumn" with the following content:

One-Two-Three
To unpack this value across multiple records:
SELECT A.ID, X.Value FROM [TableWithDelimitedStringField] A CROSS APPLY STRING_SPLIT(A.SplitColumn,'-') WITH (Value VARCHAR(255)) AS X

-- Results:
-----------
|ID|Value|
|1|One|
|1|Two|
|1|Three|

JSONTABLE(json_content,[jsonpath])

For each record in the recordset of the preceding table expression, returns one record for each instance of a key in a JSON array (json_content) that matches the key(s) specified in the WITH clause, at the scope specified by the "jsonpath" input.

  • json_content: A JSON "table" (array of objects). The contents can nest, but this must be a single JSON array, not any other JSON structure, at the root level.
    • The values of every instance of the key(s) provided in the WITH clause are retrievable only for substructures which are immediate children of the root-level JSON array.
  • jsonpath: An optional JSONPath query defining the scope, within the json_content array, that you want to pull content from. The JSON key(s) identified in the WITH clause must exist at the scope defined in this parameter. This defaults to the JSON root ($).

Consider a sample table with a single record, including an ID column and column with JSON content called "JSONColumn" with the following content:

[
	{
		"name": "Samuel",
		"email": "sam@gmail.com",
		"extrainfo": {
			"city": "Seattle"
		}
	},
	{
		"name": "Katherine",
		"email": "kat@gmail.com",
	},
	{
		"name": "George",
		"email": "george23@gmail.com",
	},
	{
		"name": "Carlos",
		"email": "carlos32@gmail.com",
	}
]

To extract all values for a certain key, specify the scope in the JSONTABLE function and provide the desired key(s) in the WITH clause.

SELECT A.ID, X.name FROM [TableWithJSONField] A CROSS APPLY JSONTABLE(A.JSONColumn) WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1 |Samuel|
|1 |Katherine|
|1 |George|
|1 |Carlos|

XMLTABLE(xml_content,[xpath,child_type])

For each record in the resultset of the preceding table expression, returns one record for each of the elements and/or attributes in an XML structure (xml_content) that match the tag name(s) and/or attribute name(s) specified in the WITH clause, at the scope specified in the "xpath" input.

  • xml_content: A column containing an XML structure.
  • xpath: An optional XPath that specifies the scope within the XML structure at which the connector extracts content matching the tag/attribute name(s) specified in the WITH clause.
    • When extracting the content of sub-elements, the connector can retrieve all content from tags at the root level, (depth 0) immediate children of the root (depth 1), and children of those children (depth 2).
    • When extracting element attribute content, the connector can retrieve all content from tags containing the specified attribute at the root level (depth 0) and from immediate children of root-level elements (depth 1).
  • child_type: An optional parameter that specifies the part(s) of the parent element (specified in the xpath input) that the column(s) provided in the WITH clause are checked against to identify content.
    • You can supply the following values:
      • 0: The column(s) in the WITH clause are checked for matches against the parent element's attribute names and sub-element tag names.
      • 1: The column(s) in the WITH clause are checked for matches against the parent element's attribute names.
      • 2: The column(s) in the WITH clause are checked for matches against the parent element's sub-element tag names.
    • When not supplied, this defaults to 0.

Extracting Sub-Element Values

Consider a sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:
<shoppingList>
    <item>
        <name>Apples</name>
        <quantity>3</quantity>
        <unit>Kg</unit>
    </item>
    <item>
        <name>Bread</name>
        <quantity>2</quantity>
        <unit>Loaf</unit>
		<extrainfo>
			<Type>Whole-Grain</Type>
		</extrainfo>
    </item>
    <item>
        <name>Milk</name>
        <quantity>1</quantity>
        <unit>Carton</unit>
    </item>
    <item>
        <name>Eggs</name>
        <quantity>12</quantity>
        <unit></unit>
    </item>
</shoppingList>

To extract sub-element content, specify the scope in the XMLTABLE function and provide the desired element name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 1.

SELECT A.ID, X.name FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/item') WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1|Apples|
|1|Bread|
|1|Milk|
|1|Eggs|

Extracting Values Using Element Tag Attributes

Suppose you have this sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:

<restaurant>
  <dish type="appetizer">
    <name lang="en">Caprese Salad</name>
    <chef>Chef Giovanni</chef>
    <price currency="USD">9.99</price>
  </dish>
  <dish type="main-course">
    <name lang="fr">Boeuf Bourguignon</name>
    <chef>Chef Marie</chef>
    <price currency="EUR">19.99</price>
  </dish>
  <dish type="dessert">
    <name lang="es">Tres Leches Cake</name>
    <chef>Chef Alejandro</chef>
    <price currency="MXN">89.99</price>
  </dish>
</restaurant>

To extract attribute content, specify the scope in the XMLTABLE function and provide the desired attribute name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 2.

SELECT A.ID, X.type FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/dish') WITH (type VARCHAR(255)) AS X

-- Results: 
|ID|type|
---------
|1|appetizer|
|1|main-course|
|1|dessert|

CSVTABLE(csv_content,[delimiter])

For each record in the resultset of the preceding table expression, reads from a column that contains a CSV table (csv_content) and for each record in that CSV table, returns one record containing the value of the CSV column(s) specified in the WITH clause.

  • csv_content: A column containing a CSV table.
  • delimiter: An optional custom delimiter (instead of a comma) which splits the CSV content contained in the csv_content input.

Consider a sample table with a single record, including an ID column and a column containing CSV table called "CSVContent" with the following content:

Name;Category;Price
Apple;Fruit;0.99
Spaghetti;Pasta;5.49
Chicken Breast;Meat;8.99
Broccoli;Vegetable;2.49

To select every value in the "Name" column and account for the custom delimiter (;):

SELECT A.ID, X.Name FROM [TableWithCSVField] A CROSS APPLY CSVTABLE(A.CSVContent,';') WITH (Name VARCHAR(255)) AS X

-- Results:
|ID|Name|
-----------
|1|Apple|
|1|Spaghetti|
|1|Chicken Breast|
|1|Broccoli|

CData Python Connector for GitHub

INSERT Statements

To create new records, use INSERT statements.

INSERT Syntax

The INSERT statement specifies the columns to be inserted and the new column values. You can specify the column values in a comma-separated list in the VALUES clause, as shown in the following example:

INSERT INTO <table_name> 
( <column_reference> [ , ... ] )
VALUES 
( { <expression> | NULL } [ , ... ] ) 
  

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>
The following is an example query:
INSERT INTO Repositories (OwnerLogin) VALUES ('3478365783')

CData Python Connector for GitHub

UPDATE Statements

To modify existing records, use UPDATE statements.

Update Syntax

The UPDATE statement takes as input a comma-separated list of columns and new column values as name-value pairs in the SET clause, as shown in the following example:

UPDATE <table_name> SET <select_statement> | {<column_reference> = <expression> [ , ... ]} WHERE { Id = <expression>  } [ { AND | OR } ... ] 

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

UPDATE Repositories SET OwnerLogin='3478365783' WHERE Id = @myId

CData Python Connector for GitHub

DELETE Statements

To delete information from a table, use DELETE statements.

DELETE Syntax

The DELETE statement requires the table name in the FROM clause and the row's primary key in the WHERE clause, as shown in the following example:

<delete_statement> ::= DELETE FROM <table_name> WHERE { Id = <expression> } [ { AND | OR } ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

DELETE FROM Repositories WHERE Id = @myId

CData Python Connector for GitHub

CACHE Statements

When caching is enabled, CACHE statements provide complete control over the data that is cached and the table to which it is cached. The CACHE statement executes the SELECT statement specified and caches its results to a table with the same name in the cache database or to table specified in <cached_table_name>. The connector updates or inserts rows to the cache depending on whether or not they already exist in the cache, so the primary key, which is used to identify existing rows, must be included in the selected columns.

See Caching Data for more information on different caching strategies.

CACHE Statement Syntax

The cache statement may include the following options that alter its behavior:

CACHE [ <cached_table_name> ] [ WITH TRUNCATE | AUTOCOMMIT | SCHEMA ONLY | DROP EXISTING | ALTER SCHEMA ] <select_statement> 

WITH TRUNCATE

If this option is set, the connector removes existing rows in the cache table before adding the selected rows. Use this option if you want to refresh the entire cache table but keep its existing schema.

AUTOCOMMIT

If this option is set, the connector commits each row individually. Use this option if you want to ignore the rows that could not be cached due to some reason. By default, the entire result set is cached as a single transaction.

DROP EXISTING

If this option is set, the connector drops the existing cache table before caching the new results. Use this option if you want to refresh the entire cache table, including its schema.

SCHEMA ONLY

If this option is set, the connector creates the cache table based on the SELECT statement without executing the query.

ALTER SCHEMA

If this option is set, the connector alters the schema of the existing table in the cache if it does not match the schema of the SELECT statement. This option results in new columns or dropped columns, if the schema of the SELECT statement does not match the cached table.

Common Queries

Use the following cache statement to cache all rows of a table:

CACHE SELECT * FROM Repositories

Use the following cache statement to cache all rows of a table into the cache table CachedRepositories:

CACHE CachedRepositories SELECT * FROM Repositories

Use the following cache statement for incremental caching. The DateModified column may not exist in all tables. The cache statement shows how incremental caching would work if there were such a column. Also, notice that, in this case, the WITH TRUNCATE and DROP EXISTING options are specifically omitted, which would have deleted all existing rows.

CACHE CachedRepositories SELECT * FROM Repositories WHERE DateModified > '2013-04-04'

Use the following cache statements to create a table with all available columns that will then cache only a few of them. The sequence of statements cache only Name and OwnerLogin even though the cache table CachedRepositories has all the columns in Repositories.

CACHE CachedRepositories SCHEMA ONLY SELECT * FROM Repositories
CACHE CachedRepositories SELECT Name, OwnerLogin FROM Repositories

CData Python Connector for GitHub

EXECUTE Statements

To execute stored procedures, you can use EXECUTE or EXEC statements.

EXEC and EXECUTE assign stored procedure inputs, referenced by name, to values or parameter names.

Stored Procedure Syntax

To execute a stored procedure as an SQL statement, use the following syntax:

 
{ EXECUTE | EXEC } <stored_proc_name> 
{
  [ @ ] <input_name> = <expression>
} [ , ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

Example Statements

Reference stored procedure inputs by name:

EXECUTE my_proc @second = 2, @first = 1, @third = 3;

Execute a parameterized stored procedure statement:

EXECUTE my_proc second = @p1, first = @p2, third = @p3; 

CData Python Connector for GitHub

PIVOT and UNPIVOT

PIVOT and UNPIVOT can be used to change a table-valued expression into another table.

PIVOT

PIVOT rotates a table-value expression by turning unique values from one column into multiple columns in the output. PIVOT can run aggregations where required on any column value.
PIVOT Synax

 
"SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4]
FROM
(
SELECT DaysToManufacture, StandardCost
FROM Production.Product
) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;"

UNPIVOT

UNPIVOT carries out nearly the opposite to PIVOT by rotating columns of a table-valued expressions into column values.
UNPIVOT Sytax

 
"SELECT VendorID, Employee, Orders
FROM
(SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
FROM pvt) p
UNPIVOT
(Orders FOR Employee IN
(Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;"

For further information on PIVOT and UNPIVOT, see FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL)

CData Python Connector for GitHub

Data Model

The CData Python Connector for GitHub models GitHub data as an easy-to-use SQL database with tables, views, and stored procedures.

The connector exposes four types of schemas:

  • The Information Data Model models licensing information and high-level overviews of the organizations, enterprises, projects, and repositories associated with the authenticated account. There is only one Information schema.
  • The Gist Data Model models gists associated with the authenticated account, including their files, comments, forks, and commits. There is only one Gist schema.
  • The Repository Data Model exposes a separate schema for each repository in the authenticated account. Each schema models the full details of a repository, including its commits, issues, and pull requests.
  • The Project Data Model exposes a separate schema for each project in the authenticated account. Each schema models the project's data, including its items (issues, pull requests, and draft issues), custom fields, and views.

CData Python Connector for GitHub

Information Data Model

In the Information Data Model, the connector models licensing information and high-level overviews of the organizations, projects, and repositories associated with the authenticated account as an easy-to-use SQL database. Live connectivity to these objects means that any changes to your GitHub account are immediately reflected in the connector.

Tables

The following Tables are shipped with the connector:

Name Description
EnterpriseAdminInvitations Lists users who have been invited to join as GitHub Enterprise account administrators.
EnterpriseAdmins Catalogs the administrators responsible for managing and maintaining a GitHub Enterprise account.
EnterpriseMembers Lists all users who are members of a specified GitHub Enterprise account.
EnterpriseUnaffiliatedMemberInvitations Tracks invitations sent to unaffiliated users to join a GitHub Enterprise account, aiding recruitment efforts.
Organizations Contains comprehensive information about organizations linked either to the authenticated user or to a specified organization.
OrganizationTeams Maintains a list of all teams within the user's organizations, supporting team management and collaboration.
ProjectStatusUpdates Records project status updates, including any changes to goals or scope.
Repositories Provides comprehensive details about user-owned or managed repositories, including configuration and metadata.
RepositoryBranches Lists information about branches in repositories.
RepositoryCommits Lists information about commits in repositories.
RepositoryCustomPropertySchemas Gets all custom properties schemas for repositories.
RepositoryCustomPropertyValues Lists organization repositories with all of their custom property values.
RepositoryIssueComments Lists information about issue comments in repositories.
RepositoryIssues Lists information about issues in repositories.
RepositoryPullRequests Lists information about pull requests in repositories.

Views

The following Views are shipped with the connector:

Name Description
Enterprises Stores information about GitHub enterprises associated with the user, including identifiers and descriptive details.
LicenseConditions Lists conditions and obligations imposed by a specific software license applied to a GitHub repository.
LicenseLimitations Details restrictions and limitations imposed by a specific license in the context of a GitHub repository.
LicensePermissions Describes permissions granted by a specific repository license, helping users understand the scope of allowed actions.
Licenses Compiles all supported open-source licenses recognized by GitHub, aiding in license selection and compliance.
OrganizationIssueTypes The organization's issue types.
OrganizationMannequins Lists mannequin accounts (placeholders) linked to an organization for use in managing legacy contributions.
OrganizationMembers Details all members and collaborators associated with the user's organizations or a specific organization.
OrganizationTeamMembers Tracks team memberships within organizations, detailing roles and associated permissions for each member.
OrganizationTeamProjects Lists projects accessible to specific teams within a GitHub organization, including details on collaboration and access rights.
OrganizationTeamRepositories Tracks repositories that teams in an organization have access to, along with permission levels for each repository.
Projects Holds metadata and organization-related details for GitHub projects, enabling structured project tracking.
RepositoryCodeScanningAnalyses Lists code scanning analyses.
RepositoryLabels Lists information about labels in repositories.
RepositoryReleases Lists information about releases in repositories.
SecurityAdvisories Lists GitHub Security Advisories.
SecurityAdvisoryCommonWeaknessEnumerations Lists Common Weakness Enumerations (CWEs) associated with GitHub Security Advisories.
SecurityVulnerabilities Lists software vulnerabilities documented by GitHub Security Advisories.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including getting the currently authenticated user or retrieving and refreshing OAuth access tokens.

The following procedures are shipped with the connector:

Name Description
AddCollaborator Adds a user to a repository with a specified permission level, updating existing access if necessary. Enterprise Managed Users are added directly, while others receive an invitation.
CloneTemplateRepository Duplicates the files and structure of a template repository to create a new repository, streamlining the setup process for consistent project creation.
CommitCompare Compares two commits against one another. You can compare references (branches or tags) and commit SHAs in the same repository, or you can compare references and commit SHAs that exist in different repositories within the same repository network, including fork branches.
CreateCommitOnBranch Appends a commit to the given branch of the procedure's repository as the authenticated user.
DeleteCodeScanningAnalysis Deletes an analysis by Id, or deletes the matched set of analyses in reverse chronological order. Deleting the final remaining analysis in a set requires explicitly confirming the deletion because it removes all associated historical alert data.
DeleteRepository Delete a repository from GitHub.
DownloadFile Facilitates downloading specific files from a GitHub repository for offline access or local reference.
GetCurrentlyAuthenticatedUser Fetches comprehensive details about the currently authenticated GitHub user, including username and account preferences.
GetOAuthAccessToken Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.
GetOAuthAuthorizationURL Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
MergePullRequest Automates the merging of an open pull request into the target branch, integrating proposed changes into the main codebase.
RefreshOAuthAccessToken Refreshes an expired OAuth Access token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.
RemoveCollaborator Removes a collaborator from a repository, revoking their access, unstarring repositories, canceling invitations, unassigning issues, denying pull requests, updating related permissions and may delete forks.
UpdatePullRequestBranch Merge or Rebase HEAD from upstream branch into pull request branch.
UploadFile Enables users to upload files directly to a specified GitHub repository for collaborative purposes.

CData Python Connector for GitHub

Tables

The connector models the data in GitHub as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for GitHub Tables

Name Description
EnterpriseAdminInvitations Lists users who have been invited to join as GitHub Enterprise account administrators.
EnterpriseAdmins Catalogs the administrators responsible for managing and maintaining a GitHub Enterprise account.
EnterpriseMembers Lists all users who are members of a specified GitHub Enterprise account.
EnterpriseUnaffiliatedMemberInvitations Tracks invitations sent to unaffiliated users to join a GitHub Enterprise account, aiding recruitment efforts.
Organizations Contains comprehensive information about organizations linked either to the authenticated user or to a specified organization.
OrganizationTeams Maintains a list of all teams within the user's organizations, supporting team management and collaboration.
ProjectStatusUpdates Records project status updates, including any changes to goals or scope.
Repositories Provides comprehensive details about user-owned or managed repositories, including configuration and metadata.
RepositoryBranches Lists information about branches in repositories.
RepositoryCommits Lists information about commits in repositories.
RepositoryCustomPropertySchemas Gets all custom properties schemas for repositories.
RepositoryCustomPropertyValues Lists organization repositories with all of their custom property values.
RepositoryIssueComments Lists information about issue comments in repositories.
RepositoryIssues Lists information about issues in repositories.
RepositoryPullRequests Lists information about pull requests in repositories.

CData Python Connector for GitHub

EnterpriseAdminInvitations

Lists users who have been invited to join as GitHub Enterprise account administrators.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • EnterpriseSlug supports the '=,IN' comparison operators.
  • Role supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [EnterpriseAdminInvitations]
SELECT * FROM [EnterpriseAdminInvitations] WHERE [EnterpriseSlug] = 'Val1'
SELECT * FROM [EnterpriseAdminInvitations] WHERE [Role] = 'OWNER'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: CreatedAt

SELECT * FROM [EnterpriseAdminInvitations] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Insert

You can use the following columns to create (insert) a new record:

  • EnterpriseId
  • Email
  • Role
  • InviteeLogin

INSERT INTO [EnterpriseAdminInvitations] ([EnterpriseId], [Role], [InviteeLogin]) VALUES ('E_kgDOAAO82g', 'OWNER', 'test')

Delete

You can specify the following column to delete a record: Id

DELETE FROM [EnterpriseAdminInvitations] WHERE [Id] = 'EAI_kwDOAAO82s4AA6xw'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique node ID representing the enterprise invitation object.

EnterpriseId String False

Enterprises.Id

The unique node ID of the enterprise associated with the invitation.

EnterpriseSlug String True

Enterprises.Slug

The URL-friendly identifier (slug) used to reference the enterprise in URLs and APIs.

Email String False

The email address of the person invited to join the enterprise.

Role String False

The role that the invited user has in the enterprise once they accept the invitation (for example, admin, member).

The allowed values are OWNER, BILLING_MANAGER, UNAFFILIATED.

InviteeId String True

The unique node ID of the user invited to the enterprise. Null if the invitee is not yet a registered GitHub user.

InviteeLogin String False

The username (login) of the invited user. Null if the invitee is not yet a registered GitHub user.

InviterId String True

The unique node ID of the user who sent the invitation.

InviterLogin String True

The username (login) of the user who sent the invitation.

CreatedAt Datetime True

The date and time when the invitation was created, in ISO 8601 format.

CData Python Connector for GitHub

EnterpriseAdmins

Catalogs the administrators responsible for managing and maintaining a GitHub Enterprise account.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • EnterpriseSlug supports the '=,IN' comparison operators.
  • Role supports the '=' comparison operator.
  • OrganizationLogins supports the '=,IN' comparison operators.
  • TwoFactorMethodSecurity supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [EnterpriseAdmins]
SELECT * FROM [EnterpriseAdmins] WHERE [EnterpriseSlug] = 'Val1'
SELECT * FROM [EnterpriseAdmins] WHERE [Role] = 'OWNER'
SELECT * FROM [EnterpriseAdmins] WHERE [OrganizationLogins] = 'Val1'
SELECT * FROM [EnterpriseAdmins] WHERE [TwoFactorMethodSecurity] = 'SECURE'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Login
  • CreatedAt

SELECT * FROM [EnterpriseAdmins] ORDER BY [Login]
SELECT * FROM [EnterpriseAdmins] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Delete

You can specify the following columns to delete a record:

  • Login
  • EnterpriseId

DELETE FROM [EnterpriseAdmins] WHERE ([Login] = 'Test') AND ([EnterpriseId] = 'E_kgDOAAO82g')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier (node ID) assigned to the user.

DatabaseId Int True

The primary key of the user in the database, used for internal reference.

Login String True

The unique username of the user, used for login and profile identification.

Name String True

The publicly visible name of the user as displayed on their GitHub profile.

Email String True

The publicly visible email address associated with the user’s GitHub profile.

TwitterUsername String True

The user’s Twitter handle as listed on their GitHub profile.

Pronouns String True

The pronouns specified by the user on their GitHub profile (for example, they/them, she/her, he/him).

Bio String True

The user’s public profile bio, which provides an overview or description of the user.

BioHTML String True

The user’s profile bio formatted in HTML for display purposes.

Company String True

The user’s publicly displayed company or organization affiliation.

CompanyHTML String True

The HTML-formatted version of the user’s company information for display purposes.

Location String True

The geographic location specified by the user on their public profile.

AnyPinnableItems Bool True

Indicates whether the user has any content, such as repositories or gists, that can be pinned to their profile. Accepts arguments to filter by type.

PinnedItemsRemaining Int True

The number of additional items the user can pin to their profile.

UserViewType String True

Whether a user being viewed contains public or private information.

ItemShowcaseHasPinnedItems Bool True

Indicates whether the user has pinned any repositories or gists to their profile.

IsEmployee Bool True

Indicates whether the user is an employee of GitHub.

IsHireable Bool True

Indicates whether the user has marked themselves as available for hire.

IsBountyHunter Bool True

Indicates whether the user participates in the GitHub Security Bug Bounty program.

IsCampusExpert Bool True

Indicates whether the user is a member of the GitHub Campus Experts program.

IsFollowingViewer Bool True

Indicates whether this user is following the current viewer of the profile. Inverse of viewerIsFollowing.

IsSiteAdmin Bool True

Indicates whether the user is a GitHub site administrator with elevated permissions.

IsDeveloperProgramMember Bool True

Indicates whether the user is a member of the GitHub Developer Program.

IsGitHubStar Bool True

Indicates whether the user is a recognized member of the GitHub Stars program.

IsSponsoringViewer Bool True

Indicates whether the user is financially sponsoring the current viewer of their profile or organization.

IsViewer Bool True

Indicates whether this user is the currently logged-in viewer of the profile.

ViewerCanFollow Bool True

Indicates whether the current viewer has the ability to follow this user.

ViewerCanSponsor Bool True

Indicates whether the current viewer can sponsor this user or organization through GitHub Sponsors.

ViewerIsFollowing Bool True

Indicates whether the current viewer is following this user.

ViewerIsSponsoring Bool True

Indicates whether the current viewer is sponsoring this user or organization.

ViewerCanChangePinnedItems Bool True

Indicates whether the current viewer can pin repositories and gists to the user's profile.

StatusId String True

The unique identifier of the user’s status emoji.

StatusEmoji String True

An emoji representing the user’s current status.

StatusMessage String True

A short, user-defined message describing their current activity or status.

StatusIndicatesLimitedAvailability Bool True

Indicates whether the user’s status suggests they have limited availability on GitHub.

StatusEmojiHTML String True

The HTML representation of the user’s status emoji for display purposes.

StatusCreatedAt Datetime True

The date and time when the user’s status was created, in ISO 8601 format.

StatusExpiresAt Datetime True

The expiration date and time for the user’s status. After this time, the status is no longer be visible.

StatusUpdatedAt Datetime True

The date and time when the user’s status was last updated, in ISO 8601 format.

StatusOrganizationId String True

The unique identifier (node ID) of the organization associated with the user’s status.

StatusOrganizationLogin String True

The login name of the organization associated with the user’s status.

InteractionAbilityLimit String True

The current interaction restriction level on this user’s account or content (for example, collaborators only).

InteractionAbilityOrigin String True

The source or origin of the currently applied interaction restriction (for example, account settings).

InteractionAbilityExpiresAt Datetime True

The date and time when the current interaction restriction expires, if applicable.

HasSponsorsListing Bool True

Indicates whether this user or organization has an active GitHub Sponsors listing.

MonthlyEstimatedSponsorsIncomeInCents Int True

The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).

EstimatedNextSponsorsPayoutInCents Int True

The estimated amount of the next payout from GitHub Sponsors for this user or organization, in cents (USD).

SponsorsListingId String True

The unique identifier (node ID) of the GitHub Sponsors listing for this user or organization.

SponsorsListingName String True

The full display name of the GitHub Sponsors listing for this user or organization.

TotalSponsorshipAmountAsSponsorInCents Int True

The total amount (in cents, USD) spent by this user or organization to sponsor others on GitHub. Only visible to the user or managers of the organization.

ResourcePath String True

The relative HTTP path to this user’s profile on GitHub.

ProjectsResourcePath String True

The relative HTTP path to the list of projects associated with this user.

Url String True

The absolute HTTP URL for this user’s GitHub profile.

ProjectsUrl String True

The absolute HTTP URL to the list of projects associated with this user.

WebsiteUrl String True

A URL pointing to the user’s personal website or blog, as listed on their profile.

AvatarUrl String True

The URL pointing to the user’s public avatar image. Optionally accepts a 'size' argument to specify the dimensions of the square image in pixels.

CopilotEndpointsApi String True

The API endpoint used to interact with GitHub Copilot services.

CopilotEndpointsOriginTracker String True

The endpoint used by GitHub Copilot for tracking the origin of requests.

CopilotEndpointsProxy String True

The proxy endpoint used for routing GitHub Copilot requests.

CopilotEndpointsTelemetry String True

The telemetry endpoint used for collecting data related to GitHub Copilot activities and usage.

CreatedAt Datetime True

The date and time when this object was created, in ISO 8601 format.

UpdatedAt Datetime True

The date and time when this object was last updated, in ISO 8601 format.

RepositoryCount Int True

The total number of repositories owned by the user.

FollowerCount Int True

The total number of users following this user on GitHub.

EnterpriseId [KEY] String True

Enterprises.Id

The unique node ID of the enterprise associated with this user or data.

EnterpriseSlug String True

Enterprises.Slug

The URL-friendly identifier (slug) for the enterprise, used in APIs and URLs.

Role String True

The role assigned to the user within the enterprise (for example, 'admin', 'member'). Can be used for filtering.

The allowed values are OWNER, BILLING_MANAGER, UNAFFILIATED.

OrganizationLogins String True

Organizations.Login

Filters results to include only members from the specified organizations, identified by their login names.

TwoFactorMethodSecurity String True

Filters results to include only users who have this type of two-factor authentication enabled. Excludes users with accounts only on GitHub Enterprise Server instances.

The allowed values are SECURE, INSECURE, DISABLED.

CData Python Connector for GitHub

EnterpriseMembers

Lists all users who are members of a specified GitHub Enterprise account.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • EnterpriseSlug supports the '=,IN' comparison operators.
  • Role supports the '=,IN' comparison operators.
  • OrganizationLogins supports the '=,IN' comparison operators.
  • Deployment supports the '=,IN' comparison operators.
  • TwoFactorMethodSecurity supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [EnterpriseMembers]
SELECT * FROM [EnterpriseMembers] WHERE [EnterpriseSlug] = 'Val1'
SELECT * FROM [EnterpriseMembers] WHERE [Role] = 'MEMBER'
SELECT * FROM [EnterpriseMembers] WHERE [OrganizationLogins] = 'Val1'
SELECT * FROM [EnterpriseMembers] WHERE [Deployment] = 'CLOUD'
SELECT * FROM [EnterpriseMembers] WHERE [TwoFactorMethodSecurity] = 'SECURE'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Login
  • CreatedAt

SELECT * FROM [EnterpriseMembers] ORDER BY [Login]
SELECT * FROM [EnterpriseMembers] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Delete

You can specify the following columns to delete a record:

  • Id
  • EnterpriseId

DELETE FROM [EnterpriseMembers] WHERE ([Id] = 'U_kgDOCRzGkQ') AND ([EnterpriseId] = 'E_kgDOAAO82g')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier (node ID) assigned to the user.

DatabaseId Int True

The primary key identifier for the user in the database, used for internal reference.

Login String True

The unique username of the user, used for login and profile identification.

Name String True

The publicly visible name of the user as displayed on their GitHub profile.

Email String True

The publicly visible email address associated with the user’s GitHub profile.

TwitterUsername String True

The Twitter handle listed on the user’s GitHub profile, if provided.

Pronouns String True

The pronouns specified by the user on their GitHub profile (for example, they/them, she/her, he/him).

Bio String True

The user’s public profile bio, describing their professional background or interests.

BioHTML String True

The HTML-formatted version of the user’s bio for display purposes.

Company String True

The publicly visible company or organization affiliation listed on the user’s profile.

CompanyHTML String True

The HTML-formatted version of the user’s company information for display purposes.

Location String True

The geographic location specified by the user on their public profile.

AnyPinnableItems Bool True

Indicates whether the user has any content, such as repositories or gists, that can be pinned to their profile. Can be filtered by content type.

PinnedItemsRemaining Int True

The number of additional items the user can pin to their profile.

UserViewType String True

Whether a user being viewed contains public or private information.

ItemShowcaseHasPinnedItems Bool True

Indicates whether the user has pinned any repositories or gists to their profile.

IsEmployee Bool True

Indicates whether the user is a GitHub employee.

IsHireable Bool True

Indicates whether the user has marked themselves as available for hire on GitHub.

IsBountyHunter Bool True

Indicates whether the user participates in the GitHub Security Bug Bounty program.

IsCampusExpert Bool True

Indicates whether the user is a member of the GitHub Campus Experts program.

IsFollowingViewer Bool True

Indicates whether the user is following the current viewer of their profile. This is the inverse of ViewerIsFollowing.

IsSiteAdmin Bool True

Indicates whether the user is a GitHub site administrator with elevated permissions.

IsDeveloperProgramMember Bool True

Indicates whether the user is a member of the GitHub Developer Program.

IsGitHubStar Bool True

Indicates whether the user is a recognized member of the GitHub Stars program.

IsSponsoringViewer Bool True

Indicates whether the user or organization is financially sponsoring the current viewer.

IsViewer Bool True

Indicates whether the user is the currently logged-in viewer of the profile.

ViewerCanFollow Bool True

Indicates whether the current viewer has the ability to follow this user.

ViewerCanSponsor Bool True

Indicates whether the current viewer can sponsor this user or organization through GitHub Sponsors.

ViewerIsFollowing Bool True

Indicates whether the current viewer is following this user.

ViewerIsSponsoring Bool True

Indicates whether the current viewer is sponsoring this user or organization through GitHub Sponsors.

ViewerCanChangePinnedItems Bool True

Indicates whether the current viewer has permission to pin repositories and gists to the user's profile.

StatusId String True

The unique identifier (ID) of the emoji representing the user’s status.

StatusEmoji String True

An emoji that visually summarizes the user’s current status.

StatusMessage String True

A brief, user-defined message that describes what the user is currently doing or their availability.

StatusIndicatesLimitedAvailability Bool True

Indicates whether the user’s status suggests limited availability on GitHub.

StatusEmojiHTML String True

The HTML representation of the status emoji for display purposes.

StatusCreatedAt Datetime True

The date and time when the user’s status was created, in ISO 8601 format.

StatusExpiresAt Datetime True

The expiration date and time for the user’s status. After this time, the status is no longer be visible.

StatusUpdatedAt Datetime True

The date and time when the user’s status was last updated, in ISO 8601 format.

StatusOrganizationId String True

The unique identifier (node ID) of the organization associated with the user’s status.

StatusOrganizationLogin String True

The login name of the organization associated with the user’s status.

InteractionAbilityLimit String True

Specifies the current interaction limit applied to this user’s account or content (for example, collaborators only).

InteractionAbilityOrigin String True

The source or reason for the currently active interaction limit (for example, account settings or an admin action).

InteractionAbilityExpiresAt Datetime True

The date and time when the currently active interaction limit expires, if applicable.

HasSponsorsListing Bool True

Indicates whether this user or organization has an active GitHub Sponsors listing.

MonthlyEstimatedSponsorsIncomeInCents Int True

The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).

EstimatedNextSponsorsPayoutInCents Int True

The estimated amount of the next payout from GitHub Sponsors for this user or organization, in cents (USD).

SponsorsListingId String True

The unique identifier (node ID) of the GitHub Sponsors listing for this user or organization.

SponsorsListingName String True

The full display name of the GitHub Sponsors listing for this user or organization.

TotalSponsorshipAmountAsSponsorInCents Int True

The total amount (in cents, USD) that this entity has spent on GitHub to sponsor others. Only visible to the user or managers of the organization.

ResourcePath String True

The relative HTTP path to this user’s profile on GitHub.

ProjectsResourcePath String True

The relative HTTP path to the list of projects associated with this user.

Url String True

The absolute HTTP URL for this user’s GitHub profile.

ProjectsUrl String True

The absolute HTTP URL to the list of projects associated with this user.

WebsiteUrl String True

A URL pointing to the user’s public website or blog, as listed on their profile.

AvatarUrl String True

The URL pointing to the user’s public avatar image. Optionally accepts a 'size' argument to specify the dimensions of the square image in pixels.

CopilotEndpointsApi String True

The API endpoint used to interact with GitHub Copilot services.

CopilotEndpointsOriginTracker String True

The endpoint used by GitHub Copilot for tracking the origin of requests.

CopilotEndpointsProxy String True

The proxy endpoint used for routing GitHub Copilot requests.

CopilotEndpointsTelemetry String True

The telemetry endpoint used for collecting data related to GitHub Copilot activities and usage.

CreatedAt Datetime True

The date and time when the user or object was created, in ISO 8601 format.

UpdatedAt Datetime True

The date and time when the user or object was last updated, in ISO 8601 format.

RepositoryCount Int True

The total number of repositories owned by the user within the enterprise.

FollowerCount Int True

The total number of users following this user within the enterprise.

EnterpriseId [KEY] String True

Enterprises.Id

The unique node ID of the enterprise associated with the user.

EnterpriseSlug String True

Enterprises.Slug

A URL-friendly identifier (slug) for the enterprise, used in APIs and URLs.

Role String True

The specific role assigned to the user within the enterprise (for example, admin, member, or other enterprise-specific roles).

The allowed values are MEMBER, OWNER, UNAFFILIATED.

OrganizationLogins String True

Organizations.Login

Filters results to include only users who belong to the specified organizations, identified by their login names.

Deployment String True

Filters results to include only users associated with the specified GitHub Enterprise deployment.

The allowed values are CLOUD, SERVER.

TwoFactorMethodSecurity String True

Filters results to include only users who have enabled this type of two-factor authentication. Excludes users limited to accounts on GitHub Enterprise Server instances.

The allowed values are SECURE, INSECURE, DISABLED.

CData Python Connector for GitHub

EnterpriseUnaffiliatedMemberInvitations

Tracks invitations sent to unaffiliated users to join a GitHub Enterprise account, aiding recruitment efforts.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • EnterpriseSlug supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [EnterpriseUnaffiliatedMemberInvitations]
SELECT * FROM [EnterpriseUnaffiliatedMemberInvitations] WHERE [EnterpriseSlug] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: CreatedAt

SELECT * FROM [EnterpriseUnaffiliatedMemberInvitations] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Insert

You can use the following columns to create (insert) a new record:

  • EnterpriseId
  • Email
  • InviteeLogin

INSERT INTO [EnterpriseUnaffiliatedMemberInvitations] ([EnterpriseId], [Email], [InviteeLogin]) VALUES ('E_kgDOAAO82g', 'test@mail.com', 'test')

Delete

You can specify the following column to delete a record: Id

DELETE FROM [EnterpriseUnaffiliatedMemberInvitations] WHERE [Id] = 'Test'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique node ID representing the invitation object.

EnterpriseId String False

Enterprises.Id

The unique node ID of the enterprise associated with the invitation.

EnterpriseSlug String True

Enterprises.Slug

The URL-friendly identifier (slug) used to reference the enterprise in APIs and URLs.

Email String False

The email address of the person invited to join the enterprise.

InviteeId String True

The unique node ID of the user who was invited to the enterprise. Null if the invitee is not a registered GitHub user.

InviteeLogin String False

The login (username) of the user who was invited to the enterprise. Null if the invitee is not a registered GitHub user.

InviterId String True

The unique node ID of the user who created and sent the invitation.

InviterLogin String True

The login (username) of the user who created and sent the invitation.

CreatedAt Datetime True

The date and time when the invitation object was created, in ISO 8601 format.

CData Python Connector for GitHub

Organizations

Contains comprehensive information about organizations linked either to the authenticated user or to a specified organization.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Login supports the '=,IN' comparison operators.
  • MemberLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Organizations]
SELECT * FROM [Organizations] WHERE [Login] = 'Val1'
SELECT * FROM [Organizations] WHERE [MemberLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Update

You can use the following columns to update a record:

  • Name
  • TwitterUsername
  • Description
  • Email
  • OrganizationBillingEmail
  • Location
  • WebCommitSignoffRequired
  • MembersCanForkPrivateRepositories
  • WebsiteUrl

UPDATE [Organizations] SET [Name] = 'test', [WebCommitSignoffRequired] = false WHERE [Login] = 'test'

Delete

You can specify the following column to delete a record: Login

DELETE FROM [Organizations] WHERE [Login] = 'test'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier (node ID) of the organization.

DatabaseId Int True

The primary key identifier for the organization in the database, used for internal reference.

Login String True

The login (username) of the organization, used for identification and API references.

Name String False

The publicly displayed name of the organization.

TwitterUsername String False

The Twitter username associated with the organization, if provided.

Description String False

A brief description of the organization’s public profile, summarizing its purpose or mission.

DescriptionHTML String True

The HTML-rendered version of the organization’s public profile description for display purposes.

Email String False

The publicly visible email address associated with the organization.

OrganizationBillingEmail String False

The email address used for billing purposes within the organization.

Location String False

The geographic location specified in the organization’s public profile.

AnyPinnableItems Bool True

Indicates whether the organization has items, such as repositories or gists, that can be pinned to its profile. Can filter by item type.

PinnedItemsRemaining Int True

The number of additional items the organization can pin to its profile.

WebCommitSignoffRequired Bool False

Indicates whether contributors are required to sign off on web-based commits for repositories within the organization.

MembersCanForkPrivateRepositories Bool False

Indicates whether organization members are allowed to fork private repositories.

IpAllowListEnabledSetting String True

Specifies whether the organization has enabled an IP allow list for controlling access.

NotificationDeliveryRestrictionEnabledSetting String True

Indicates whether email notifications for the organization are restricted to verified or approved domains.

IpAllowListForInstalledAppsEnabledSetting String True

Specifies whether the organization has enabled IP allow list configuration for installed GitHub Apps.

Announcement String True

The text of the current announcement made by the organization.

AnnouncementUserDismissible Bool True

Indicates whether the announcement can be dismissed by users.

AnnouncementCreatedAt Datetime True

The date and time when the announcement was created, in ISO 8601 format.

AnnouncementExpiresAt Datetime True

The expiration date and time of the announcement, if set.

CreatedAt Datetime True

The date and time when the organization object was created, in ISO 8601 format.

UpdatedAt Datetime True

The date and time when the organization object was last updated, in ISO 8601 format.

ArchivedAt Datetime True

The date and time when the organization object was archived, if applicable.

ResourcePath String True

The relative HTTP path to the organization’s profile on GitHub.

ProjectsResourcePath String True

The relative HTTP path to the list of the organization’s projects.

TeamsResourcePath String True

The relative HTTP path to the list of the organization’s teams.

NewTeamResourcePath String True

The relative HTTP path for creating a new team within the organization.

Url String True

The absolute HTTP URL to the organization’s profile on GitHub.

AvatarUrl String True

A URL pointing to the organization’s public avatar image. Accepts an optional 'size' argument to specify the dimensions of the square image in pixels.

ProjectsUrl String True

The HTTP URL listing the organization’s projects on GitHub.

WebsiteUrl String False

The public URL of the organization’s website, as specified in its profile.

TeamsUrl String True

The HTTP URL listing the organization’s teams on GitHub.

NewTeamUrl String True

The HTTP URL for creating a new team within the organization.

IsVerified Bool True

Indicates whether the organization has verified its profile email and website.

IsSponsoringViewer Bool True

Indicates whether the organization is sponsoring the current viewer through GitHub Sponsors.

ViewerCanAdminister Bool True

Indicates whether the current viewer has administrative permissions for the organization.

ViewerCanSponsor Bool True

Indicates whether the current viewer is able to sponsor the organization through GitHub Sponsors.

ViewerIsFollowing Bool True

Indicates whether the current viewer is following the organization.

ViewerIsSponsoring Bool True

Indicates whether the current viewer is sponsoring the organization through GitHub Sponsors.

ViewerCanCreateRepositories Bool True

Indicates whether the current viewer can create repositories within the organization.

ViewerCanCreateTeams Bool True

Indicates whether the current viewer can create teams within the organization.

ViewerIsAMember Bool True

Indicates whether the current viewer is an active member of the organization.

ViewerCanChangePinnedItems Bool True

Indicates whether the current viewer can pin repositories and gists to the organization’s profile.

InteractionAbilityLimit String True

Specifies the current interaction restriction applied to the organization (for example, collaborators only).

InteractionAbilityOrigin String True

The source or reason for the currently active interaction restriction (for example, account settings or admin action).

InteractionAbilityExpiresAt Datetime True

The date and time when the currently active interaction restriction expires, if applicable.

ItemShowcaseHasPinnedItems Bool True

Indicates whether the organization has pinned any repositories or gists to its profile.

RequiresTwoFactorAuthentication Bool True

Indicates whether the organization requires all members, billing managers, and outside collaborators to enable two-factor authentication.

SamlIdentityProviderId String True

The unique identifier (node ID) for the SAML Identity Provider associated with the organization.

SamlIdentityProviderIssuer String True

The Issuer Entity ID for the SAML Identity Provider, used to identify the issuer of SAML assertions.

SamlIdentityProviderDigestMethod String True

The digest algorithm used to sign SAML requests for the Identity Provider.

SamlIdentityProviderIdpCertificate String True

The x509 certificate used by the Identity Provider to sign SAML assertions and responses.

SamlIdentityProviderSignatureMethod String True

The signature algorithm used to sign SAML requests for the Identity Provider.

SamlIdentityProviderSsoUrl String True

The Single Sign-On (SSO) URL endpoint for the Identity Provider’s SAML SSO.

HasSponsorsListing Bool True

Indicates whether the organization has an active GitHub Sponsors listing.

SponsorsListingId String True

The unique identifier (node ID) for the organization’s GitHub Sponsors listing.

SponsorsListingName String True

The full name of the organization’s GitHub Sponsors listing.

EstimatedNextSponsorsPayoutInCents Int True

The estimated amount of the next payout from GitHub Sponsors for this organization, in cents (USD).

MonthlyEstimatedSponsorsIncomeInCents Int True

The estimated monthly income from GitHub Sponsors for this organization, in cents (USD).

MemberLogin String True

Filters the list of organizations to include only those that have a specific member, identified by the user's login (username).

CData Python Connector for GitHub

OrganizationTeams

Maintains a list of all teams within the user's organizations, supporting team management and collaboration.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • OrganizationLogin supports the '=,IN' comparison operators.
  • Privacy supports the '=' comparison operator.
  • Slug supports the '=,IN' comparison operators.
  • NotificationSetting supports the '=' comparison operator.
  • LdapMapped supports the '=' comparison operator.
  • Role supports the '=,IN' comparison operators.
  • RootTeamsOnly supports the '=' comparison operator.
  • UserLogins supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationTeams]
SELECT * FROM [OrganizationTeams] WHERE [OrganizationLogin] = 'Val1'
SELECT * FROM [OrganizationTeams] WHERE [Privacy] = 'SECRET'
SELECT * FROM [OrganizationTeams] WHERE [Slug] = 'Val1'
SELECT * FROM [OrganizationTeams] WHERE [NotificationSetting] = 'NOTIFICATIONS_ENABLED'
SELECT * FROM [OrganizationTeams] WHERE [LdapMapped] = true
SELECT * FROM [OrganizationTeams] WHERE [Role] = 'ADMIN'
SELECT * FROM [OrganizationTeams] WHERE [RootTeamsOnly] = true
SELECT * FROM [OrganizationTeams] WHERE [UserLogins] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column:

  • Name ASC

SELECT * FROM [OrganizationTeams] ORDER BY [Name] ASC

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Insert

You can use the following columns to create (insert) a new record:

  • OrganizationLogin
  • OrganizationDatabaseId
  • ParentTeamDatabaseId
  • Name
  • Description
  • Privacy
  • NotificationSetting
  • UserLogins

You can use the following pseudo-column to create a new record: RepositoryNamesWithOwner

INSERT INTO [OrganizationTeams] ([Name], [Description], [Privacy], [NotificationSetting], [OrganizationLogin], [UserLogins], [RepositoryNamesWithOwner]) VALUES ('TestTeam', 'A test team.', 'SECRET', 'NOTIFICATIONS_ENABLED', 'myorg', 'User1,User2', 'myorg/test2,myorg/test')

Update

You can use the following columns to update a record:

  • ParentTeamDatabaseId
  • Name
  • Description
  • Privacy
  • NotificationSetting

UPDATE [OrganizationTeams] SET [Name] = '123456', [Description] = 'newDescription', [Privacy] = 'VISIBLE', [NotificationSetting] = 'NOTIFICATIONS_DISABLED' WHERE [OrganizationLogin] = 'myorg' AND [Slug] = 'team'

Delete

You can specify either of the following sets of WHERE conditions to delete a record:

  • OrganizationLogin and Slug


    DELETE FROM [OrganizationTeams] WHERE ([OrganizationLogin] = 'myorg') AND ([Slug] = 'team')

  • OrganizationDatabaseId and DatabaseId


    DELETE FROM [OrganizationTeams] WHERE ([OrganizationDatabaseId] = '178278991') AND ([DatabaseId] = '11017906')

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier (node ID) of the team.

DatabaseId Int True

The primary key identifier for the team in the database, used for internal reference.

OrganizationId String True

Organizations.Id

The unique identifier (node ID) of the organization associated with the team.

OrganizationDatabaseId Int False

Organizations.DatabaseId

The primary key identifier for the organization in the database, used for internal reference.

OrganizationLogin String False

Organizations.Login

The login (username) of the organization associated with the team.

ParentTeamId String True

The unique identifier (node ID) of the parent team, if this team is part of a parent-child team hierarchy.

ParentTeamDatabaseId Int False

The primary key identifier for the parent team in the database, used for internal reference.

ParentTeamName String True

The name of the parent team, if applicable.

Name String False

The name of the team, as displayed within the organization.

Description String False

A brief description of the team, summarizing its purpose or activities.

Privacy String False

The privacy level of the team, which can be 'secret' or 'closed'.

The allowed values are SECRET, VISIBLE.

Slug String True

The URL-friendly identifier (slug) corresponding to the team.

Url String True

The absolute HTTP URL to access the team on GitHub.

AvatarUrl String True

A URL pointing to the team’s avatar image, if available.

CombinedSlug String True

The combined slug of the organization and team (for example, 'org-name/team-name').

MembersUrl String True

The absolute HTTP URL to view the team’s members on GitHub.

NotificationSetting String False

The current notification setting for the team (for example, 'all', 'mentions').

The allowed values are NOTIFICATIONS_ENABLED, NOTIFICATIONS_DISABLED.

RepositoriesUrl String True

The absolute HTTP URL to view the repositories associated with the team.

ResourcePath String True

The relative HTTP path to access the team on GitHub.

TeamsUrl String True

The absolute HTTP URL to view the sub-teams under this team, if any.

EditTeamUrl String True

The absolute HTTP URL to access the editing page for this team.

MembersResourcePath String True

The relative HTTP path to the team’s members on GitHub.

NewTeamUrl String True

The absolute HTTP URL to create a new team within the organization.

RepositoriesResourcePath String True

The relative HTTP path to the team’s associated repositories.

TeamsResourcePath String True

The relative HTTP path to the sub-teams under this team, if any.

ViewerCanAdminister Bool True

Indicates whether the current viewer has administrative permissions for this team.

EditTeamResourcePath String True

The relative HTTP path to the page for editing this team on GitHub.

NewTeamResourcePath String True

The relative HTTP path to the page for creating a new team within the organization.

CreatedAt Datetime True

The date and time when the team object was created, in ISO 8601 format.

UpdatedAt Datetime True

The date and time when the team object was last updated, in ISO 8601 format.

ReviewRequestDelegationAlgorithm String True

Specifies the algorithm used for assigning code reviews to team members (for example, round-robin).

ReviewRequestDelegationEnabled Bool True

Indicates whether automatic review assignment is enabled for this team.

ReviewRequestDelegationMemberCount Int True

The number of team members required to be assigned for review requests when delegation is enabled.

ReviewRequestDelegationNotifyTeam Bool True

Indicates whether the entire team should be notified when review requests are assigned via delegation.

LdapMapped Bool True

Indicates whether the team is mapped to an LDAP Group (Enterprise feature only).

Role String True

Filters teams based on whether the viewer is an 'admin' or a 'member' of the team, if applicable.

The allowed values are ADMIN, MEMBER.

RootTeamsOnly Bool True

Restricts results to only root-level teams if set to true, excluding sub-teams.

UserLogins String False

OrganizationMembers.Login

A comma-separated list of user logins to filter by when querying team data or assigning users as team maintainers during team creation.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
RepositoryNamesWithOwner String

A comma-separated list of fully qualified repository names (for example, 'organization-name/repository-name') to add the team to.

CData Python Connector for GitHub

ProjectStatusUpdates

Records project status updates, including any changes to goals or scope.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • OwnerLogin supports the '=,IN' comparison operators.
  • ProjectNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [ProjectStatusUpdates]
SELECT * FROM [ProjectStatusUpdates] WHERE [OwnerLogin] = 'Val1'
SELECT * FROM [ProjectStatusUpdates] WHERE [ProjectNumber] = 123

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • ProjectId
  • Body
  • StartDate
  • Status
  • TargetDate

INSERT INTO [ProjectStatusUpdates] ([ProjectId], [Body]) VALUES ('PVT_kwHOBTvkJ84Ad8nn', 'Test')

Update

You can use the following columns to update a record:

  • Body
  • StartDate
  • Status
  • TargetDate

UPDATE [ProjectStatusUpdates] SET [Body] = 'Test' WHERE [Id] = 'PVTSU_lAHOBTvkJ84Ad8nnzgABIoI'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [ProjectStatusUpdates] WHERE [Id] = 'PVTSU_lAHOBTvkJ84Ad8nnzgABIoI'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique node ID of the ProjectV2StatusUpdate object.

OwnerLogin String True

The login (username) of the owner of the project, which could be a user or organization.

ProjectId String False

Projects.Id

The unique node ID of the associated Project object.

ProjectNumber Int True

Projects.Number

The unique number assigned to the project within its scope (for example, repository, organization).

FullDatabaseId Long True

The primary key identifier for the status update in the database, represented as a BigInt.

Body String False

The main text content of the status update, describing progress or updates.

BodyHTML String True

The HTML-rendered version of the status update body for display purposes.

CreatedAt Datetime True

The date and time when the status update object was created, in ISO 8601 format.

StartDate Date False

The start date associated with the status update, typically indicating when progress began.

Status String False

The current status of the update (for example, 'in progress', 'completed', 'on hold').

TargetDate Date False

The target date by which the goals of the status update are expected to be achieved.

UpdatedAt Datetime True

The date and time when the status update object was last updated, in ISO 8601 format.

CData Python Connector for GitHub

Repositories

Provides comprehensive details about user-owned or managed repositories, including configuration and metadata.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Name supports the '=,!=' comparison operators.
  • OwnerLogin supports the '=,IN' comparison operators.
  • ForkCount supports the '=,>,>=,<,<=' comparison operators.
  • StargazerCount supports the '=,>,>=,<,<=' comparison operators.
  • TopicCount supports the '=,>,>=,<,<=' comparison operators.
  • IsArchived supports the '=' comparison operator.
  • IsFork supports the '=' comparison operator.
  • IsMirror supports the '=' comparison operator.
  • IsPrivate supports the '=' comparison operator.
  • LicenseKey supports the '=,!=' comparison operators.
  • LanguageName supports the '=,!=' comparison operators.
  • PushedAt supports the '=,>,>=,<,<=' comparison operators.
  • CreatedAt supports the '=,>,>=,<,<=' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Repositories]
SELECT * FROM [Repositories] WHERE [Name] = 'Val1'
SELECT * FROM [Repositories] WHERE [OwnerLogin] = 'Val1'
SELECT * FROM [Repositories] WHERE [ForkCount] = 123
SELECT * FROM [Repositories] WHERE [StargazerCount] = 123
SELECT * FROM [Repositories] WHERE [TopicCount] = 123
SELECT * FROM [Repositories] WHERE [IsArchived] = true
SELECT * FROM [Repositories] WHERE [IsFork] = true
SELECT * FROM [Repositories] WHERE [IsMirror] = true
SELECT * FROM [Repositories] WHERE [IsPrivate] = true
SELECT * FROM [Repositories] WHERE [LicenseKey] = 'Val1'
SELECT * FROM [Repositories] WHERE [LanguageName] = 'Val1'
SELECT * FROM [Repositories] WHERE [PushedAt] = '2023-01-01 11:10:00'
SELECT * FROM [Repositories] WHERE [CreatedAt] = '2023-01-01 11:10:00'

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Name
  • OwnerId
  • Visibility
  • Description
  • HomepageUrl
  • HasIssuesEnabled
  • HasWikiEnabled
  • IsTemplate

You can use the following pseudo-column to create a new record: TeamId

INSERT INTO [Repositories] ([Name], [OwnerId], [Visibility], [HasWikiEnabled]) VALUES ('APIRepo', 'MDQ6VXNlcjg3ODExMTEx', 'PRIVATE', true)
INSERT INTO [Repositories] ([Name], [OwnerId], [Visibility], [HomepageUrl], [TeamId]) VALUES ('OrgRepo', 'O_kgDOCfyf0Q', 'PRIVATE', 'www.test.com', 'T_kwDOCfyf0c4AmRiX')

Update

You can use the following columns to update a record:

  • Name
  • Description
  • HomepageUrl
  • HasDiscussionsEnabled
  • HasIssuesEnabled
  • HasProjectsEnabled
  • HasWikiEnabled
  • HasSponsorshipsEnabled
  • IsTemplate

You can use the following column to archive a record: IsArchived

You can use the following column to unarchive a record: IsArchived

UPDATE [Repositories] SET [Name] = 'NewRepoNameTest', [Description] = 'Test description.', [HasProjectsEnabled] = true WHERE [Id] = 'R_kgDOML7svg'
UPDATE [Repositories] SET [IsArchived] = false WHERE [Id] = 'R_kgDOML7svg'
UPDATE [Repositories] SET [IsArchived] = true WHERE [Id] = 'R_kgDOML7svg'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier (node ID) of the repository.

DatabaseId Int True

The primary key identifier for the repository in the database, used for internal reference.

Name String False

The name of the repository, as set by its owner.

NameWithOwner String True

The repository's name, prefixed with the owner's username or organization (for example, 'owner/repository-name').

OwnerId String False

The unique identifier (node ID) of the owner of the repository, which could be a user or organization.

OwnerLogin String True

The login (username) of the repository's owner, which could be a user or organization.

Visibility String False

The visibility level of the repository ('public', 'private', or 'internal').

DiskUsage Int True

The amount of disk space (in kilobytes) occupied by the repository.

ForkCount Int True

The total number of forks created from this repository across the network.

StargazerCount Int True

The total number of users who have starred this repository.

WatcherCount Int True

The total number of users watching this repository for updates.

TopicCount Int True

The number of topics assigned to the repository to improve discoverability.

TempCloneToken String True

A temporary authentication token for cloning the repository.

WebCommitSignoffRequired Bool True

Indicates whether contributors must sign off on web-based commits to this repository.

UsesCustomOpenGraphImage Bool True

Indicates whether the repository uses a custom image for Open Graph instead of the owner's avatar.

Description String False

A brief text description of the repository, as provided by the owner.

DescriptionHTML String True

The HTML-rendered version of the repository's description for display purposes.

ShortDescriptionHTML String True

A simplified version of the repository's description, rendered in HTML without links.

ResourcePath String True

The relative HTTP path to access the repository on GitHub.

ProjectsResourcePath String True

The relative HTTP path listing the projects associated with this repository.

Url String True

The absolute HTTP URL to the repository's main page on GitHub.

HomepageUrl String False

The URL of the repository's homepage, if specified.

MirrorUrl String True

The URL of the repository's original mirror, if applicable.

ProjectsUrl String True

The absolute HTTP URL listing the projects associated with this repository.

SecurityPolicyUrl String True

The URL pointing to the repository's security policy, if available.

SSHUrl String True

The SSH URL used for cloning the repository.

OpenGraphImageUrl String True

The image used to represent this repository in Open Graph metadata.

MergeCommitTitle String True

Specifies how the default commit title is generated when merging a pull request (for example, 'pull request title').

MergeCommitMessage String True

Specifies how the default commit message is generated when merging a pull request (for example, 'pull request description').

SquashMergeCommitTitle String True

Specifies how the default commit title is generated when squash-merging a pull request (for example, 'pull request title').

SquashMergeCommitMessage String True

Specifies how the default commit message is generated when squash-merging a pull request (for example, 'pull request description').

DeleteBranchOnMerge Bool True

Indicates whether branches are automatically deleted after being merged in this repository.

HasDiscussionsEnabled Bool False

Indicates whether the Discussions feature is enabled for this repository.

HasIssuesEnabled Bool False

Indicates whether the Issues feature is enabled for this repository.

HasProjectsEnabled Bool False

Indicates whether the Projects feature is enabled for this repository.

HasWikiEnabled Bool False

Indicates whether the Wiki feature is enabled for this repository.

HasVulnerabilityAlertsEnabled Bool True

Indicates whether vulnerability alerts are enabled for this repository.

HasSponsorshipsEnabled Bool False

Indicates whether the repository displays a Sponsor button for financial contributions.

IsInOrganization Bool True

Indicates whether the repository is owned by an organization or is a private fork of an organization repository.

IsBlankIssuesEnabled Bool True

Indicates whether blank issue creation is allowed for this repository.

IsSecurityPolicyEnabled Bool True

Indicates whether the repository has a security policy in place.

IsUserConfigurationRepository Bool True

Indicates whether the repository is a user configuration repository.

IsArchived Bool False

Indicates whether the repository is archived and unmaintained.

IsDisabled Bool True

Indicates whether the repository is disabled.

IsEmpty Bool True

Indicates whether the repository is empty.

IsFork Bool True

Indicates whether the repository is a fork of another repository.

IsLocked Bool True

Indicates whether the repository has been locked.

IsMirror Bool True

Indicates whether the repository is a mirror of another repository.

IsPrivate Bool True

Indicates whether the repository is private and not publicly accessible.

IsTemplate Bool False

Indicates whether the repository is a template that can be used to generate new repositories.

LockReason String True

Specifies the reason why the repository has been locked, if applicable.

The allowed values are BILLING, MIGRATING, MOVING, RENAME.

TemplateRepositoryId String True

The unique identifier (node ID) of the template repository from which this repository was generated, if any.

ParentId String True

The unique identifier (node ID) of the parent repository, if this repository is a fork.

ForkingAllowed Bool True

Indicates whether forking is allowed for this repository.

AutoMergeAllowed Bool True

Indicates whether Auto-merge can be enabled on pull requests for this repository.

SquashMergeAllowed Bool True

Indicates whether squash-merging is enabled for pull requests in this repository.

RebaseMergeAllowed Bool True

Indicates whether rebase-merging is enabled for pull requests in this repository.

MergeCommitAllowed Bool True

Indicates whether pull requests can be merged with a merge commit in this repository.

AllowUpdateBranch Bool True

Indicates whether pull request head branches that are behind their base branches can always be updated even if not required for merging.

ViewerPermission String True

Specifies the permission level of the viewer on the repository (for example, 'read', 'write', 'admin'). Returns null if authenticated as a GitHub App.

The allowed values are ADMIN, MAINTAIN, READ, TRIAGE, WRITE.

ViewerSubscription String True

Indicates whether the viewer is watching, not watching, or ignoring the repository.

The allowed values are IGNORED, SUBSCRIBED, UNSUBSCRIBED.

ViewerHasStarred Bool True

Indicates whether the viewing user has starred this repository.

ViewerDefaultCommitEmail String True

The email address used by the viewer for their most recent commit in this repository.

ViewerDefaultMergeMethod String True

The last merge method used by the viewer (for example, 'merge', 'squash', 'rebase') or the repository's default merge method.

ViewerPossibleCommitEmails String True

A list of email addresses available for the viewer to use for committing in this repository.

ViewerCanAdminister Bool True

Indicates whether the viewer has administrative permissions on this repository.

ViewerCanSubscribe Bool True

Indicates whether the viewer can change their subscription status for the repository.

ViewerCanUpdateTopics Bool True

Indicates whether the viewer can update the topics (tags) of this repository.

CodeOfConductId String True

The unique identifier (node ID) of the Code of Conduct associated with this repository.

CodeOfConductName String True

The formal name of the Code of Conduct applied to this repository.

CodeOfConductBody String True

The full text of the Code of Conduct describing its rules and guidelines.

CodeOfConductKey String True

The unique key identifier for the Code of Conduct.

CodeOfConductUrl String True

The absolute HTTP URL to access the Code of Conduct for this repository.

CodeOfConductResourcePath String True

The relative HTTP path to access the Code of Conduct for this repository.

DefaultBranchRefId String True

The unique identifier (node ID) of the default branch in this repository.

DefaultBranchRefName String True

The name of the default branch in this repository (for example, 'main', 'master').

InteractionAbilityLimit String True

The current interaction restriction applied to this repository (for example, 'collaborators only').

InteractionAbilityOrigin String True

The source or reason for the currently active interaction restriction (for example, account settings, admin action).

InteractionAbilityExpiresAt Datetime True

The expiration date and time of the current interaction restriction, if applicable.

LatestReleaseId String True

The unique identifier (node ID) of the latest release in this repository.

LatestReleaseName String True

The title of the latest release in this repository.

LicenseId String True

The unique identifier (node ID) of the license associated with the repository.

LicenseKey String True

Licenses.Key

The SPDX key of the license associated with the repository (for example, 'mit', 'apache-2.0').

LanguageId String True

The unique identifier (node ID) of the primary programming language used in this repository.

LanguageName String True

The name of the primary programming language used in this repository (for example, 'JavaScript', 'Python').

LanguageColor String True

The hexadecimal color code associated with the primary programming language used in the repository.

PushedAt Datetime True

The date and time when the repository was last pushed to, in ISO 8601 format.

ArchivedAt Datetime True

The date and time when the repository was archived, in ISO 8601 format.

CreatedAt Datetime True

The date and time when the repository was created, in ISO 8601 format.

UpdatedAt Datetime True

The date and time when the repository was last updated, in ISO 8601 format.

PlanFeaturesCodeOwners Bool True

Indicates whether reviews can be automatically requested and enforced using a CODEOWNERS file.

PlanFeaturesDraftPullRequests Bool True

Indicates whether pull requests can be created as drafts or converted to drafts.

PlanFeaturesMaximumAssignees Int True

The maximum number of users that can be assigned to an issue or pull request in this repository.

PlanFeaturesMaximumManualReviewRequests Int True

The maximum number of manually requested reviews allowed on a pull request in this repository.

PlanFeaturesTeamReviewRequests Bool True

Indicates whether teams can be requested to review pull requests in this repository.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
TeamId String

Specifies the team ID to be granted access to the repository when an organization is set as the owner.

CData Python Connector for GitHub

RepositoryBranches

Lists information about branches in repositories.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators.

  • Name supports the =, IN comparison operators.
  • RepositoryName supports the =, IN comparison operators. When querying RepositoryBranches, applying this filter is recommended to improve query efficiency.
  • OwnerLogin supports the =, IN comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryBranches]
SELECT * FROM [RepositoryBranches] WHERE [Name] = 'Val1'
SELECT * FROM [RepositoryBranches] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryBranches] WHERE [OwnerLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The ID of the branch.

Name String True

The branch name.

Prefix String True

The branch prefix.

TargetId String True

The ID of the object the ref points to.

TargetOid String False

The Git object ID of the object the ref points to.

RepositoryId String True

The ID of the repository.

RepositoryName String True

The name of the repository.

OwnerLogin String True

The login field of a user or organization.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Force Bool

Permit updates of branch refs that are not fast-forwards.

CData Python Connector for GitHub

RepositoryCommits

Lists information about commits in repositories.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators.

  • CommittedDate supports the =, >=, >, =, <, <= comparison operators.
  • OwnerLogin supports the =, IN comparison operators.

When querying RepositoryCommits, applying the following filters are recommended to improve query efficiency:

  • BranchName supports the =, IN comparison operators.
  • RepositoryName supports the =, IN comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryCommits]
SELECT * FROM [RepositoryCommits] WHERE [CommittedDate] = '2023-01-01 11:10:00'
SELECT * FROM [RepositoryCommits] WHERE [BranchName] = 'Val1'
SELECT * FROM [RepositoryCommits] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryCommits] WHERE [OwnerLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The ID of the commit.

Oid String True

The Git object ID.

AbbreviatedOid String True

An abbreviated version of the Git object ID.

BranchName [KEY] String False

RepositoryBranches.Name

The name of the branch.

ChangedFilesIfAvailable Int True

The number of changed files in this commit. If GitHub is unable to calculate the number of changed files (for example due to a timeout), this will return 'null'. We recommend using this field instead of 'changedFiles'.

Additions Int True

The number of additions in this commit.

Deletions Int True

The number of deletions in this commit.

AuthoredByCommitter Bool True

Check if the committer and the author match.

CommittedViaWeb Bool True

Check if committed via GitHub web UI.

AuthoredDate Datetime True

The datetime when this commit was authored.

CommittedDate Datetime True

The datetime when this commit was committed.

ViewerSubscription String True

Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.

ViewerCanSubscribe Bool True

Check if the viewer is able to change their subscription status for the repository.

Message String True

The Git commit message.

MessageBody String False

The Git commit message body.

MessageHeadline String False

The Git commit message headline.

MessageBodyHTML String True

The commit message body rendered to HTML.

MessageHeadlineHTML String True

The commit message headline rendered to HTML.

ResourcePath String True

The HTTP path for this commit.

CommitResourcePath String True

The HTTP path for this Git object.

TreeResourcePath String True

The HTTP path for the tree of this commit.

Url String True

The HTTP URL for this commit.

CommitUrl String True

The HTTP URL for this Git object.

TarballUrl String True

Returns a URL to download a tarball archive for a repository. Note: For private repositories, these links are temporary and expire after five minutes.

TreeUrl String True

The HTTP URL for the tree of this commit.

ZipballUrl String True

Returns a URL to download a zipball archive for a repository. Note: For private repositories, these links are temporary and expire after five minutes.

AuthorName String True

The name in the Git commit.

AuthorEmail String True

The email of the commit author.

AuthorDate Datetime True

The timestamp of the Git action (authoring or committing).

AuthorUserLogin String True

The GitHub user corresponding to the email field. Null if no such user exists.

CommitterName String True

The name in the Git commit.

CommitterEmail String True

The email of the committer.

CommitterDate Datetime True

The timestamp of the Git action (authoring or committing).

CommitterUserLogin String True

The GitHub user corresponding to the email field. Null if no such user exists.

OnBehalfOfId String True

The organization's ID this commit was made on behalf of.

OnBehalfOf String True

The organization's login name this commit was made on behalf of.

SignatureIsValid Bool True

True if the signature is valid and verified by GitHub.

Signature String True

ASCII-armored signature header from object.

SignatureEmail String True

Email used to sign this object.

SignaturePayload String True

Payload for GPG signing object. Raw ODB object without the signature header.

SignatureState String True

The state of this signature. VALID if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.

SignatureSigner String True

GitHub user's login name corresponding to the email signing this commit.

WasSignedByGitHub Bool True

True if the signature was made with GitHub's signing key.

SignatureVerifiedAt Datetime True

The date the signature was verified, if valid.

StatusId String True

The commit status ID.

StatusState String True

The combined commit status.

StatusCheckRollupId String True

The Check and Status rollup ID.

StatusCheckRollupState String True

Check and Status rollup combined status state for this commit.

TreeId String True

The commit's root Tree ID.

TreeOid String True

The Git object ID.

TreeAbbreviatedOid String True

An abbreviated version of the Git object ID.

TreeCommitUrl String True

The HTTP URL for this Git object.

TreeCommitResourcePath String True

The HTTP path for this Git object.

RepositoryId String True

The ID of the repository.

RepositoryName String True

The name of the repository.

OwnerLogin String True

The login field of a user or organization.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
ExpectedHeadOid String

The git commit oid expected at the head of the branch prior to the commit.

FileChangeAdditions String

File to add or change.

FileChangeDeletions String

Files to delete.

CData Python Connector for GitHub

RepositoryCustomPropertySchemas

Gets all custom properties schemas for repositories.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • OrganizationLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryCustomPropertySchemas]
SELECT * FROM [RepositoryCustomPropertySchemas] WHERE [OrganizationLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Upsert

You can use the following columns to upsert a record:

  • OrganizationLogin
  • Name
  • Description
  • Required
  • ValueType
  • DefaultValue
  • AllowedValues
  • ValuesEditableBy

UPSERT INTO [RepositoryCustomPropertySchemas] ([DefaultValue], [OrganizationLogin], [Name], [ValueType], [Description], [Required], [AllowedValues], [ValuesEditableBy]) VALUES ('Test', 'login', 'PropA', 'multi_select', 'Test description', true, 'A,B,C', 'org_and_repo_actors')

Delete

You can specify the following columns to delete a record:

  • OrganizationLogin
  • Name

DELETE FROM [RepositoryCustomPropertySchemas] WHERE ([Name] = 'PropA') AND ([OrganizationLogin] = 'login')

Columns

Name Type ReadOnly References Description
OrganizationLogin [KEY] String True

Organizations.Login

The organization's login name.

Name [KEY] String False

The name of the property.

Description String False

Short description of the property.

Required Bool False

Whether the property is required.

ValueType String False

The type of the value for the property.

The allowed values are string, single_select, multi_select, true_false.

DefaultValue String False

Default value of the property.

AllowedValues String False

An ordered list of the allowed values of the property.

ValuesEditableBy String False

Who can edit the values of the property.

The allowed values are org_actors, org_and_repo_actors.

Url String True

The URL that can be used to fetch, update, or delete info about this property via the API.

SourceType String True

The source type of the property.

The allowed values are organization, enterprise.

CData Python Connector for GitHub

RepositoryCustomPropertyValues

Lists organization repositories with all of their custom property values.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • OrganizationLogin supports the '=,IN' comparison operators.
  • RepositoryName supports the '=' comparison operator.
  • Name supports the '=' comparison operator.
  • Value supports the '=,!=,IS,IS_NOT' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryCustomPropertyValues]
SELECT * FROM [RepositoryCustomPropertyValues] WHERE [OrganizationLogin] = 'Val1'
SELECT * FROM [RepositoryCustomPropertyValues] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryCustomPropertyValues] WHERE Name='PropA' AND Value='Val1'

The connector processes other filters client-side within the connector.

Upsert

You can use the following columns to upsert a record:

  • OrganizationLogin
  • RepositoryName
  • Name
  • Value

UPSERT INTO [RepositoryCustomPropertyValues] ([OrganizationLogin], [RepositoryName], [Name], [Value]) VALUES ('login', 'Repo1', 'PropA', 'test')

Delete

You can specify the following columns to delete a record:

  • OrganizationLogin
  • RepositoryName
  • Name

DELETE FROM [RepositoryCustomPropertyValues] WHERE (([OrganizationLogin] = 'login') AND ([RepositoryName] = 'Repo1')) AND ([Name] = 'PropA')

Columns

Name Type ReadOnly References Description
OrganizationLogin [KEY] String False

Organizations.Login

The organization's login name.

RepositoryName [KEY] String False

The name of the repository.

RepositoryDatabaseId Int True

Identifies the primary key from the database.

RepositoryFullName String True

The repository's name with owner.

Name [KEY] String False

The name of the property.

Value String False

The value assigned to the property.

CData Python Connector for GitHub

RepositoryIssueComments

Lists information about issue comments in repositories.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • IssueNumber supports the '=' comparison operator.
  • RepositoryName supports the '=' comparison operator.
  • OwnerLogin supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryIssueComments]
SELECT * FROM [RepositoryIssueComments] WHERE [IssueNumber] = 123
SELECT * FROM [RepositoryIssueComments] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryIssueComments] WHERE [OwnerLogin] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: UpdatedAt

SELECT * FROM [RepositoryIssueComments] ORDER BY [UpdatedAt]

The connector processes ordering by other columns client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Body
  • IssueId
  • RepositoryId

INSERT INTO [RepositoryIssueComments] ([IssueId], [Body]) VALUES ('I_kwDOLkrwGs6OhNo0', 'hello there')

Update

You can use the following column to update a record: Body

UPDATE [RepositoryIssueComments] SET [Body] = 'new' WHERE [Id] = 'IC_kwDOLkrwGs7nLPcQ'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [RepositoryIssueComments] WHERE [Id] = 'IC_kwDOLkrwGs7nLPcQ'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier.

Body String False

The body as Markdown.

BodyText String True

The body rendered to text.

BodyHTML String True

The body rendered to HTML.

Author String True

The username of the actor who authored the comment.

AuthorAssociation String True

Author's association with the subject of the comment.

Editor String True

The username of the actor who edited the comment.

IsMinimized Bool True

Returns whether or not a comment has been minimized.

MinimizedReason String True

Returns why the comment was minimized.

CreatedViaEmail Bool True

Check if this comment was created via an email reply.

IncludesCreatedEdit Bool True

Check if this comment was edited and includes an edit with the creation data.

ResourcePath String True

The HTTP path for this comment.

Url String True

The HTTP URL for this comment.

LastEditedAt Datetime True

The moment the editor made the last edit.

PublishedAt Datetime True

Identifies when the comment was published at.

CreatedAt Datetime True

Identifies the date and time when the object was created.

UpdatedAt Datetime True

Identifies the date and time when the object was last updated.

ViewerDidAuthor Bool True

Did the viewer author this comment.

ViewerCanDelete Bool True

Check if the current viewer can delete this object.

ViewerCanMinimize Bool True

Check if the current viewer can minimize this object.

ViewerCanReact Bool True

Can user react to this subject.

ViewerCanUpdate Bool True

Check if the current viewer can update this object.

ViewerCannotUpdateReasons String True

Reasons why the current viewer can not update this comment.

ReactionGroups String True

A list of reactions grouped by content left on the subject.

ViewerId String True

The viewer ID.

IssueNumber Int True

RepositoryIssues.Number

Identifies the issue number associated with the comment.

IssueId String False

Identifies the issue ID associated with the comment.

PullRequestId String True

Returns the ID of the pull request associated with the comment, if this comment was made on a pull request.

FullDatabaseId Long True

Identifies the primary key from the database as a BigInt.

RepositoryId String True

The ID of the repository.

RepositoryName String True

The name of the repository.

OwnerLogin String True

The login field of a user or organization.

CData Python Connector for GitHub

RepositoryIssues

Lists information about issues in repositories.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Id supports the '=' comparison operator.
  • Author supports the '=' comparison operator.
  • Number supports the '=' comparison operator.
  • UpdatedAt supports the '>,>=' comparison operators.
  • MilestoneNumber supports the '=' comparison operator.
  • Mentions supports the '=' comparison operator.
  • Assignee supports the '=' comparison operator.
  • RepositoryName supports the '=' comparison operator.
  • OwnerLogin supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryIssues]
SELECT * FROM [RepositoryIssues] WHERE [Id] = 'Val1'
SELECT * FROM [RepositoryIssues] WHERE [Author] = 'Val1'
SELECT * FROM [RepositoryIssues] WHERE [Number] = 123
SELECT * FROM [RepositoryIssues] WHERE [UpdatedAt] > '2023-01-01 11:10:00'
SELECT * FROM [RepositoryIssues] WHERE [MilestoneNumber] = 123
SELECT * FROM [RepositoryIssues] WHERE [Mentions] = 'Val1'
SELECT * FROM [RepositoryIssues] WHERE [Assignee] = 'Val1'
SELECT * FROM [RepositoryIssues] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryIssues] WHERE [OwnerLogin] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • UpdatedAt
  • CreatedAt
  • CommentCount

SELECT * FROM [RepositoryIssues] ORDER BY [UpdatedAt]
SELECT * FROM [RepositoryIssues] ORDER BY [CreatedAt]
SELECT * FROM [RepositoryIssues] ORDER BY [CommentCount]

The connector processes ordering by other columns client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Title
  • Body
  • DuplicateIssueId
  • MilestoneId
  • TypeID
  • RepositoryId

You can use the following pseudo-columns to create a new record:

  • AssigneeIds
  • LabelIds
  • IssueTemplate

INSERT INTO [RepositoryIssues] ([RepositoryId], [Title]) VALUES ('R_kgDOLkrwGg', 'TestIssue')
INSERT INTO [RepositoryIssues] ([Title]) VALUES ('TestIssue')

Update

You can use the following columns to update a record:

  • Title
  • Body
  • State
  • MilestoneId
  • TypeID

You can use the following pseudo-columns to update a record:

  • AssigneeIds
  • LabelIds

UPDATE [RepositoryIssues] SET [Title] = 'NewTitle', [AssigneeIds] = 'MDQ6VXNlcjg3ODExMTEx,U_kgDOCXOvpA', [State] = 'CLOSED' WHERE [Id] = 'I_kwDOLkrwGs7pxi97'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [RepositoryIssues] WHERE [Id] = 'I_kwDOLkrwGs7pxi97'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The Issue ID.

FullDatabaseId Long True

Identifies the primary key from the database as a BigInt.

Title String False

Identifies the issue title.

TitleHTML String True

Identifies the issue title rendered to HTML.

Author String True

The username of the actor who authored the comment.

AuthorAssociation String True

Author's association with the subject of the comment.

Editor String True

The username of the actor who edited the comment.

Body String False

Identifies the body of the issue.

BodyText String True

Identifies the body of the issue rendered to text.

BodyHTML String True

The body rendered to HTML.

BodyResourcePath String True

The http path for this issue body.

BodyUrl String True

The http URL for this issue body.

Number Int True

The number for the issue to be returned.

State String False

Identifies the state of the issue.

StateReason String False

Identifies the reason for the issue state.

The allowed values are COMPLETED, NOT_PLANNED, DUPLICATE, REOPENED.

Locked Bool False

True if the object is locked.

ActiveLockReason String False

Reason that the conversation was locked.

Closed Bool False

True if the object is closed (definition of closed may depend on type).

IsPinned Bool True

Indicates whether or not this issue is currently pinned to the repository issues list.

IncludesCreatedEdit Bool True

Check if this comment was edited and includes an edit with the creation data.

CreatedViaEmail Bool True

Check if this comment was created via an email reply.

DuplicateIssueId String False

ID of the issue that this is a duplicate of.

IssueDependenciesSummaryBlockedBy Int True

Count of issues this issue is blocked by.

IssueDependenciesSummaryBlocking Int True

Count of issues this issue is blocking.

IssueDependenciesSummaryTotalBlockedBy Int True

Total count of issues this issue is blocked by (open and closed).

IssueDependenciesSummaryTotalBlocking Int True

Total count of issues this issue is blocking (open and closed).

ResourcePath String True

The HTTP path for this issue.

Url String True

The HTTP URL for this issue.

LastEditedAt Datetime True

The moment the editor made the last edit.

PublishedAt Datetime True

Identifies when the comment was published at.

ClosedAt Datetime True

Identifies the date and time when the object was closed.

UpdatedAt Datetime True

Identifies the date and time when the object was last updated.

CreatedAt Datetime True

Identifies the date and time when the object was created.

MilestoneId String False

Identifies the milestone associated with the issue.

MilestoneTitle String True

Identifies the title of the milestone.

MilestoneNumber Int True

Identifies the number of the milestone.

IsReadByViewer Bool True

Is this issue read by the viewer.

ViewerDidAuthor Bool True

Did the viewer author this comment.

ViewerSubscription String True

Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.

ViewerCanLabel Bool True

Indicates if the viewer can edit labels for this object.

ViewerCanClose Bool True

Indicates if the object can be closed by the viewer.

ViewerCanReopen Bool True

Indicates if the object can be reopened by the viewer.

ViewerCanDelete Bool True

Check if the current viewer can delete this object.

ViewerCanReact Bool True

Can user react to this subject.

ViewerCanSubscribe Bool True

Check if the viewer is able to change their subscription status for the repository.

ViewerThreadSubscriptionStatus String True

Identifies the viewer's thread subscription status.

ViewerThreadSubscriptionFormAction String True

Identifies the viewer's thread subscription form action.

ViewerCanUpdate Bool True

Check if the current viewer can update this object.

ViewerCannotUpdateReasons String True

Reasons why the current viewer can not update this comment.

CommentCount Int True

The number of comments on the issue.

ReactionCount Int True

The number of reactions on the issue.

Mentions String True

You can find issues that mention a certain user.

Assignee String True

You can find find issues and pull requests that are assigned to a certain user.

TypeID String False

The Node ID of the IssueType object.

TypeName String True

The issue type's name.

TypeDescription String True

The issue type's description.

TypeIsEnabled Bool True

The issue type's enabled state.

TypeColor String True

The issue type's color.

RepositoryId String True

The ID of the repository.

RepositoryName String True

The name of the repository.

OwnerLogin String True

The login field of a user or organization.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AssigneeIds String

A simple, comma-separated list of Node IDs of assignees for this issue.

LabelIds String

A simple, comma-separated list of Node IDs of labels for this issue.

IssueTemplate String

The name of an issue template in the repository, assigns labels and assignees from the template to the issue.

CData Python Connector for GitHub

RepositoryPullRequests

Lists information about pull requests in repositories.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • BaseRefName supports the '=' comparison operator.
  • HeadRefName supports the '=' comparison operator.
  • State supports the '=,IN' comparison operators.
  • RepositoryName supports the '=,IN' comparison operators.
  • OwnerLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryPullRequests]
SELECT * FROM [RepositoryPullRequests] WHERE [BaseRefName] = 'Val1'
SELECT * FROM [RepositoryPullRequests] WHERE [HeadRefName] = 'Val1'
SELECT * FROM [RepositoryPullRequests] WHERE [State] = 'OPEN'
SELECT * FROM [RepositoryPullRequests] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryPullRequests] WHERE [OwnerLogin] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • UpdatedAt
  • CreatedAt

SELECT * FROM [RepositoryPullRequests] ORDER BY [UpdatedAt]
SELECT * FROM [RepositoryPullRequests] ORDER BY [CreatedAt]

The connector processes ordering by other columns client-side within the connector.

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The ID of the pull request.

FullDatabaseId Long True

Identifies the primary key from the database as a BigInt.

Author String True

The actor's login name who authored the comment.

AuthorAssociation String True

Author's association with the subject of the comment.

Editor String True

The actor's login name who edited this pull request's body.

HeadRepositoryId String False

The repository associated with this pull request's head Ref.

HeadRepositoryOwner String True

The owner's login name of the repository associated with this pull request's head Ref.

MergedBy String True

The actor's login name who merged the pull request.

BaseRefId String True

Identifies the ID of the base ref associated with the pull request, even if the ref has been deleted.

BaseRefOid String True

Identifies the OID of the base ref associated with the pull request, even if the ref has been deleted.

BaseRefPrefix String True

Identifies the prefix of the base Ref associated with the pull request.

BaseRefName String False

Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted.

HeadRefId String True

Identifies the ID of the head ref associated with the pull request, even if the ref has been deleted.

HeadRefOid String True

Identifies the OID of the head ref associated with the pull request, even if the ref has been deleted.

HeadRefPrefix String True

Identifies the prefix of the head Ref associated with the pull request.

HeadRefName String False

Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted.

Title String False

Identifies the pull request title.

TitleHTML String True

Identifies the pull request title rendered to HTML.

Body String False

The body as Markdown.

BodyText String True

The body rendered to text.

BodyHTML String True

The body rendered to HTML.

State String False

Identifies the state of the pull request.

The allowed values are OPEN, CLOSED, MERGED.

Number Int True

Identifies the pull request number.

Mergeable String True

Whether or not the pull request can be merged based on the existence of merge conflicts.

Merged Bool True

Whether or not the pull request was merged.

Closed Bool False

true if the pull request is closed.

ChangedFiles Int True

The number of changed files in this pull request.

Additions Int True

The number of additions in this pull request.

Deletions Int True

The number of deletions in this pull request.

TotalCommentsCount Int True

Returns a count of how many comments this pull request has received.

ReviewDecision String True

The current status of this pull request with respect to code review.

Locked Bool True

true if the pull request is locked.

ActiveLockReason String True

Reason that the conversation was locked.

IsDraft Bool False

Identifies if the pull request is a draft.

IsCrossRepository Bool True

The head and base repositories are different.

MaintainerCanModify Bool False

Indicates whether maintainers can modify the pull request.

CreatedViaEmail Bool True

Check if this comment was created via an email reply.

IncludesCreatedEdit Bool True

Check if this comment was edited and includes an edit with the creation data.

MergeCommitId String True

The commit ID that was created when this pull request was merged.

PotentialMergeCommitId String True

The commit ID that GitHub automatically generated to test if this pull request could be merged. This field will not return a value if the pull request is merged, or if the test merge commit is still being generated. See the mergeable field for more details on the mergeability of the pull request.

Permalink String True

The permalink to the pull request.

ResourcePath String True

The HTTP path for this pull request.

ChecksResourcePath String True

The HTTP path for the checks of this pull request.

RevertResourcePath String True

The HTTP path for reverting this pull request.

Url String True

The HTTP URL for this pull request.

ChecksUrl String True

The HTTP URL for the checks of this pull request.

RevertUrl String True

The HTTP URL for reverting this pull request.

LastEditedAt Datetime True

The moment the editor made the last edit.

MergedAt Datetime True

The date and time that the pull request was merged.

ClosedAt Datetime True

Identifies the date and time when the object was closed.

PublishedAt Datetime True

Identifies when the comment was published at.

UpdatedAt Datetime True

Identifies the date and time when the object was last updated.

CreatedAt Datetime True

Identifies the date and time when the object was created.

MilestoneId String False

Identifies the milestone's ID associated with the pull request.

MilestoneTitle String True

Identifies the title of the milestone.

MilestoneNumber Int True

Identifies the number of the milestone.

AutoMergeRequestCommitHeadline String True

The commit title of the auto-merge request. If a merge queue is required by the base branch, this value will be set by the merge queue when merging.

AutoMergeRequestAuthorEmail String True

The email address of the author of this auto-merge request.

AutoMergeRequestCommitBody String True

The commit message of the auto-merge request. If a merge queue is required by the base branch, this value will be set by the merge queue when merging.

AutoMergeRequestEnabledAt Datetime True

When was this auto-merge request was enabled.

AutoMergeRequestMergeMethod String True

The merge method of the auto-merge request. If a merge queue is required by the base branch, this value will be set by the merge queue when merging.

ViewerDidAuthor Bool True

Did the viewer author this comment.

IsReadByViewer Bool True

Is this pull request read by the viewer.

ViewerSubscription String True

Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.

ViewerCanLabel Bool True

Indicates if the viewer can edit labels for this object.

ViewerCanClose Bool True

Indicates if the object can be closed by the viewer.

ViewerCanReact Bool True

Can user react to this subject.

ViewerCanReopen Bool True

Indicates if the object can be reopened by the viewer.

ViewerCanSubscribe Bool True

Check if the viewer is able to change their subscription status for the repository.

ViewerCanApplySuggestion Bool True

Whether or not the viewer can apply suggestion.

ViewerCanEditFiles Bool True

Can the viewer edit files within this pull request.

ViewerCanDeleteHeadRef Bool True

Check if the viewer can restore the deleted head ref.

ViewerCanDisableAutoMerge Bool True

Whether or not the viewer can disable auto-merge.

ViewerCanEnableAutoMerge Bool True

Whether or not the viewer can enable auto-merge.

ViewerCanMergeAsAdmin Bool True

Indicates whether the viewer can bypass branch protections and merge the pull request immediately.

ViewerCanUpdate Bool True

Check if the current viewer can update this object.

ViewerCanUpdateBranch Bool True

Whether or not the viewer can update the head ref of this PR, by merging or rebasing the base ref. If the head ref is up to date or unable to be updated by this user, this will return false.

ViewerCannotUpdateReasons String True

Reasons why the current viewer can not update this comment.

ViewerLatestReviewRequestId String True

The ID of the viewer's latest review request.

ViewerLatestReviewId String True

The ID of the viewer's latest review.

IsMergeQueueEnabled Bool True

Indicates whether the pull request's base ref has a merge queue enabled.

IsInMergeQueue Bool True

Indicates whether the pull request is in a merge queue.

MergeQueueEntryId String True

The ID of this entry in the queue.

MergeQueueEntryJump Bool True

Whether this pull request should jump the queue.

MergeQueueEntryPosition Int True

The position of this entry in the queue.

MergeQueueEntrySolo Bool True

Does this pull request need to be deployed on its own.

MergeQueueEntryState String True

The state of this entry in the queue.

MergeQueueEntryEnqueuedAt Datetime True

The date and time this entry was added to the merge queue.

MergeQueueEntryEstimatedTimeToMerge Int True

The estimated time in seconds until this entry will be merged.

MergeQueueEntryBaseCommitId String True

The ID of the base commit in the queue entry.

MergeQueueEntryHeadCommitId String True

The ID of the head commit in the queue entry.

MergeQueueEntryMergeQueueId String True

The ID of the entry's queue.

MergeQueueEntryMergeQueueUrl String True

The HTTP URL for this merge queue.

MergeQueueEntryMergeQueueResourcePath String True

The HTTP path for this merge queue.

MergeQueueEntryMergeQueueNextEntryEstimatedTimeToMerge Int True

The estimated time in seconds until a newly added entry would be merged.

StatusCheckRollupId String True

The Node ID of the StatusCheckRollup object.

StatusCheckRollupCommitId String True

The commit the status and check runs are attached to.

StatusCheckRollupState String True

The combined status for the commit.

RepositoryId String True

The ID of the repository.

RepositoryName String True

The name of the repository.

OwnerLogin String True

The login field of a user or organization.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AssigneeIds String

A simple, comma-separated list of Node IDs of assignees for this pull request.

LabelIds String

A simple, comma-separated list of Node IDs of labels for this pull request.

CData Python Connector for GitHub

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for GitHub Views

Name Description
Enterprises Stores information about GitHub enterprises associated with the user, including identifiers and descriptive details.
LicenseConditions Lists conditions and obligations imposed by a specific software license applied to a GitHub repository.
LicenseLimitations Details restrictions and limitations imposed by a specific license in the context of a GitHub repository.
LicensePermissions Describes permissions granted by a specific repository license, helping users understand the scope of allowed actions.
Licenses Compiles all supported open-source licenses recognized by GitHub, aiding in license selection and compliance.
OrganizationIssueTypes The organization's issue types.
OrganizationMannequins Lists mannequin accounts (placeholders) linked to an organization for use in managing legacy contributions.
OrganizationMembers Details all members and collaborators associated with the user's organizations or a specific organization.
OrganizationTeamMembers Tracks team memberships within organizations, detailing roles and associated permissions for each member.
OrganizationTeamProjects Lists projects accessible to specific teams within a GitHub organization, including details on collaboration and access rights.
OrganizationTeamRepositories Tracks repositories that teams in an organization have access to, along with permission levels for each repository.
Projects Holds metadata and organization-related details for GitHub projects, enabling structured project tracking.
RepositoryCodeScanningAnalyses Lists code scanning analyses.
RepositoryLabels Lists information about labels in repositories.
RepositoryReleases Lists information about releases in repositories.
SecurityAdvisories Lists GitHub Security Advisories.
SecurityAdvisoryCommonWeaknessEnumerations Lists Common Weakness Enumerations (CWEs) associated with GitHub Security Advisories.
SecurityVulnerabilities Lists software vulnerabilities documented by GitHub Security Advisories.

CData Python Connector for GitHub

Enterprises

Stores information about GitHub enterprises associated with the user, including identifiers and descriptive details.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Slug supports the '=,IN' comparison operators.
  • MembershipType supports the '=,IN' comparison operators.
  • Login supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Enterprises]
SELECT * FROM [Enterprises] WHERE [Slug] = 'Val1'
SELECT * FROM [Enterprises] WHERE [MembershipType] = 'ALL'
SELECT * FROM [Enterprises] WHERE [Login] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the Enterprise object.
UserId String The unique identifier (node ID) of the User associated with the enterprise.
Location String The physical or geographical location of the enterprise, as specified in its profile.
Name String The name of the enterprise, as displayed in its profile.
DatabaseId Int The primary key identifier for the enterprise in the database.
Announcement String The text of the current enterprise-wide announcement.
AnnouncementCreatedAt Datetime The date and time when the announcement was created, in ISO 8601 format.
AnnouncementExpiresAt Datetime The expiration date and time of the announcement, if specified.
AnnouncementUserDismissible Bool Indicates whether users can dismiss the announcement from their view.
BillingEmail String The billing email address associated with the enterprise.
BillingInfoAllLicensableUsersCount Int The total number of licensable users or email addresses within the enterprise.
BillingInfoAssetPacks Int The number of data packs used by all organizations owned by the enterprise.
BillingInfoBandwidthQuota Double The total bandwidth quota (in GB) allocated to all organizations owned by the enterprise.
BillingInfoBandwidthUsage Double The total bandwidth usage (in GB) by all organizations owned by the enterprise.
BillingInfoBandwidthUsagePercentage Int The percentage of the bandwidth quota currently used by the enterprise.
BillingInfoStorageQuota Double The total storage quota (in GB) allocated to all organizations owned by the enterprise.
BillingInfoStorageUsage Double The total storage usage (in GB) by all organizations owned by the enterprise.
BillingInfoStorageUsagePercentage Int The percentage of the storage quota currently used by the enterprise.
BillingInfoTotalAvailableLicenses Int The number of licenses available across all owned organizations, based on unique billable users.
BillingInfoTotalLicenses Int The total number of licenses allocated to the enterprise.
CreatedAt Datetime The date and time when the enterprise object was created, in ISO 8601 format.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
Description String A brief text description of the enterprise, provided in its profile.
DescriptionHTML String The HTML-formatted description of the enterprise, suitable for display purposes.
OwnerInfoOidcProviderId String The unique identifier (node ID) of the OIDCProvider object associated with the enterprise.
OwnerInfoOidcProviderTenantId String The unique identifier of the tenant to which the OIDC provider is attached.
OwnerInfoSamlIdentityProviderId String The unique identifier (node ID) of the SAML identity provider object for the enterprise.
ResourcePath String The relative HTTP path to the enterprise’s profile on GitHub.
Slug String The URL-friendly identifier (slug) for the enterprise, used in APIs and URLs.
Url String The absolute HTTP URL for the enterprise’s profile on GitHub.
ViewerIsAdmin Bool Indicates whether the current viewer has administrative privileges for this enterprise.
WebsiteUrl String The URL of the enterprise's official website or homepage.
Readme String The raw, plain-text content of the enterprise's README file, if available.
ReadmeHTML String The content of the enterprise's README file formatted as HTML for display purposes.
MembershipType String Filters enterprises based on the user's membership type (for example, 'owner', 'member').

The allowed values are ALL, ADMIN, BILLING_MANAGER, ORG_MEMBERSHIP.

Login String The login or username associated with the enterprise or user account.
SecurityContactEmail String The enterprise's security contact email address.

CData Python Connector for GitHub

LicenseConditions

Lists conditions and obligations imposed by a specific software license applied to a GitHub repository.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • LicenseKey supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [LicenseConditions]
SELECT * FROM [LicenseConditions] WHERE [LicenseKey] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Key [KEY] String The machine-readable key that uniquely identifies the license condition.
LicenseKey [KEY] String

Licenses.Key

The SPDX (Software Package Data Exchange) ID of the license, typically represented in lowercase, which corresponds to a specific open-source license (for example, 'mit', 'apache-2.0').
Description String A detailed description of the condition associated with the license, explaining its terms or requirements.
Label String A human-readable label or title for the condition, designed to be easily understood by users without technical or legal knowledge.

CData Python Connector for GitHub

LicenseLimitations

Details restrictions and limitations imposed by a specific license in the context of a GitHub repository.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • LicenseKey supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [LicenseLimitations]
SELECT * FROM [LicenseLimitations] WHERE [LicenseKey] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Key [KEY] String The machine-readable key that uniquely identifies the license limitation.
LicenseKey [KEY] String

Licenses.Key

The SPDX (Software Package Data Exchange) ID of the license, typically represented in lowercase, which corresponds to a specific open-source license (for example, 'mit', 'apache-2.0').
Description String A detailed description of the limitation associated with the license, outlining any restrictions or prohibited uses.
Label String A human-readable label or title for the limitation, designed to be easily understood by users without technical or legal expertise.

CData Python Connector for GitHub

LicensePermissions

Describes permissions granted by a specific repository license, helping users understand the scope of allowed actions.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • LicenseKey supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [LicensePermissions]
SELECT * FROM [LicensePermissions] WHERE [LicenseKey] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Key [KEY] String The machine-readable key that uniquely identifies the specific permission granted by the license.
LicenseKey [KEY] String

Licenses.Key

The SPDX (Software Package Data Exchange) ID of the license, typically represented in lowercase, corresponding to a specific open-source license (for example, 'mit', 'apache-2.0').
Description String A detailed description of the permission granted by the license, explaining what actions or rights are explicitly allowed.
Label String A human-readable label or title for the permission, designed to be easily understood by users without technical or legal expertise.

CData Python Connector for GitHub

Licenses

Compiles all supported open-source licenses recognized by GitHub, aiding in license selection and compliance.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • Key supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Licenses]
SELECT * FROM [Licenses] WHERE [Key] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the license.
Key String The lowercase SPDX (Software Package Data Exchange) ID of the license, used as a unique machine-readable identifier (for example, 'mit', 'apache-2.0').
SpdxId String The short identifier for the license as specified by the SPDX License List (https://spdx.org/licenses).
Name String The full official name of the license, as specified by the SPDX License List.
Nickname String The customary short name or abbreviation for the license, if applicable (for example, 'GPLv3').
Body String The complete text of the license, specifying all terms and conditions.
Description String A concise, human-readable explanation of the license, summarizing its key aspects.
Featured Bool Indicates whether the license is highlighted or featured in license pickers or recommendations.
Implementation String Guidelines or instructions on how to apply or implement the license in a project.
Url String The URL linking to the license details on https://choosealicense.com.
PseudoLicense Bool Indicates whether the license is a placeholder for pseudo-licenses (for example, 'other', 'no-license').
Hidden Bool Indicates whether the license should be hidden from license pickers and user-facing lists.

CData Python Connector for GitHub

OrganizationIssueTypes

The organization's issue types.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • OrganizationLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationIssueTypes]
SELECT * FROM [OrganizationIssueTypes] WHERE [OrganizationLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The ID of the issue type.
OrganizationLogin String

Organizations.Login

The organization's login name.
Name String The name of the issue type.
Description String The description of the issue type.
IsEnabled Bool The enabled state of the issue type.
Color String The color of the issue type.

CData Python Connector for GitHub

OrganizationMannequins

Lists mannequin accounts (placeholders) linked to an organization for use in managing legacy contributions.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • OrganizationLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationMannequins]
SELECT * FROM [OrganizationMannequins] WHERE [OrganizationLogin] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Login
  • CreatedAt

SELECT * FROM [OrganizationMannequins] ORDER BY [Login]
SELECT * FROM [OrganizationMannequins] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the mannequin.
DatabaseId Int The primary key identifier for the mannequin in the database, used for internal reference.
Name String The display name of the imported organization mannequin.
OrganizationLogin String

Organizations.Login

The login (username) of the organization associated with the mannequin.
Login String The username of the mannequin actor on the platform.
Email String The email address associated with the mannequin on the source instance.
Url String The URL linking to the mannequin's resource on GitHub.
ResourcePath String The HTML path to access the mannequin's resource on GitHub.
CreatedAt Datetime The date and time when the mannequin object was created, in ISO 8601 format.
UpdatedAt Datetime The date and time when the mannequin object was last updated, in ISO 8601 format.
ClaimantId String The unique identifier (node ID) of the user or entity claiming the mannequin.
ClaimantLogin String The username (login) of the claimant who is associated with the mannequin.

CData Python Connector for GitHub

OrganizationMembers

Details all members and collaborators associated with the user's organizations or a specific organization.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • OrganizationLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationMembers]
SELECT * FROM [OrganizationMembers] WHERE [OrganizationLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the user within the organization.
DatabaseId Int The primary key identifier for the user in the database, used for internal reference.
Login String The username used by the user to log in and identify their GitHub account.
Name String The publicly visible name of the user as displayed on their GitHub profile.
Email String The email address publicly associated with the user’s profile, if available.
TwitterUsername String The Twitter handle provided by the user on their public profile, if available.
Pronouns String The pronouns specified by the user on their profile (for example, they/them, she/her, he/him).
Bio String The user’s public profile bio, which provides a brief description of their background or interests.
BioHTML String The HTML-formatted version of the user's bio for display purposes.
Company String The organization or company name listed on the user’s public profile.
CompanyHTML String The HTML-formatted version of the user’s company information for display purposes.
Location String The geographic location provided by the user on their public profile.
AnyPinnableItems Bool Indicates whether the user has any items, such as repositories or gists, that can be pinned to their profile. Can be filtered by item type.
PinnedItemsRemaining Int The number of additional items the user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the user has pinned any repositories or gists to their profile.
IsEmployee Bool Indicates whether the user is a GitHub employee.
IsHireable Bool Indicates whether the user has marked themselves as available for hire on GitHub.
IsBountyHunter Bool Indicates whether the user participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a member of the GitHub Campus Experts program.
IsFollowingViewer Bool Indicates whether the user is following the current viewer of their profile. This is the inverse of ViewerIsFollowing.
IsSiteAdmin Bool Indicates whether the user is a GitHub site administrator with elevated permissions.
IsDeveloperProgramMember Bool Indicates whether the user is a participant in the GitHub Developer Program.
IsGitHubStar Bool Indicates whether the user is a recognized member of the GitHub Stars program.
IsSponsoringViewer Bool Indicates whether the user or organization is financially sponsoring the current viewer.
IsViewer Bool Indicates whether the user is the currently logged-in viewer of the profile.
ViewerCanFollow Bool Indicates whether the current viewer has the ability to follow this user.
ViewerCanSponsor Bool Indicates whether the current viewer can sponsor this user or organization through GitHub Sponsors.
ViewerIsFollowing Bool Indicates whether the current viewer is following this user.
ViewerIsSponsoring Bool Indicates whether the current viewer is sponsoring this user or organization through GitHub Sponsors.
ViewerCanChangePinnedItems Bool Indicates whether the current viewer has permission to pin repositories and gists to the user's profile.
StatusId String The unique identifier (ID) of the emoji representing the user’s status.
StatusEmoji String An emoji that visually represents the user’s current status.
StatusMessage String A brief, user-defined message describing the user’s current activity or availability.
StatusIndicatesLimitedAvailability Bool Indicates whether the user’s status suggests limited availability on GitHub.
StatusEmojiHTML String The HTML representation of the emoji used for the user’s status.
StatusCreatedAt Datetime The date and time when the user’s status was created, in ISO 8601 format.
StatusExpiresAt Datetime The expiration date and time for the user’s status. After this time, the status is no longer be visible.
StatusUpdatedAt Datetime The date and time when the user’s status was last updated, in ISO 8601 format.
StatusOrganizationId String The unique identifier (node ID) of the organization associated with the user’s status.
StatusOrganizationLogin String The login name of the organization associated with the user’s status.
InteractionAbilityLimit String Specifies the current interaction restriction applied to this user’s account or content (for example, collaborators only).
InteractionAbilityOrigin String The source or reason for the currently active interaction restriction (for example, account settings or an admin action).
InteractionAbilityExpiresAt Datetime The date and time when the currently active interaction restriction expires, if applicable.
HasSponsorsListing Bool Indicates whether this user or organization has an active GitHub Sponsors listing.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated amount of the next payout from GitHub Sponsors for this user or organization, in cents (USD).
SponsorsListingId String The unique identifier (node ID) of the GitHub Sponsors listing for this user or organization.
SponsorsListingName String The full name of the GitHub Sponsors listing for this user or organization.
TotalSponsorshipAmountAsSponsorInCents Int The total amount (in cents, USD) that this user or organization has spent to sponsor others on GitHub. Only visible to the user or managers of the organization.
ResourcePath String The relative HTTP path to this user’s profile on GitHub.
ProjectsResourcePath String The relative HTTP path to the list of projects associated with this user.
Url String The absolute HTTP URL to the user’s profile on GitHub.
ProjectsUrl String The absolute HTTP URL to the list of projects associated with this user.
WebsiteUrl String A URL pointing to the user’s personal website or blog, as listed on their profile.
AvatarUrl String The URL pointing to the user’s public avatar image. Optionally accepts a 'size' argument to specify the dimensions of the square image in pixels.
CopilotEndpointsApi String The API endpoint used to interact with GitHub Copilot services.
CopilotEndpointsOriginTracker String The endpoint used by GitHub Copilot for tracking the origin of requests.
CopilotEndpointsProxy String The proxy endpoint used for routing GitHub Copilot requests.
CopilotEndpointsTelemetry String The telemetry endpoint used for collecting data related to GitHub Copilot activities and usage.
CreatedAt Datetime The date and time when the object or user was created, in ISO 8601 format.
UpdatedAt Datetime The date and time when the object or user was last updated, in ISO 8601 format.
RepositoryCount Int The total number of repositories owned by the user within the organization.
FollowerCount Int The total number of followers the user has on GitHub.
Role String The specific role assigned to the user within the organization (for example, 'member', 'admin').
HasTwoFactorEnabled Bool Indicates whether the organization member has two-factor authentication enabled. Returns null if the information is not visible to the current viewer.
OrganizationLogin [KEY] String

Organizations.Login

The login (username) of the organization associated with the member.

CData Python Connector for GitHub

OrganizationTeamMembers

Tracks team memberships within organizations, detailing roles and associated permissions for each member.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Role supports the '=,IN' comparison operators.
  • OrganizationTeamSlug supports the '=,IN' comparison operators.
  • OrganizationLogin supports the '=,IN' comparison operators.
  • Membership supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationTeamMembers]
SELECT * FROM [OrganizationTeamMembers] WHERE [Role] = 'MAINTAINER'
SELECT * FROM [OrganizationTeamMembers] WHERE [OrganizationTeamSlug] = 'Val1'
SELECT * FROM [OrganizationTeamMembers] WHERE [OrganizationLogin] = 'Val1'
SELECT * FROM [OrganizationTeamMembers] WHERE [Membership] = 'IMMEDIATE'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Login
  • CreatedAt

SELECT * FROM [OrganizationTeamMembers] ORDER BY [Login]
SELECT * FROM [OrganizationTeamMembers] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the user who is a team member.
DatabaseId Int The primary key identifier for the user in the database, used for internal reference.
Login String The username used by the team member to log in and identify their GitHub account.
Name String The publicly visible name of the team member as displayed on their GitHub profile.
Email String The publicly visible email address of the team member, if available.
TwitterUsername String The Twitter handle provided by the team member on their public profile, if available.
Pronouns String The pronouns specified by the team member on their profile (for example, they/them, she/her, he/him).
Bio String The public profile bio of the team member, providing a brief description of their background or interests.
BioHTML String The HTML-formatted version of the team member's bio for display purposes.
Company String The organization or company name listed on the team member’s public profile.
CompanyHTML String The HTML-formatted version of the team member’s company information for display purposes.
Location String The geographic location specified by the team member on their public profile.
AnyPinnableItems Bool Indicates whether the team member has any items, such as repositories or gists, that can be pinned to their profile. Can filter by item type.
PinnedItemsRemaining Int The number of additional items the team member can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the team member has pinned any repositories or gists to their profile.
IsEmployee Bool Indicates whether the team member is a GitHub employee.
IsHireable Bool Indicates whether the team member has marked themselves as available for hire.
IsBountyHunter Bool Indicates whether the team member participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the team member is a participant in the GitHub Campus Experts program.
IsFollowingViewer Bool Indicates whether the team member is following the current viewer of their profile. This is the inverse of ViewerIsFollowing.
IsSiteAdmin Bool Indicates whether the team member is a GitHub site administrator with elevated permissions.
IsDeveloperProgramMember Bool Indicates whether the team member is a participant in the GitHub Developer Program.
IsGitHubStar Bool Indicates whether the team member is a recognized member of the GitHub Stars program.
IsSponsoringViewer Bool Indicates whether the team member or their organization is financially sponsoring the current viewer.
IsViewer Bool Indicates whether the team member is the currently logged-in viewer of the profile.
ViewerCanFollow Bool Indicates whether the current viewer has the ability to follow this team member.
ViewerCanSponsor Bool Indicates whether the current viewer can sponsor this team member or their organization through GitHub Sponsors.
ViewerIsFollowing Bool Indicates whether the current viewer is following this team member.
ViewerIsSponsoring Bool Indicates whether the current viewer is sponsoring this team member or their organization through GitHub Sponsors.
ViewerCanChangePinnedItems Bool Indicates whether the current viewer has permission to pin repositories and gists to this user’s profile.
StatusId String The unique identifier (node ID) for the emoji representing the user’s status.
StatusEmoji String An emoji that visually summarizes the user’s current status or activity.
StatusMessage String A brief, user-defined message describing the user’s current activity or availability.
StatusIndicatesLimitedAvailability Bool Indicates whether the user’s status signifies limited availability on GitHub.
StatusEmojiHTML String The HTML representation of the emoji used for the user’s status.
StatusCreatedAt Datetime The date and time when the user’s status was created, in ISO 8601 format.
StatusExpiresAt Datetime The expiration date and time of the user’s status. After this date, the status is no longer displayed.
StatusUpdatedAt Datetime The date and time when the user’s status was last updated, in ISO 8601 format.
StatusOrganizationId String The unique identifier (node ID) of the organization associated with the user’s status.
StatusOrganizationLogin String The login name of the organization associated with the user’s status.
InteractionAbilityLimit String Specifies the current interaction restriction applied to this user or their content (for example, 'collaborators only').
InteractionAbilityOrigin String The source or reason for the currently active interaction restriction (for example, account settings, admin action).
InteractionAbilityExpiresAt Datetime The expiration date and time of the current interaction restriction, if applicable.
HasSponsorsListing Bool Indicates whether this user or organization has an active GitHub Sponsors listing.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated amount of the next payout from GitHub Sponsors for this user or organization, in cents (USD).
SponsorsListingId String The unique identifier (node ID) for this user’s or organization’s GitHub Sponsors listing.
SponsorsListingName String The full display name of the GitHub Sponsors listing for this user or organization.
TotalSponsorshipAmountAsSponsorInCents Int The total amount in US cents that this user or organization has spent sponsoring others on GitHub. Visible only to the user or managers of the organization.
ResourcePath String The relative HTTP path to this user’s profile on GitHub.
ProjectsResourcePath String The relative HTTP path listing the projects associated with this user.
Url String The absolute HTTP URL to the user’s GitHub profile.
ProjectsUrl String The absolute HTTP URL listing the projects associated with this user.
WebsiteUrl String A URL pointing to the user’s personal website or blog, as listed on their profile.
AvatarUrl String The URL to the user’s public avatar image. Can accept an optional 'size' parameter to specify the dimensions of the square image in pixels.
CopilotEndpointsApi String The API endpoint for interacting with GitHub Copilot services.
CopilotEndpointsOriginTracker String The endpoint used by GitHub Copilot to track the origin of requests.
CopilotEndpointsProxy String The proxy endpoint used for routing GitHub Copilot requests.
CopilotEndpointsTelemetry String The telemetry endpoint for collecting data related to GitHub Copilot activities and usage.
CreatedAt Datetime The date and time when the object or team member was created, in ISO 8601 format.
UpdatedAt Datetime The date and time when the object or team member was last updated, in ISO 8601 format.
RepositoryCount Int The total number of repositories owned by the user within the team or organization.
FollowerCount Int The total number of followers the team member has on GitHub.
MemberAccessResourcePath String The relative HTTP path to the organization's member access page.
MemberAccessUrl String The absolute HTTP URL to the organization's member access page.
Role String The specific role assigned to the team member within the team (for example, 'member', 'maintainer').

The allowed values are MAINTAINER, MEMBER.

OrganizationTeamSlug [KEY] String

OrganizationTeams.Slug

The unique slug (URL-friendly identifier) corresponding to the team within the organization.
OrganizationLogin [KEY] String

Organizations.Login

The login (username) of the organization associated with the team.
Membership String Filters team members based on their membership type (for example, 'active', 'pending').

The allowed values are IMMEDIATE, CHILD_TEAM, ALL.

CData Python Connector for GitHub

OrganizationTeamProjects

Lists projects accessible to specific teams within a GitHub organization, including details on collaboration and access rights.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Number supports the '=,IN' comparison operators.
  • OrganizationTeamSlug supports the '=,IN' comparison operators.
  • OrganizationLogin supports the '=,IN' comparison operators.
  • MinPermissionLevel supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationTeamProjects]
SELECT * FROM [OrganizationTeamProjects] WHERE [Number] = 123
SELECT * FROM [OrganizationTeamProjects] WHERE [OrganizationTeamSlug] = 'Val1'
SELECT * FROM [OrganizationTeamProjects] WHERE [OrganizationLogin] = 'Val1'
SELECT * FROM [OrganizationTeamProjects] WHERE [MinPermissionLevel] = 'READ'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Number
  • Title
  • UpdatedAt
  • CreatedAt

SELECT * FROM [OrganizationTeamProjects] ORDER BY [Number]
SELECT * FROM [OrganizationTeamProjects] ORDER BY [Title]
SELECT * FROM [OrganizationTeamProjects] ORDER BY [UpdatedAt]
SELECT * FROM [OrganizationTeamProjects] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the project.
Number Int The project’s unique number within the organization or team.
FullDatabaseId Long The primary key identifier for the project in the database, represented as a BigInt.
Title String The name or title of the project.
ShortDescription String A brief description of the project, summarizing its purpose or goals.
Readme String The README content associated with the project, providing detailed information about it.
Creator String The login (username) of the user who originally created the project.
Public Bool Indicates whether the project is public and accessible to everyone.
Template Bool Indicates whether this project serves as a template for creating new projects.
Closed Bool Indicates whether the project is currently closed.
ViewerCanClose Bool Indicates whether the current viewer has permission to close the project.
ViewerCanReopen Bool Indicates whether the current viewer has permission to reopen the project.
ViewerCanUpdate Bool Indicates whether the current viewer has permission to update the project.
ResourcePath String The relative HTTP path to access the project on GitHub.
Url String The absolute HTTP URL to access the project on GitHub.
UpdatedAt Datetime The date and time when the project was last updated, in ISO 8601 format.
ClosedAt Datetime The date and time when the project was closed, in ISO 8601 format.
CreatedAt Datetime The date and time when the project was created, in ISO 8601 format.
OrganizationTeamSlug [KEY] String

OrganizationTeams.Slug

The unique slug (URL-friendly identifier) corresponding to the team associated with the project.
OrganizationLogin [KEY] String

Organizations.Login

The login (username) of the organization associated with the project.
MinPermissionLevel String Filters projects based on the user’s minimum permission level (for example, 'read', 'write', 'admin').

The allowed values are READ, WRITE, ADMIN.

CData Python Connector for GitHub

OrganizationTeamRepositories

Tracks repositories that teams in an organization have access to, along with permission levels for each repository.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • OrganizationTeamSlug supports the '=,IN' comparison operators.
  • OrganizationLogin supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [OrganizationTeamRepositories]
SELECT * FROM [OrganizationTeamRepositories] WHERE [OrganizationTeamSlug] = 'Val1'
SELECT * FROM [OrganizationTeamRepositories] WHERE [OrganizationLogin] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Name
  • StargazerCount
  • PushedAt
  • CreatedAt
  • Permission

SELECT * FROM [OrganizationTeamRepositories] ORDER BY [Name]
SELECT * FROM [OrganizationTeamRepositories] ORDER BY [StargazerCount]
SELECT * FROM [OrganizationTeamRepositories] ORDER BY [PushedAt]
SELECT * FROM [OrganizationTeamRepositories] ORDER BY [CreatedAt]
SELECT * FROM [OrganizationTeamRepositories] ORDER BY [Permission]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the repository.
DatabaseId Int The primary key identifier for the repository in the database, used for internal reference.
Name String The name of the repository, as set by its owner.
NameWithOwner String The repository's name, prefixed with the owner's username or organization (for example, 'owner/repository-name').
Visibility String Indicates the visibility level of the repository ('public', 'private', or 'internal').
DiskUsage Int The amount of disk space (in kilobytes) that the repository occupies.
ForkCount Int The total number of forks created from this repository across the network.
StargazerCount Int The total number of users who have starred this repository.
WatcherCount Int The total number of users watching this repository for updates.
TopicCount Int The number of topics assigned to the repository to improve discoverability.
TempCloneToken String A temporary authentication token for cloning the repository.
WebCommitSignoffRequired Bool Indicates whether contributors must sign off on web-based commits to this repository.
UsesCustomOpenGraphImage Bool Indicates whether the repository uses a custom image for Open Graph instead of the owner's avatar.
Description String A brief text description of the repository, as provided by the owner.
DescriptionHTML String The HTML-rendered version of the repository's description for display purposes.
ShortDescriptionHTML String A simplified version of the repository's description, rendered in HTML without links.
ResourcePath String The relative HTTP path to access the repository on GitHub.
ProjectsResourcePath String The relative HTTP path listing the repository's associated projects.
Url String The absolute HTTP URL to the repository's main page on GitHub.
HomepageUrl String The URL of the repository's homepage, if specified.
MirrorUrl String The URL of the repository's original mirror, if applicable.
ProjectsUrl String The absolute HTTP URL listing the repository's associated projects.
SecurityPolicyUrl String The URL pointing to the repository's security policy, if available.
SSHUrl String The SSH URL used for cloning the repository.
OpenGraphImageUrl String The image used to represent this repository in Open Graph metadata.
MergeCommitTitle String Specifies how the default commit title is generated when merging a pull request (for example, 'pull request title').
MergeCommitMessage String Specifies how the default commit message is generated when merging a pull request (for example, 'pull request description').
SquashMergeCommitTitle String Specifies how the default commit title is generated when squash merging a pull request.
SquashMergeCommitMessage String Specifies how the default commit message is generated when squash merging a pull request.
DeleteBranchOnMerge Bool Indicates whether branches are automatically deleted after being merged in this repository.
HasDiscussionsEnabled Bool Indicates whether the Discussions feature is enabled for this repository.
HasIssuesEnabled Bool Indicates whether the Issues feature is enabled for this repository.
HasProjectsEnabled Bool Indicates whether the Projects feature is enabled for this repository.
HasWikiEnabled Bool Indicates whether the Wiki feature is enabled for this repository.
HasVulnerabilityAlertsEnabled Bool Indicates whether vulnerability alerts are enabled for this repository.
HasSponsorshipsEnabled Bool Indicates whether the repository displays a Sponsor button for financial contributions.
IsInOrganization Bool Indicates whether the repository is owned by an organization or is a private fork of an organization repository.
IsBlankIssuesEnabled Bool Indicates whether blank issue creation is allowed for this repository.
IsSecurityPolicyEnabled Bool Indicates whether the repository has a security policy in place.
IsUserConfigurationRepository Bool Indicates whether the repository is a user configuration repository.
IsArchived Bool Indicates whether the repository is archived and unmaintained.
IsDisabled Bool Indicates whether the repository is disabled.
IsEmpty Bool Indicates whether the repository is empty.
IsFork Bool Indicates whether the repository is a fork of another repository.
IsLocked Bool Indicates whether the repository is locked.
IsMirror Bool Indicates whether the repository is a mirror of another repository.
IsPrivate Bool Indicates whether the repository is private and not publicly accessible.
IsTemplate Bool Indicates whether the repository is a template that can be used to generate new repositories.
LockReason String The reason why the repository has been locked, if applicable.

The allowed values are BILLING, MIGRATING, MOVING, RENAME.

TemplateRepositoryId String The unique identifier (node ID) of the template repository from which this repository was generated, if any.
ParentId String The unique identifier (node ID) of the parent repository, if this repository is a fork.
ForkingAllowed Bool Indicates whether forking is allowed for this repository.
AutoMergeAllowed Bool Indicates whether Auto-merge can be enabled on pull requests for this repository.
SquashMergeAllowed Bool Indicates whether squash-merging is enabled for pull requests in this repository.
RebaseMergeAllowed Bool Indicates whether rebase-merging is enabled for pull requests in this repository.
MergeCommitAllowed Bool Indicates whether pull requests can be merged with a merge commit in this repository.
AllowUpdateBranch Bool Indicates whether pull request head branches that are behind their base branches can be updated even if it is not required for merging.
ViewerPermission String Specifies the permission level of the viewer on the repository (for example, 'read', 'write', 'admin'). Returns null if authenticated as a GitHub App.

The allowed values are ADMIN, MAINTAIN, READ, TRIAGE, WRITE.

ViewerSubscription String Indicates whether the viewer is watching, not watching, or ignoring the repository.

The allowed values are IGNORED, SUBSCRIBED, UNSUBSCRIBED.

ViewerHasStarred Bool Indicates whether the viewing user has starred this repository.
ViewerDefaultCommitEmail String The email address used by the viewer for their last commit in this repository.
ViewerDefaultMergeMethod String The last merge method used by the viewer (for example, 'merge', 'squash', 'rebase') or the repository's default merge method.
ViewerPossibleCommitEmails String A list of email addresses the viewer can use for committing in this repository.
ViewerCanAdminister Bool Indicates whether the viewer has administrative permissions on this repository.
ViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for this repository.
ViewerCanUpdateTopics Bool Indicates whether the viewer can update the topics (tags) for this repository.
CodeOfConductId String The unique identifier (node ID) of the Code of Conduct associated with this repository.
CodeOfConductName String The formal name of the Code of Conduct applied to this repository.
CodeOfConductBody String The text body of the Code of Conduct describing its rules and guidelines.
CodeOfConductKey String The unique key identifier for the Code of Conduct.
CodeOfConductUrl String The absolute HTTP URL to view the Code of Conduct for this repository.
CodeOfConductResourcePath String The relative HTTP path to view the Code of Conduct for this repository.
DefaultBranchRefId String The unique identifier (node ID) of the default branch in this repository.
DefaultBranchRefName String The name of the default branch for this repository (for example, 'main', 'master').
InteractionAbilityLimit String Specifies the current interaction restriction applied to this repository (for example, 'collaborators only').
InteractionAbilityOrigin String The source or reason for the currently active interaction restriction (for example, account settings, admin action).
InteractionAbilityExpiresAt Datetime The expiration date and time for the current interaction restriction, if applicable.
LatestReleaseId String The unique identifier (node ID) of the latest release in this repository.
LatestReleaseName String The title of the latest release in this repository.
LicenseId String The unique identifier (node ID) of the license associated with the repository.
LicenseKey String

Licenses.Key

The unique key identifier for the license associated with the repository (for example, 'mit', 'apache-2.0').
LanguageId String The unique identifier (node ID) of the primary programming language used in the repository.
LanguageName String The name of the primary programming language used in the repository (for example, 'JavaScript', 'Python').
LanguageColor String The hexadecimal color code associated with the primary programming language used in the repository.
PushedAt Datetime The date and time when the repository was last pushed to, in ISO 8601 format.
ArchivedAt Datetime The date and time when the repository was archived, in ISO 8601 format.
CreatedAt Datetime The date and time when the repository was created, in ISO 8601 format.
UpdatedAt Datetime The date and time when the repository was last updated, in ISO 8601 format.
PlanFeaturesCodeOwners Bool Indicates whether the repository supports automatic review requests and enforcement using a CODEOWNERS file.
PlanFeaturesDraftPullRequests Bool Indicates whether the repository allows pull requests to be created as drafts or converted to drafts.
PlanFeaturesMaximumAssignees Int The maximum number of users that can be assigned to an issue or pull request in this repository.
PlanFeaturesMaximumManualReviewRequests Int The maximum number of manually requested reviews allowed on a pull request in this repository.
PlanFeaturesTeamReviewRequests Bool Indicates whether teams can be requested to review pull requests in this repository.
Permission String The permission level that the team has on the repository (for example, 'read', 'write', 'admin', 'maintain', 'triage').
OrganizationTeamSlug [KEY] String

OrganizationTeams.Slug

The URL-friendly identifier (slug) for the team associated with the repository.
OrganizationLogin [KEY] String

Organizations.Login

The login (username) of the organization associated with the repository.

CData Python Connector for GitHub

Projects

Holds metadata and organization-related details for GitHub projects, enabling structured project tracking.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • OwnerLogin supports the '=,IN' comparison operators.
  • Number supports the '=,IN' comparison operators.
  • MinPermissionLevel supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Projects]
SELECT * FROM [Projects] WHERE [OwnerLogin] = 'Val1'
SELECT * FROM [Projects] WHERE [Number] = 123
SELECT * FROM [Projects] WHERE [MinPermissionLevel] = 'READ'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Number
  • Title
  • UpdatedAt
  • CreatedAt

SELECT * FROM [Projects] ORDER BY [Number]
SELECT * FROM [Projects] ORDER BY [Title]
SELECT * FROM [Projects] ORDER BY [UpdatedAt]
SELECT * FROM [Projects] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier (node ID) of the project.
OwnerLogin String The login (username) of the owner of the project, which could be a user or an organization.
Number Int The unique number assigned to the project within its scope (for example, repository, organization).
FullDatabaseId Long The primary key identifier for the project in the database, represented as a BigInt.
Title String The name or title of the project, as set by its creator.
ShortDescription String A brief description of the project, summarizing its purpose or goals.
Readme String The README content associated with the project, providing detailed information or instructions.
Creator String The login (username) of the user who originally created the project.
Public Bool Indicates whether the project is public and accessible to everyone.
Template Bool Indicates whether the project is a template that can be used to create new projects.
Closed Bool Indicates whether the project is currently closed and no longer active.
ViewerCanClose Bool Indicates whether the current viewer has permission to close the project.
ViewerCanReopen Bool Indicates whether the current viewer has permission to reopen the project.
ViewerCanUpdate Bool Indicates whether the current viewer has permission to update the project.
ResourcePath String The relative HTTP path to access the project on GitHub.
Url String The absolute HTTP URL to access the project on GitHub.
UpdatedAt Datetime The date and time when the project was last updated, in ISO 8601 format.
ClosedAt Datetime The date and time when the project was closed, in ISO 8601 format.
CreatedAt Datetime The date and time when the project was created, in ISO 8601 format.
MinPermissionLevel String Filters projects based on the user’s minimum permission level (for example, 'read', 'write', 'admin').

The allowed values are READ, WRITE, ADMIN.

CData Python Connector for GitHub

RepositoryCodeScanningAnalyses

Lists code scanning analyses.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • OwnerLogin supports the '=' comparison operator.
  • RepositoryName supports the '=' comparison operator.
  • Id supports the '=' comparison operator.
  • Ref supports the '=' comparison operator.
  • SarifId supports the '=' comparison operator.
  • ToolName supports the '=' comparison operator.
  • ToolGuid supports the '=' comparison operator.
  • PullRequestNumber supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [RepositoryCodeScanningAnalyses]
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [OwnerLogin] = 'Val1'
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [RepositoryName] = 'Val1'
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [Id] = 123
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [Ref] = 'Val1'
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [SarifId] = 'Val1'
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [ToolName] = 'Val1'
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [ToolGuid] = 'Val1'
SELECT * FROM [RepositoryCodeScanningAnalyses] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: CreatedAt

SELECT * FROM [RepositoryCodeScanningAnalyses] ORDER BY [CreatedAt]

The connector processes ordering by other columns client-side within the connector.

Columns

Name Type References OrderBySupport Description
OwnerLogin String The organization's login name.
RepositoryName String The name of the repository.
Id [KEY] Int Unique identifier for this analysis.
Ref String The Git reference (e.g., refs/heads/main, refs/pull/123/merge).
CommitSha String The SHA of the commit to which the analysis relates.
AnalysisKey String Identifies the configuration under which the analysis was executed (e.g., workflow filename and job name).
Environment String Identifies the variable values associated with the environment.
Category String Identifies the configuration under which the analysis was executed (e.g., language or code section).
Error String Error message if the analysis failed.
Warning String Warning generated when processing the analysis.
Url String The REST API URL of the analysis resource.
SarifId String An identifier for the SARIF upload.
ResultsCount Int The total number of results in the analysis.
RulesCount Int The total number of rules used in the analysis.
ToolName String The name of the tool used to generate the code scanning analysis.
ToolGuid String The GUID of the tool used to generate the code scanning analysis.
ToolVersion String The version of the tool used to generate the code scanning analysis.
CreatedAt Datetime The time that the analysis was created.
Deletable Bool Whether this analysis can be deleted.
PullRequestNumber Int The number of the pull request for the results you want to list.

CData Python Connector for GitHub

RepositoryLabels

Lists information about labels in repositories.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The ID of the label.
Name String The name of the label.
Description String A brief description of this label.
Color String Identifies the label color.
IsDefault Bool Indicates whether or not this is a default label.
ResourcePath String The HTTP path for this label.
Url String The HTTP URL for this label.
UpdatedAt Datetime Identifies the date and time when the label was last updated.
CreatedAt Datetime Identifies the date and time when the label was created.
RepositoryId String The ID of the repository.
RepositoryName String The name of the repository.
OwnerLogin String The login field of a user or organization.

CData Python Connector for GitHub

RepositoryReleases

Lists information about releases in repositories.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The ID of the release.
DatabaseId Int Identifies the primary key from the database.
Name String The title of the release.
Description String The description of the release.
ShortDescriptionHTML String A description of the release, rendered to HTML without any links in it. Arguments limit (Int) How many characters to return. The default value is 200.
DescriptionHTML String The description of this release rendered to HTML.
Immutable Bool Whether or not the release is immutable.
IsDraft Bool Whether or not the release is a draft.
IsLatest Bool Whether or not the release is the latest release.
IsPrerelease Bool Whether or not the release is a prerelease.
ViewerCanReact Bool Can user react to this subject?
AuthorId String The author's ID of the release.
Author String The author's login name of the release.
TagId String The ID of the release's Git tag.
TagName String The name of the release's Git tag.
TagCommitId String The ID of the release's Git tag commit.
TagCommitOid String The SHA of the release's Git tag commit.
Url String The HTTP URL for this release.
ResourcePath String The HTTP path for this release.
CreatedAt Datetime Identifies the date and time when the object was created.
PublishedAt Datetime Identifies the date and time when the release was created.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
RepositoryId String The ID of the repository.
RepositoryName String The name of the repository.
OwnerLogin String The login field of a user or organization.

CData Python Connector for GitHub

SecurityAdvisories

Lists GitHub Security Advisories.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Id supports the '=,IN' comparison operators.
  • GhsaId supports the '=,IN' comparison operators.
  • Classification supports the '=,IN' comparison operators.
  • EpssPercentage supports the '=' comparison operator.
  • EpssPercentile supports the '=' comparison operator.
  • PublishedAt supports the '>' comparison operator.
  • UpdatedAt supports the '>' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [SecurityAdvisories]
SELECT * FROM [SecurityAdvisories] WHERE [Id] = 'Val1'
SELECT * FROM [SecurityAdvisories] WHERE [GhsaId] = 'Val1'
SELECT * FROM [SecurityAdvisories] WHERE [Classification] = 'GENERAL'
SELECT * FROM [SecurityAdvisories] WHERE [EpssPercentage] = 123
SELECT * FROM [SecurityAdvisories] WHERE [EpssPercentile] = 123
SELECT * FROM [SecurityAdvisories] WHERE [PublishedAt] > '2023-01-01 11:10:00'
SELECT * FROM [SecurityAdvisories] WHERE [UpdatedAt] > '2023-01-01 11:10:00'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • EpssPercentage
  • EpssPercentile
  • PublishedAt
  • UpdatedAt

SELECT * FROM [SecurityAdvisories] ORDER BY [EpssPercentage]
SELECT * FROM [SecurityAdvisories] ORDER BY [EpssPercentile]
SELECT * FROM [SecurityAdvisories] ORDER BY [PublishedAt]
SELECT * FROM [SecurityAdvisories] ORDER BY [UpdatedAt]

The connector processes ordering by other columns client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The Node ID of the SecurityAdvisory object.
DatabaseId Int Identifies the primary key from the database.
GhsaId String The GitHub Security Advisory ID.
Summary String A short plaintext summary of the advisory.
Description String A long-form Markdown-supported description of the advisory.
Origin String The organization that originated the advisory.
Classification String The classification of the advisory.

The allowed values are GENERAL, MALWARE.

Identifiers String A list of identifiers for this advisory.
References String A list of references for this advisory.
Permalink String The permalink for the advisory.
NotificationsPermalink String The permalink for the advisory's dependabot alerts.
Severity String The severity of the advisory.

The allowed values are LOW, MODERATE, HIGH, CRITICAL.

EpssPercentage Decimal The EPSS percentage represents the likelihood of a CVE being exploited.
EpssPercentile Decimal The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs.
CvssV3Score Decimal The CVSS score associated with this advisory.
CvssV3VectorString String The CVSS vector string associated with this advisory.
CvssV4Score Decimal The CVSS score associated with this advisory.
CvssV4VectorString String The CVSS vector string associated with this advisory.
PublishedAt Datetime When the advisory was published.
UpdatedAt Datetime When the advisory was last updated.
WithdrawnAt Datetime When the advisory was withdrawn, if it has been withdrawn.

CData Python Connector for GitHub

SecurityAdvisoryCommonWeaknessEnumerations

Lists Common Weakness Enumerations (CWEs) associated with GitHub Security Advisories.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • AdvisoryId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [SecurityAdvisoryCommonWeaknessEnumerations]
SELECT * FROM [SecurityAdvisoryCommonWeaknessEnumerations] WHERE [AdvisoryId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The Node ID of the CWE object.
AdvisoryId [KEY] String The Node ID of the SecurityAdvisory object to filter CWEs by.
CweId String The CWE identifier (e.g., CWE-79, CWE-89).
Name String The name of this CWE.
Description String A detailed description of this CWE.

CData Python Connector for GitHub

SecurityVulnerabilities

Lists software vulnerabilities documented by GitHub Security Advisories.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • PackageName supports the '=' comparison operator.
  • PackageEcosystem supports the '=' comparison operator.
  • Severity supports the '=,IN' comparison operators.
  • GhsaId supports the '=,IN' comparison operators.
  • AdvisoryId supports the '=,IN' comparison operators.
  • AdvisoryClassification supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [SecurityVulnerabilities]
SELECT * FROM [SecurityVulnerabilities] WHERE [PackageName] = 'Val1'
SELECT * FROM [SecurityVulnerabilities] WHERE [PackageEcosystem] = 'ACTIONS'
SELECT * FROM [SecurityVulnerabilities] WHERE [Severity] = 'LOW'
SELECT * FROM [SecurityVulnerabilities] WHERE [GhsaId] = 'Val1'
SELECT * FROM [SecurityVulnerabilities] WHERE [AdvisoryId] = 'Val1'
SELECT * FROM [SecurityVulnerabilities] WHERE [AdvisoryClassification] = 'GENERAL'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: UpdatedAt

SELECT * FROM [SecurityVulnerabilities] ORDER BY [UpdatedAt]

The connector processes ordering by other columns client-side within the connector.

Columns

Name Type References OrderBySupport Description
PackageName String The package name.
PackageEcosystem String The ecosystem the package belongs to (e.g., RUBYGEMS, NPM, MAVEN, PIP, NUGET, etc.).

The allowed values are ACTIONS, COMPOSER, ERLANG, GO, MAVEN, NPM, NUGET, PIP, PUB, RUBYGEMS, RUST, SWIFT.

Severity String The severity of the vulnerability within this package.

The allowed values are LOW, MODERATE, HIGH, CRITICAL.

VulnerableVersionRange String A string that describes the vulnerable package versions. Follows syntax like: '= 0.2.0', '<= 1.0.8', '>= 4.3.0,< 4.3.5'.
FirstPatchedVersionIdentifier String The first version containing a fix for the vulnerability.
UpdatedAt Datetime When the vulnerability was last updated.
GhsaId String The GitHub Security Advisory ID.
AdvisoryId String The Node ID of the SecurityAdvisory object associated with this vulnerability.
AdvisoryClassification String The classification of the advisory.

The allowed values are GENERAL, MALWARE.

CData Python Connector for GitHub

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with GitHub.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from GitHub, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for GitHub Stored Procedures

Name Description
AddCollaborator Adds a user to a repository with a specified permission level, updating existing access if necessary. Enterprise Managed Users are added directly, while others receive an invitation.
CloneTemplateRepository Duplicates the files and structure of a template repository to create a new repository, streamlining the setup process for consistent project creation.
CommitCompare Compares two commits against one another. You can compare references (branches or tags) and commit SHAs in the same repository, or you can compare references and commit SHAs that exist in different repositories within the same repository network, including fork branches.
CreateCommitOnBranch Appends a commit to the given branch of the procedure's repository as the authenticated user.
DeleteCodeScanningAnalysis Deletes an analysis by Id, or deletes the matched set of analyses in reverse chronological order. Deleting the final remaining analysis in a set requires explicitly confirming the deletion because it removes all associated historical alert data.
DeleteRepository Delete a repository from GitHub.
DownloadFile Facilitates downloading specific files from a GitHub repository for offline access or local reference.
GetCurrentlyAuthenticatedUser Fetches comprehensive details about the currently authenticated GitHub user, including username and account preferences.
GetOAuthAccessToken Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.
GetOAuthAuthorizationURL Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
MergePullRequest Automates the merging of an open pull request into the target branch, integrating proposed changes into the main codebase.
RefreshOAuthAccessToken Refreshes an expired OAuth Access token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.
RemoveCollaborator Removes a collaborator from a repository, revoking their access, unstarring repositories, canceling invitations, unassigning issues, denying pull requests, updating related permissions and may delete forks.
UpdatePullRequestBranch Merge or Rebase HEAD from upstream branch into pull request branch.
UploadFile Enables users to upload files directly to a specified GitHub repository for collaborative purposes.

CData Python Connector for GitHub

AddCollaborator

Adds a user to a repository with a specified permission level, updating existing access if necessary. Enterprise Managed Users are added directly, while others receive an invitation.

Sample


EXECUTE [Information].[AddCollaborator] Login='user', Permission='push'

Input

Name Type Required Description
OwnerLogin String False The owner of the repository.
Repository String True The name of the repository.
Login String True The handle for the user account.
Permission String False The permission to grant the collaborator.

Result Set Columns

Name Type Description
Id String The Node ID of the invitation if generated.
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

CloneTemplateRepository

Duplicates the files and structure of a template repository to create a new repository, streamlining the setup process for consistent project creation.

Input

Name Type Required Description
RepositoryId String True The unique node ID of the template repository from which the new repository is cloned.
OwnerId String True The unique ID of the user or organization that owns the newly created repository.
Name String True The name for the new repository being created. It must be unique within the owner's account.
Description String False A brief, user-defined summary or explanation about the purpose of the new repository.
Visibility String True Defines the access level of the new repository: 'public', 'private', or 'internal' (internal is for organizations only).

The allowed values are PRIVATE, PUBLIC, INTERNAL.

IncludeAllBranches Boolean False Specifies if all branches of the template repository should be cloned to the new repository. Defaults to 'false', which clones only the default branch.

Result Set Columns

Name Type Description
Success Boolean Indicates if the repository cloning process completed successfully. Returns a Boolean value.
Details String Provides additional information or context about the cloning operation, including error messages if applicable.
RepositoryId String The unique node ID assigned to the newly created repository.

CData Python Connector for GitHub

CommitCompare

Compares two commits against one another. You can compare references (branches or tags) and commit SHAs in the same repository, or you can compare references and commit SHAs that exist in different repositories within the same repository network, including fork branches.

Sample

The 'Base' and 'Head' parameters are required.

EXEC [CommitCompare] Repository='test', Base='main', Head='feature'

Input

Name Type Required Description
OwnerLogin String False The login field of a GitHub entity.
Repository String True The name of the repository.
Base String True The reference that serves as the BASE for a comparison.
Head String True The reference that serves as the HEAD for a comparison.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.
Url String A URL to the generated comparison.
HtmlUrl String An HTML URL to view this comparison in a web browser
PermalinkUrl String A permanent URL to the comparison.
DiffUrl String A URL that shows the differences between the two references.
PatchUrl String A URL to the comparison patch.
Status String The status of the HEAD compared to the BASE (e.g. ahead, behind, identical).
AheadBy Integer This indicates how many commits the HEAD has that the BASE does not.
BehindBy Integer This indicates how many commits the HEAD lacks compared to the BASE.
TotalCommits Integer The total number of commits between the two references.

CData Python Connector for GitHub

CreateCommitOnBranch

Appends a commit to the given branch of the procedure's repository as the authenticated user.

Sample


EXECUTE [Information].[CreateCommitOnBranch] @OwnerLogin='owner_login', @RepositoryName='repository_name', @BranchName='branch_name', @MessageBody='commit_message_body', @MessageHeadline='commit_message_headline', @ExpectedHeadOid='expected_head_oid', @FileChangeAdditions='[{"contents":"base64_content_1","path":"file1.txt"},{"contents":"base64_content_2","path":"file2.txt"}]', @FileChangeDeletions='[{"path":"file_to_delete1.txt"},{"path":"file_to_delete2.txt"}]'

Input

Name Type Required Description
OwnerLogin String False The owner of the repository.
RepositoryName String True The name of the repository.
BranchName String True The unqualified name of the branch to append the commit to.
ExpectedHeadOid String True The git commit oid expected at the head of the branch prior to the commit.
MessageBody String False The commit message the be included with the commit. The body of the message.
MessageHeadline String True The commit message the be included with the commit. The headline of the message.
FileChangeAdditions String False File to add or change.
FileChangeDeletions String False Files to delete.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.
CommitId String The ID of the new commit.

CData Python Connector for GitHub

DeleteCodeScanningAnalysis

Deletes an analysis by Id, or deletes the matched set of analyses in reverse chronological order. Deleting the final remaining analysis in a set requires explicitly confirming the deletion because it removes all associated historical alert data.

Sample


EXECUTE [DeleteCodeScanningAnalysis] Repository='test', Id='1234', ConfirmDeleteLast=true
EXECUTE [DeleteCodeScanningAnalysis] Repository='test', Ref='456', ToolName='789', Category='423', ConfirmDeleteLast=true

Input

Name Type Required Description
OwnerLogin String False The login field of a GitHub entity.
Repository String True The name of the repository.
Id Int False The ID of the analysis to delete. If specified, all filtering inputs are ignored.
Ref String False Git reference to filter analyses.
ToolGuid String False Tool GUID to filter analyses. If specified, ToolName is ignored.
ToolName String False Tool name to filter analyses.
Category String False Analysis category to filter.
ConfirmDeleteLast Boolean False Confirms and allows deletion if the specified analysis is the last in a set.

Result Set Columns

Name Type Description
NextId String Id of the next deletable analysis, if any remains.
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

DeleteRepository

Delete a repository from GitHub.

Sample

The 'Repository' parameter is required.

EXECUTE [Information].[DeleteRepository] Repository='myRepository', OwnerLogin='test'

Input

Name Type Required Description
OwnerLogin String False The account owner of the repository. The name is not case sensitive.
Repository String True The name of the repository without the .git extension. The name is not case sensitive.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

DownloadFile

Facilitates downloading specific files from a GitHub repository for offline access or local reference.

Sample

The 'Path' parameter is required, and must be relative to the repository root without a preceding '/'.

EXECUTE [Information].[DownloadFile] LocalPath='/tmp/file.txt', Repository='myRepository', Branch='main', Path='ReadMe.md'
Provide a value for OwnerLogin to download files form repositories of other owners.
EXECUTE [Information].[DownloadFile] LocalPath='C:/Users/CData/Desktop/file.txt', OwnerLogin='cdata' Repository='publicRepository', Branch='main', Path='src/Main.java'

Input

Name Type Required Description
Path String True The relative path of the file within the repository, starting from the repository root.
Repository String False The name of the repository from which the file is downloaded.
OwnerLogin String False The username or organization name that owns the repository containing the file.
Branch String False The branch of the repository to download the file from. Defaults to 'main' if not specified.

The default value is main.

LocalPath String False The absolute file path on the local system where the downloaded file is saved. This is optional if using OutputStream.

Result Set Columns

Name Type Description
Success Boolean Indicates whether the file download operation completed successfully. Returns a Boolean value.
Details String Provides additional information about the operation's execution, including error messages if the operation failed.
FileData String Outputs the file's content as a BASE64-encoded string if both LocalPath and OutputStream are not specified.

CData Python Connector for GitHub

GetCurrentlyAuthenticatedUser

Fetches comprehensive details about the currently authenticated GitHub user, including username and account preferences.

Sample


EXECUTE [Information].[GetCurrentlyAuthenticatedUser]

Result Set Columns

Name Type Description
Id String The unique identifier (node ID) of the authenticated user.
Login String The username of the authenticated user, used for login and identification.
Bio String The public profile bio of the authenticated user, providing a brief personal or professional description.
BioHTML String The HTML-formatted version of the user's public profile bio, suitable for display purposes.
AvatarUrl String The URL pointing to the user's public avatar image.
Name String The public profile name of the authenticated user, as displayed on their GitHub profile.
Company String The user's publicly listed company or organization affiliation.
CompanyHTML String The HTML-formatted version of the user's company information, suitable for display purposes.
CreatedAt Datetime The date and time when the user's account was created, in ISO 8601 format.
Email String The publicly visible email address of the user, if available.
IsBountyHunter Bool Indicates whether the user participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a member of the GitHub Campus Experts program.
IsDeveloperProgramMember Bool Indicates whether the user is a participant in the GitHub Developer Program.
IsEmployee Bool Indicates whether the user is an employee of GitHub.
IsHireable Bool Indicates whether the user has marked themselves as available for hire.
IsSiteAdmin Bool Indicates whether the user is a GitHub site administrator with elevated permissions.
IsViewer Bool Indicates whether the authenticated user is the one currently viewing this information.
Location String The geographic location specified in the user's public profile.
PinnedItemsRemaining Integer The number of additional items the user can pin to their profile.
ProjectsUrl String The HTTP URL that lists the user's projects on GitHub.
ResourcePath String The relative HTTP path to the authenticated user's profile.
TwitterUsername String The Twitter handle associated with the user's public profile, if provided.
UpdatedAt Datetime The date and time when the user's profile was last updated, in ISO 8601 format.
URL String The absolute HTTP URL to the user's profile on GitHub.
ViewerCanChangePinnedItems Bool Indicates whether the current viewer can pin repositories and gists to the user's profile.
ViewerCanFollow Bool Indicates whether the current viewer has the ability to follow the user.
ViewerIsFollowing Bool Indicates whether the current viewer is following this user.
WebsiteUrl String A URL pointing to the user's public website or blog, if provided.

CData Python Connector for GitHub

GetOAuthAccessToken

Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.

Input

Name Type Required Description
AuthMode String False Specifies the authentication mode to use for obtaining the OAuth access token. Allowed values are 'APP' for app-based authentication and 'WEB' for web-based authentication.
Verifier String False The verifier token provided by GitHub after completing the authorization process using the URL obtained with GetOAuthAuthorizationURL. Required only when 'AuthMode' is set to 'WEB'.
Scope String False A comma-separated list of scopes defining the permissions being requested by the application (for example, 'repo', 'user').
CallbackUrl String False The URL to which the user is redirected after authorizing your application. It should match the callback URL registered with the GitHub app.
State String False A user-defined value passed to GitHub and returned in the response, used for maintaining application state or for security purposes (for example, CSRF protection or nonces).

Result Set Columns

Name Type Description
OAuthAccessToken String The OAuth Access Token issued by GitHub, used for authenticating API requests.
OAuthRefreshToken String An OAuth Refresh Token provided by GitHub, used to obtain a new access token without requiring user reauthorization.
ExpiresIn String The duration in seconds for which the access token is valid before expiration.

CData Python Connector for GitHub

GetOAuthAuthorizationURL

Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.

Input

Name Type Required Description
CallbackUrl String False The URL to which GitHub redirects the user after they authorize your application. It must match the callback URL registered with your GitHub app.
Scope String False A comma-separated list of scopes that specify the permissions your application is requesting from the user (for example, 'repo', 'user').
State String False A user-defined value sent to GitHub and returned in the response to maintain application state or ensure security (for example, for CSRF protection or redirecting the user to a specific resource).

Result Set Columns

Name Type Description
URL String The generated URL that the user must visit in their web browser to authorize your application and obtain a verifier token.

CData Python Connector for GitHub

MergePullRequest

Automates the merging of an open pull request into the target branch, integrating proposed changes into the main codebase.

Input

Name Type Required Description
PullRequestId String True Specifies the unique identifier (ID) for the pull request that is being merged. This is a required parameter to identify the specific pull request to operate on.
CommitHeadline String False Specifies the title for the merge commit message. If this is not provided, a default commit message is generated automatically to describe the merge action.
CommitBody String False Specifies the detailed description for the merge commit message. If this is not supplied, a default description is created to summarize the merge process.
ExpectedHeadOid String False Represents the expected commit object ID (OID) of the pull request's head branch. The merge operation proceeds only if the OID matches the current state. If this is left empty, no validation is performed, and the merge proceeds regardless of the branch state.
MergeMethod String False Defines the merging strategy to use when combining the pull request's changes into the target branch. Options include 'MERGE', 'SQUASH', or 'REBASE'. If this is not specified, the default method used is 'MERGE'.

The allowed values are MERGE, SQUASH, REBASE.

AuthorEmail String False Specifies the email address to associate with the merge commit's author. This field helps track who is responsible for the merge in the commit history.

Result Set Columns

Name Type Description
Success Boolean Indicates whether the merge was successful. A 'true' value signifies the merge was completed without issues, while a 'false' value means an error occurred during the merge process.
Details String Provides additional details or error messages related to the merge operation. This can include any warnings or specific issues encountered during the merge attempt.
PullRequestId String Represents the unique identifier of the pull request that was successfully merged. This ensures you can track which pull request was processed in the merge operation.

CData Python Connector for GitHub

RefreshOAuthAccessToken

Refreshes an expired OAuth Access token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

Input

Name Type Required Description
OAuthRefreshToken String True The OAuth Refresh Token received with the original access token, used to request a new access token.

Result Set Columns

Name Type Description
OAuthAccessToken String The refreshed OAuth Access Token to be included in requests for access to protected resources.
OAuthRefreshToken String The new OAuth Refresh Token to be used for future token refresh requests.
ExpiresIn String The duration in seconds before the new access token expires. Defaults to 1440 seconds (24 minutes).

CData Python Connector for GitHub

RemoveCollaborator

Removes a collaborator from a repository, revoking their access, unstarring repositories, canceling invitations, unassigning issues, denying pull requests, updating related permissions and may delete forks.

Sample


EXECUTE [Information].[RemoveCollaborator] Login='user'

Input

Name Type Required Description
OwnerLogin String False The owner of the repository.
Repository String True The name of the repository.
Login String True The collaborator's username used to login.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

UpdatePullRequestBranch

Merge or Rebase HEAD from upstream branch into pull request branch.

Input

Name Type Required Description
PullRequestId String True The Node ID of the pull request.
ExpectedHeadOid String False The head ref oid for the upstream branch.
UpdateMethod String False The update branch method to use. If omitted, defaults to 'MERGE'.

The allowed values are MERGE, REBASE.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.
PullRequestId String The ID of the updated pull request.

CData Python Connector for GitHub

UploadFile

Enables users to upload files directly to a specified GitHub repository for collaborative purposes.

Sample

The 'Path' parameter is required, and must be relative to the repository root without a preceding '/'.

EXECUTE  [Information].[UploadFile] Repository = 'HelloGit', Path = 'testFileUploadFromProcedure.txt', LocalPath = 'C:/Users/CData/Desktop/project/file.txt', CommitMessage = 'test'

EXECUTE  [Information].[UploadFile] Repository = 'HelloGit', Path = 'src/Main.java', FileData = 'aGVsbG8gd29ybGQh', CommitMessage = 'test', Branch = 'master', CommitterName = 'CData', CommitterEmail = 'support@cdata.com', AuthorName = 'CDataSupport', AuthorEmail = 'support@cdata.com'

Set SHA to replace an existing file.

EXECUTE  [UploadFile] Repository = 'HelloGit', Path = 'src/Main.java', FileData = 'aGVsbG8gd29ybGQh', CommitMessage = 'test', SHA = 'bc7774a7b18deb1d7bd0212d34246a9b1260ae17'

Input

Name Type Required Description
Path String True The file path relative to the repository root where the file will be uploaded.
Repository String False The name of the repository where the file will be uploaded.
OwnerLogin String False The login (username) of the owner of the repository.
Branch String False The branch to which the file will be uploaded. Defaults to 'main' if not specified.

The default value is main.

CommitMessage String True The commit message describing the changes made by the file upload.
SHA String False The hash of the file, used to update existing files. Required if the file already exists.
CommitterName String False The name of the person committing the file. Defaults to the authenticated user if not specified.
CommitterEmail String False The email of the person committing the file. Defaults to the authenticated user if not specified.
AuthorName String False The name of the author of the file upload. Defaults to the committer or the authenticated user if not specified.
AuthorEmail String False The email of the author of the file upload. Defaults to the committer or the authenticated user if not specified.
LocalPath String False The absolute file path on the local system from which the file data is read.
FileData String False A Base64-encoded string representation of the file content. Used if both LocalPath and InputStream are not provided.

Result Set Columns

Name Type Description
Success Boolean Indicates whether the file upload operation was successful.
Details String Additional details about the execution of the file upload operation.
CommitSHA String The unique hash of the commit created by the file upload.
FileSHA String The unique hash of the uploaded file node.

CData Python Connector for GitHub

Gist Data Model

In the Gist Data Model, the connector models gists associated with the authenticated account—including their files, comments, forks, and commits—as an easy-to-use SQL database. Live connectivity to these objects means that any changes to your GitHub account are immediately reflected in the connector. Note that retrieving gists is not supported for Enterprise Managed Users.

Tables

The following Tables are shipped with the connector:

Name Description
Comments Lists comments on gists.
Files Lists up to three hundred files for each gist at their most recent revisions, including up to one megabyte of content per file.
Gists Lists gists at their most recent revisions.
Parents Lists parent gist information for forked gists.

Views

The following Views are shipped with the connector:

Name Description
CommentEdits Lists edit history for gist comments.
CommitFiles Lists up to three hundred files for each gist at every revision, including up to one megabyte of content per file.
Commits Lists the commit history of gists.
Forks Lists gist forks.
Stargazers Lists information about the users who have starred gists.
Starred Lists starred gists for the authenticated user.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including getting the currently authenticated user or retrieving and refreshing OAuth access tokens.

The following procedures are shipped with the connector:

Name Description
DownloadFile Download a file from a gist.
GetCurrentlyAuthenticatedUser Retrieves information about the currently authenticated user.
GetOAuthAccessToken Gets the OAuth access token from GitHub.
GetOAuthAuthorizationURL Gets the GitHub authorization URL. Access the URL returned in the output in a Web browser. This requests the access token that can be used as part of the connection string to GitHub.
IsGistStarred Checks if a gist is starred by the authenticated user.
RefreshOAuthAccessToken Refreshes the OAuth access token used for authentication.
StarGist Stars a gist for the authenticated user.
UnstarGist Unstar a gist for the authenticated user.

CData Python Connector for GitHub

Tables

The connector models the data in GitHub as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for GitHub Tables

Name Description
Comments Lists comments on gists.
Files Lists up to three hundred files for each gist at their most recent revisions, including up to one megabyte of content per file.
Gists Lists gists at their most recent revisions.
Parents Lists parent gist information for forked gists.

CData Python Connector for GitHub

Comments

Lists comments on gists.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • GistId supports the '=,IN' comparison operators.
  • Id supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Comments]
SELECT * FROM [Comments] WHERE [GistId] = 'Val1'
SELECT * FROM [Comments] WHERE [Id] = 'Val1'

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • GistName
  • Body

INSERT INTO [Comments] ([GistName], [Body]) VALUES ('d7e43b9c1a285c14f62af9803e1d47c8', 'Forked.')

Update

Note: You can only update comments that you authored.

You can use the following column to update a record:

  • Body

UPDATE [Comments] SET [Body] = 'Changed' WHERE ([GistName] = 'd7e43b9c1a285c14f62af9803e1d47c8') AND ([DatabaseId] = '5797577')

Delete

Note: You can only delete comments that you authored.

You can specify the following columns to delete a record:

  • GistName
  • DatabaseId

DELETE FROM [Comments] WHERE ([GistName] = 'd7e43b9c1a285c14f62af9803e1d47c8') AND ([DatabaseId] = '5797583')

Columns

Name Type ReadOnly References Description
GistId String True

The node ID of the gist.

GistName String False

Gists.Name

The gist identifier.

Id [KEY] String True

The Node ID of the GistComment object.

DatabaseId Int True

Identifies the primary key from the database.

Body String False

The comment body.

BodyText String True

The comment body rendered to text.

BodyHTML String True

The comment body rendered to HTML.

Author String True

The username of the actor who authored the comment.

AuthorAssociation String True

Author's association with the gist.

Editor String True

The username of the actor who edited the comment.

IsMinimized Bool True

Returns whether or not a comment has been minimized.

MinimizedReason String True

Returns why the comment was minimized.

CreatedViaEmail Bool True

Check if this comment was created via an email reply.

IncludesCreatedEdit Bool True

Check if this comment was edited and includes an edit with the creation data.

CreatedAt Datetime True

Identifies the date and time when the object was created.

UpdatedAt Datetime True

Identifies the date and time when the object was last updated.

PublishedAt Datetime True

Identifies when the comment was published at.

LastEditedAt Datetime True

The moment the editor made the last edit.

ViewerDidAuthor Bool True

Did the viewer author this comment.

ViewerCanDelete Bool True

Check if the current viewer can delete this object.

ViewerCanMinimize Bool True

Check if the current viewer can minimize this object.

ViewerCanUnminimize Bool True

Check if the current viewer can unminimize this object.

ViewerCanUpdate Bool True

Check if the current viewer can update this object.

ViewerCannotUpdateReasons String True

Reasons why the current viewer can not update this comment.

OwnerLogin String True

The username of the gist owner.

CData Python Connector for GitHub

Files

Lists up to three hundred files for each gist at their most recent revisions, including up to one megabyte of content per file.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • GistName supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Files]
SELECT * FROM [Files] WHERE [GistName] = 'Val1'

The connector processes other filters client-side within the connector.

Upsert

You can use the following columns to upsert a record:

  • GistName
  • Name
  • Content

UPSERT INTO [Files] ([GistName], [Name], [Content]) VALUES ('d7e43b9c1a285c14f62af9803e1d47c8', 'Test.txt', 'Text')

Update

You can use the following column to update a record:

  • Name

UPDATE [Files] SET [Name] = 'Changed.txt' WHERE ([Name] = 'Test.txt') AND ([GistName] = 'd7e43b9c1a285c14f62af9803e1d47c8')

Delete

You can specify the following columns to delete a record:

  • GistName
  • Name

DELETE FROM [Files] WHERE ([Name] = 'Test.txt') AND ([GistName] = 'd7e43b9c1a285c14f62af9803e1d47c8')

Columns

Name Type ReadOnly References Description
GistName [KEY] String False

Gists.Name

The gist identifier.

Name [KEY] String False

The file name.

Size Int True

The file size in bytes.

Type String True

The type of the file.

Language String True

The programming language of the file.

Encoding String True

The character encoding of the file.

Truncated Bool True

Indicates whether the file content has been truncated. If truncated, only up to one megabyte of content is returned.

Content String False

The file content.

RawUrl String True

The raw content URL of the file.

OwnerLogin String True

The username of the gist owner.

CData Python Connector for GitHub

Gists

Lists gists at their most recent revisions.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Name supports the '=' comparison operator.
  • UpdatedAt supports the '>=,>' comparison operators.
  • OwnerLogin supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Gists]
SELECT * FROM [Gists] WHERE [Name] = 'Val1'
SELECT * FROM [Gists] WHERE [UpdatedAt] >= '2023-01-01 11:10:00'
SELECT * FROM [Gists] WHERE [OwnerLogin] = 'Val1'

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Public
  • Description

You can use the following pseudo-column to create a new record: Files (references Files)

INSERT INTO [Gists] ([Description], [Public], [Files]) VALUES ('Test description.', false, '[{"Name":"A.txt","Content":"TextA"},{"Name":"B.txt","Content":"TextB"}]')

INSERT INTO [Files#TEMP] ([Name],[Content]) VALUES ('A.txt','TextA')
INSERT INTO [Files#TEMP] ([Name],[Content]) VALUES ('B.txt','TextB')
INSERT INTO [Gists] ([Description], [Public], [Files]) VALUES ('Test description.', false, 'Files#TEMP')

Files Temporary Table Columns

Column NameTypeDescription
NameStringThe file name.
ContentStringThe file content.

Update

You can use the following column to update a record:

  • Description

UPDATE [Gists] SET [Description] = 'Text' WHERE [Name] = 'd7e43b9c1a285c14f62af9803e1d47c8'

Delete

You can specify the following column to delete a record: Name

DELETE FROM [Gists] WHERE [Name] = 'd7e43b9c1a285c14f62af9803e1d47c8'

Columns

Name Type ReadOnly References Description
Id String True

The node ID of the gist.

Name [KEY] String True

The gist identifier.

Public Bool False

Indicates whether the gist is public.

Description String False

The gist description.

Url String True

The API URL of the gist.

HtmlUrl String True

The HTML URL of the gist.

GitPullUrl String True

The git pull URL of the gist.

GitPushUrl String True

The git push URL of the gist.

CommitsUrl String True

The API URL for the gist commits.

ForksUrl String True

The API URL for the gist forks.

CommentsUrl String True

The API URL for the gist comments.

CommentsEnabled Bool True

Indicates whether comments are enabled for the gist.

Comments Int True

The number of comments on the gist.

CreatedAt Datetime True

The date and time when the gist was created.

UpdatedAt Datetime True

The date and time when the gist was last updated.

OwnerLogin String True

The username of the gist owner.

OwnerId Int True

The ID of the gist owner.

OwnerNodeId String True

The node ID of the gist owner.

OwnerAvatarUrl String True

The avatar URL of the gist owner.

OwnerGravatarId String True

The Gravatar ID of the gist owner.

OwnerUrl String True

The API URL of the gist owner.

OwnerHtmlUrl String True

The HTML URL of the gist owner.

OwnerFollowersUrl String True

The API URL for the gist owner's followers.

OwnerFollowingUrl String True

The API URL for the gist owner's following.

OwnerGistsUrl String True

The API URL for the gist owner's gists.

OwnerStarredUrl String True

The API URL for the gist owner's starred repositories.

OwnerSubscriptionsUrl String True

The API URL for the gist owner's subscriptions.

OwnerOrganizationsUrl String True

The API URL for the gist owner's organizations.

OwnerReposUrl String True

The API URL for the gist owner's repositories.

OwnerEventsUrl String True

The API URL for the gist owner's events.

OwnerReceivedEventsUrl String True

The API URL for the gist owner's received events.

OwnerType String True

The type of the gist owner.

OwnerSiteAdmin Bool True

Indicates whether the gist owner is a site administrator.

OwnerUserViewType String True

The user view type of the gist owner.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Files String

Set to an aggregate of the names and content of the files to create a gist.

CData Python Connector for GitHub

Parents

Lists parent gist information for forked gists.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • GistName supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Parents]
SELECT * FROM [Parents] WHERE [GistName] = 'Val1'

The connector processes other filters client-side within the connector.

Insert

You can use the following column to create (insert) a new record: Name

INSERT INTO [Parents] ([Name]) VALUES ('d7e43b9c1a285c14f62af9803e1d47c8')

Columns

Name Type ReadOnly References Description
GistName [KEY] String True

Gists.Name

The identifier of the child gist.

Id String True

The node ID of the parent gist.

Name String False

The identifier of the parent gist.

Public Bool True

Indicates whether the parent gist is public.

Description String True

The parent gist description.

Url String True

The API URL of the parent gist.

HtmlUrl String True

The HTML URL of the parent gist.

GitPullUrl String True

The git pull URL of the parent gist.

GitPushUrl String True

The git push URL of the parent gist.

CommitsUrl String True

The API URL for the parent gist's commits.

ForksUrl String True

The API URL for the parent gist's forks.

CommentsUrl String True

The API URL for the parent gist's comments.

CommentsEnabled Bool True

Indicates whether comments are enabled for the parent gist.

Comments Int True

The number of comments on the parent gist.

CreatedAt Datetime True

The date and time when the parent gist was created.

UpdatedAt Datetime True

The date and time when the parent gist was last updated.

UserLogin String True

The username of the parent gist owner.

UserId Int True

The ID of the parent gist owner.

UserNodeId String True

The node ID of the parent gist owner.

UserAvatarUrl String True

The avatar URL of the parent gist owner.

UserGravatarId String True

The Gravatar ID of the parent gist owner.

UserUrl String True

The API URL of the parent gist owner.

UserHtmlUrl String True

The HTML URL of the parent gist owner.

UserFollowersUrl String True

The API URL for the parent gist owner's followers.

UserFollowingUrl String True

The API URL for the parent gist owner's following.

UserGistsUrl String True

The API URL for the parent gist owner's gists.

UserStarredUrl String True

The API URL for the parent gist owner's starred repositories.

UserSubscriptionsUrl String True

The API URL for the parent gist owner's subscriptions.

UserOrganizationsUrl String True

The API URL for the parent gist owner's organizations.

UserReposUrl String True

The API URL for the parent gist owner's repositories.

UserEventsUrl String True

The API URL for the parent gist owner's events.

UserReceivedEventsUrl String True

The API URL for the parent gist owner's received events.

UserType String True

The type of the parent gist owner.

UserSiteAdmin Bool True

Indicates whether the parent gist owner is a site administrator.

UserViewType String True

The user view type of the parent gist owner.

OwnerLogin String True

The username of the child gist owner.

CData Python Connector for GitHub

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for GitHub Views

Name Description
CommentEdits Lists edit history for gist comments.
CommitFiles Lists up to three hundred files for each gist at every revision, including up to one megabyte of content per file.
Commits Lists the commit history of gists.
Forks Lists gist forks.
Stargazers Lists information about the users who have starred gists.
Starred Lists starred gists for the authenticated user.

CData Python Connector for GitHub

CommentEdits

Lists edit history for gist comments.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • CommentId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [CommentEdits]
SELECT * FROM [CommentEdits] WHERE [CommentId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
GistId String The node ID of the gist.
GistName String

Gists.Name

The gist identifier.
CommentId String

Comments.Id

The Node ID of the comment.
Id [KEY] String The Node ID of the UserContentEdit object.
Diff String A summary of the changes for this edit.
CreatedAt Datetime Identifies the date and time when the object was created.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
EditedAt Datetime When this content was edited.
DeletedAt Datetime Identifies the date and time when the object was deleted.
Editor String The username of the actor who edited this content.
DeletedBy String The username of the actor who deleted this content.
OwnerLogin String The username of the gist owner.

CData Python Connector for GitHub

CommitFiles

Lists up to three hundred files for each gist at every revision, including up to one megabyte of content per file.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • GistName supports the '=' comparison operator.
  • GistSha supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [CommitFiles]
SELECT * FROM [CommitFiles] WHERE [GistName] = 'Val1'
SELECT * FROM [CommitFiles] WHERE [GistSha] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
GistName [KEY] String

Gists.Name

The gist identifier.
GistSha [KEY] String

Commits.Sha

The SHA of the gist revision.
Name [KEY] String The file name.
Size Int The file size in bytes.
Type String The type of the file.
Language String The programming language of the file.
Encoding String The character encoding of the file.
Truncated Bool Indicates whether the file content has been truncated. If truncated, only up to one megabyte of content is returned.
Content String The file content.
RawUrl String The raw content URL of the file.
UserLogin String The username of the user who created the revision.
OwnerLogin String The username of the gist owner.

CData Python Connector for GitHub

Commits

Lists the commit history of gists.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • GistName supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Commits]
SELECT * FROM [Commits] WHERE [GistName] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
GistName [KEY] String

Gists.Name

The gist identifier.
Sha [KEY] String The SHA of the gist revision.
Url String The API URL of the gist revision.
CommittedAt Datetime The date and time when the revision was committed.
ChangeStatusTotal Int The total number of changes in the revision.
ChangeStatusAdditions Int The number of additions in the revision.
ChangeStatusDeletions Int The number of deletions in the revision.
UserLogin String The username of the user who created the revision.
UserId Int The ID of the user who created the revision.
UserNodeId String The node ID of the user who created the revision.
UserAvatarUrl String The avatar URL of the user who created the revision.
UserGravatarId String The Gravatar ID of the user who created the revision.
UserUrl String The API URL of the user who created the revision.
UserHtmlUrl String The HTML URL of the user who created the revision.
UserFollowersUrl String The API URL for the followers of the user who created the revision.
UserFollowingUrl String The API URL for the following of the user who created the revision.
UserGistsUrl String The API URL for the gists of the user who created the revision.
UserStarredUrl String The API URL for the starred repositories of the user who created the revision.
UserSubscriptionsUrl String The API URL for the subscriptions of the user who created the revision.
UserOrganizationsUrl String The API URL for the organizations of the user who created the revision.
UserReposUrl String The API URL for the repositories of the user who created the revision.
UserEventsUrl String The API URL for the events of the user who created the revision.
UserReceivedEventsUrl String The API URL for the received events of the user who created the revision.
UserType String The type of the user who created the revision.
UserSiteAdmin Bool Indicates whether the user who created the revision is a site administrator.
UserViewType String The user view type of the user who created the revision.
OwnerLogin String The username of the gist owner.

CData Python Connector for GitHub

Forks

Lists gist forks.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operator:

  • GistName supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Forks]
SELECT * FROM [Forks] WHERE [GistName] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
GistName String

Gists.Name

The identifier of the gist that was forked.
Id String The node ID of the fork.
Name [KEY] String The identifier of the fork.
Public Bool Indicates whether the fork is public.
Description String The fork description.
Url String The API URL of the fork.
HtmlUrl String The HTML URL of the fork.
GitPullUrl String The git pull URL of the fork.
GitPushUrl String The git push URL of the fork.
CommitsUrl String The API URL for the fork's commits.
ForksUrl String The API URL for the fork's forks.
CommentsUrl String The API URL for the fork's comments.
CommentsEnabled Bool Indicates whether comments are enabled for the fork.
Comments Int The number of comments on the fork.
CreatedAt Datetime The date and time when the fork was created.
UpdatedAt Datetime The date and time when the fork was last updated.
UserLogin String The username of the fork owner.
UserId Int The ID of the fork owner.
UserNodeId String The node ID of the fork owner.
UserAvatarUrl String The avatar URL of the fork owner.
UserGravatarId String The Gravatar ID of the fork owner.
UserUrl String The API URL of the fork owner.
UserHtmlUrl String The HTML URL of the fork owner.
UserFollowersUrl String The API URL for the fork owner's followers.
UserFollowingUrl String The API URL for the fork owner's following.
UserGistsUrl String The API URL for the fork owner's gists.
UserStarredUrl String The API URL for the fork owner's starred repositories.
UserSubscriptionsUrl String The API URL for the fork owner's subscriptions.
UserOrganizationsUrl String The API URL for the fork owner's organizations.
UserReposUrl String The API URL for the fork owner's repositories.
UserEventsUrl String The API URL for the fork owner's events.
UserReceivedEventsUrl String The API URL for the fork owner's received events.
UserType String The type of the fork owner.
UserSiteAdmin Bool Indicates whether the fork owner is a site administrator.
UserViewType String The user view type of the fork owner.
OwnerLogin String The username of the original gist owner.

CData Python Connector for GitHub

Stargazers

Lists information about the users who have starred gists.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • GistId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Stargazers]
SELECT * FROM [Stargazers] WHERE [GistId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The ID of the user.
DatabaseId Int Identifies the primary key from the database.
Login String The username used to login.
Name String The user's public profile name.
Email String The user's publicly visible profile email.
TwitterUsername String The user's Twitter username.
Pronouns String The user's profile pronouns.
Bio String The user's public profile bio.
BioHTML String The user's public profile bio as HTML.
Company String The user's public profile company.
CompanyHTML String The user's public profile company as HTML.
Location String The user's public profile location.
AnyPinnableItems Bool Determine if this repository owner has any items that can be pinned to their profile. Arguments type (PinnableItemType) Filter to only a particular kind of pinnable item.
PinnedItemsRemaining Int Returns how many more items this profile owner can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Whether or not the owner has pinned any repositories or gists.
IsEmployee Bool Whether or not this user is a GitHub employee.
IsHireable Bool Whether or not the user has marked themselves as for hire.
IsBountyHunter Bool Whether or not this user is a participant in the GitHub Security Bug Bounty.
IsCampusExpert Bool Whether or not this user is a participant in the GitHub Campus Experts Program.
IsFollowingViewer Bool Whether or not this user is following the viewer. Inverse of viewerIsFollowing.
IsSiteAdmin Bool Whether or not this user is a site administrator.
IsDeveloperProgramMember Bool Whether or not this user is a GitHub Developer Program member.
IsGitHubStar Bool Whether or not this user is a member of the GitHub Stars Program.
IsSponsoringViewer Bool True if the viewer is sponsored by this user/organization.
IsViewer Bool Whether or not this user is the viewing user.
ViewerCanFollow Bool Whether or not the viewer is able to follow the user.
ViewerCanSponsor Bool Whether or not the viewer is able to sponsor this user/organization.
ViewerIsFollowing Bool Whether or not this user is followed by the viewer.
ViewerIsSponsoring Bool True if the viewer is sponsoring this user/organization.
ViewerCanChangePinnedItems Bool Can the viewer pin repositories and gists to the profile?.
StatusId String The emoji's id.
StatusEmoji String An emoji summarizing the user's status.
StatusMessage String A brief message describing what the user is doing.
StatusIndicatesLimitedAvailability Bool Whether this status indicates the user is not fully available on GitHub.
StatusEmojiHTML String The status emoji as HTML.
StatusCreatedAt Datetime Identifies the date and time when the object was created.
StatusExpiresAt Datetime If set, the status will not be shown after this date.
StatusUpdatedAt Datetime Identifies the date and time when the object was last updated.
StatusOrganizationId String The organization's id.
StatusOrganizationLogin String The organization's login name.
InteractionAbilityLimit String The current limit that is enabled on this object.
InteractionAbilityOrigin String The origin of the currently active interaction limit.
InteractionAbilityExpiresAt Datetime The time the currently active limit expires.
HasSponsorsListing Bool True if this user/organization has a GitHub Sponsors listing.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly GitHub Sponsors income for this user/organization in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated next GitHub Sponsors payout for this user/organization in cents (USD).
SponsorsListingId String The listing's id.
SponsorsListingName String The listing's full name.
TotalSponsorshipAmountAsSponsorInCents Int The amount in US cents that this entity has spent on GitHub to fund sponsorships. Only returns a value when viewed by the user themselves or by a user who can manage sponsorships for the requested organization.
ResourcePath String The HTTP path for this user.
ProjectsResourcePath String The HTTP path listing user's projects.
Url String The HTTP URL for this user.
ProjectsUrl String The HTTP URL listing user's projects.
WebsiteUrl String A URL pointing to the user's public website/blog.
AvatarUrl String A URL pointing to the user's public avatar. Arguments size (Int) The size of the resulting square image.
CopilotEndpointsApi String Copilot API endpoint.
CopilotEndpointsOriginTracker String Copilot origin tracker endpoint.
CopilotEndpointsProxy String Copilot proxy endpoint.
CopilotEndpointsTelemetry String Copilot telemetry endpoint.
CreatedAt Datetime Identifies the date and time when the object was created.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
RepositoryCount Int The number of repositories that a user owns.
FollowerCount Int The number of followers that a user has.
GistId String The node ID of the gist.
GistName [KEY] String

Gists.Name

The gist identifier.
OwnerLogin String The username of the gist owner.

CData Python Connector for GitHub

Starred

Lists starred gists for the authenticated user.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Name supports the '=' comparison operator.
  • UpdatedAt supports the '>=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Starred]
SELECT * FROM [Starred] WHERE [Name] = 'Val1'
SELECT * FROM [Starred] WHERE [UpdatedAt] >= '2023-01-01 11:10:00'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id String The node ID of the gist.
Name [KEY] String The gist identifier.
Public Bool Indicates whether the gist is public.
Description String The gist description.
Url String The API URL of the gist.
HtmlUrl String The HTML URL of the gist.
GitPullUrl String The git pull URL of the gist.
GitPushUrl String The git push URL of the gist.
CommitsUrl String The API URL for the gist's commits.
ForksUrl String The API URL for the gist's forks.
CommentsUrl String The API URL for the gist's comments.
CommentsEnabled Bool Indicates whether comments are enabled for the gist.
Comments Int The number of comments on the gist.
CreatedAt Datetime The date and time when the gist was created.
UpdatedAt Datetime The date and time when the gist was last updated.
OwnerLogin String The username of the gist owner.

CData Python Connector for GitHub

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with GitHub.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from GitHub, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for GitHub Stored Procedures

Name Description
DownloadFile Download a file from a gist.
GetCurrentlyAuthenticatedUser Retrieves information about the currently authenticated user.
GetOAuthAccessToken Gets the OAuth access token from GitHub.
GetOAuthAuthorizationURL Gets the GitHub authorization URL. Access the URL returned in the output in a Web browser. This requests the access token that can be used as part of the connection string to GitHub.
IsGistStarred Checks if a gist is starred by the authenticated user.
RefreshOAuthAccessToken Refreshes the OAuth access token used for authentication.
StarGist Stars a gist for the authenticated user.
UnstarGist Unstar a gist for the authenticated user.

CData Python Connector for GitHub

DownloadFile

Download a file from a gist.

Sample


EXECUTE [Gist].[DownloadFile] GistName='d7e43b9c1a285c14f62af9803e1d47c8', Name='file.txt'
EXECUTE [Gist].[DownloadFile] GistName='d7e43b9c1a285c14f62af9803e1d47c8', Name='file.txt', Sha='e4b93ac9d12f48f0b7c2fa45a1e5d8c6394fd3ab'

Input

Name Type Required Description
GistName String True The identifier of the fork.
Name String True The name of the file.
Sha String False The file version.
OwnerLogin String False The owner of the gist.
LocalPath String False The absolute path where the file will be saved.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.
FileData String If the LocalPath and FileStream inputs are empty, file data will be output as BASE64.

CData Python Connector for GitHub

GetCurrentlyAuthenticatedUser

Retrieves information about the currently authenticated user.

Result Set Columns

Name Type Description
Id String The user ID.
Login String The username used to login.
Bio String The user's public profile bio.
BioHTML String The user's public profile bio as HTMl.
AvatarUrl String A URL pointing to the user's public avatar.
Name String The user's public profile name.
Company String The user's public profile company.
CompanyHTML String The user's public profile company as HTML.
CreatedAt Datetime Identifies the date and time when the object was created.
Email String The user's publicly visible profile email.
IsBountyHunter Bool Whether or not this user is a participant in the GitHub Security Bug Bounty.
IsCampusExpert Bool Whether or not this user is a participant in the GitHub Campus Experts Program.
IsDeveloperProgramMember Bool Whether or not this user is a GitHub Developer Program member.
IsEmployee Bool Whether or not this user is a GitHub employee.
IsHireable Bool Whether or not the user has marked themselves as for hire.
IsSiteAdmin Bool Whether or not this user is a site administrator.
IsViewer Bool Whether or not this user is the viewing user.
Location String The user's public profile location.
PinnedItemsRemaining Integer Returns how many more items this profile owner can pin to their profile.
ProjectsUrl String The HTTP URL listing user's projects.
ResourcePath String The HTTP path for this user.
TwitterUsername String The user's Twitter username.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
URL String The HTTP URL for this user.
ViewerCanChangePinnedItems Bool Can the viewer pin repositories and gists to the profile?.
ViewerCanFollow Bool Whether or not the viewer is able to follow the user.
ViewerIsFollowing Bool Whether or not this user is followed by the viewer.
WebsiteUrl String A URL pointing to the user's public website/blog.

CData Python Connector for GitHub

GetOAuthAccessToken

Gets the OAuth access token from GitHub.

Input

Name Type Required Description
AuthMode String False The type of authentication mode to use. The allowed values are APP, WEB.
Verifier String False The verifier token returned by GitHub after using the URL obtained with GetOAuthAuthorizationURL. Required for only the Web AuthMode.
Scope String False The scope or permissions you are requesting.
CallbackUrl String False The URL the user will be redirected to after authorizing your application.
State String False This field indicates any state that may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to GitHub authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.

Result Set Columns

Name Type Description
OAuthAccessToken String The authentication token returned from GitHub.
OAuthRefreshToken String A token that may be used to obtain a new access token.
ExpiresIn String The remaining lifetime for the access token in seconds.

CData Python Connector for GitHub

GetOAuthAuthorizationURL

Gets the GitHub authorization URL. Access the URL returned in the output in a Web browser. This requests the access token that can be used as part of the connection string to GitHub.

Input

Name Type Required Description
CallbackUrl String False The URL that GitHub will return to after the user has authorized your app.
Scope String False The scope or permissions you are requesting.
State String False This field indicates any state that may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to GitHub authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.

Result Set Columns

Name Type Description
URL String The URL to be entered into a Web browser to obtain the verifier token and authorize the data provider with.

CData Python Connector for GitHub

IsGistStarred

Checks if a gist is starred by the authenticated user.

Sample


EXECUTE [Gist].[IsGistStarred] Name='d7e43b9c1a285c14f62af9803e1d47c8'

Input

Name Type Required Description
Name String True The gist identifier.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

RefreshOAuthAccessToken

Refreshes the OAuth access token used for authentication.

Input

Name Type Required Description
OAuthRefreshToken String True The refresh token you received with the access token you wish to refresh.

Result Set Columns

Name Type Description
OAuthAccessToken String The token to be included in each request for access to protected resources.
OAuthRefreshToken String The token to be included in a request for a new access token when your current access token has expired.
ExpiresIn String The duration in seconds before the token expires. The default is 1440 seconds, or 24 minutes.

CData Python Connector for GitHub

StarGist

Stars a gist for the authenticated user.

Sample


EXECUTE [Gist].[StarGist] Name='d7e43b9c1a285c14f62af9803e1d47c8'

Input

Name Type Required Description
Name String True The gist identifier.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

UnstarGist

Unstar a gist for the authenticated user.

Sample


EXECUTE [Gist].[UnstarGist] Name='d7e43b9c1a285c14f62af9803e1d47c8'

Input

Name Type Required Description
Name String True The gist identifier.

Result Set Columns

Name Type Description
Success Boolean Indicates whether or not the operation executed successfully.
Details String Any extra details on the operation's execution.

CData Python Connector for GitHub

Repository Data Model

In the Repository Data Model, the connector models each repository associated with the authenticated account as a schema. Live connectivity to these objects means that any changes to your GitHub account are immediately reflected in the connector.

Tables

The following Tables are shipped with the connector:

Name Description
Branches Contains detailed information about branches in a repository, including branch names and their relationships with other branches for version control.
CodeScanningAlerts Lists code scanning alerts for the repository.
Commits Contains metadata for commits in a repository, including author information, timestamps, and commit messages for version tracking.
CustomProperties Gets all custom property values that are set for the repository.
Environments Lists deployment environments configured for a repository, including environment names, statuses, and related configuration data.
Invitations List and manage invitations to collaborate on the repository.
IssueComments Logs comments added to issues, capturing discussions, updates, and resolutions for tracking purposes.
Issues Stores comprehensive details about issues in a repository, including labels, assignees, priorities, and statuses.
Labels Maintains a catalog of labels available in a repository, enabling effective categorization and filtering of issues and pull requests.
PullRequestReviewRequests Tracks requests for reviews on pull requests, including information about requested reviewers and their response statuses.
PullRequests Contains metadata about pull requests in a repository, such as their titles, descriptions, current statuses, and authors, to manage proposed changes effectively.
Releases Tracks versioned releases in a repository, detailing associated tags, descriptions, and links to attached assets.
SecretScanningAlerts Lists secret scanning alerts for the repository.
VulnerabilityAlerts Lists Dependabot vulnerability alerts for the repository.

Views

The following Views are shipped with the connector:

Name Description
AssignableUsers Identifies users who are eligible to be assigned to repository issues, based on their roles and permissions.
CodeScanningAlertInstances Lists all code locations where a specific code scanning alert occurs.
CodeScanningAnalyses Lists code scanning analyses for the repository.
Collaborators Lists collaborators in a repository, including their roles, permissions, and contributions to the project.
CommitComments Tracks comments made on specific commits, providing insights into discussions and feedback related to code changes.
CommitCompare Stores a detailed list of commits generated from a comparison of two references, such as branches or tags.
CommitCompareFiles Tracks files modified during a comparison between two references, providing details on up to 300 changed files for review.
CommitFiles Details files modified in specific commits, including filenames, change types (for example, added, deleted, modified), and related metadata.
Forks Provides metadata about forks created from a repository, including fork ownership and purpose, to support collaboration and innovation.
IssueAssignedActors Lists information about the assigned actors to the repository's issues.
IssueAssignees Tracks users assigned to issues within a repository, detailing responsibilities and roles for task ownership.
IssuePullRequests Connects issues to related pull requests, allowing traceability between reported problems and their solutions.
IssuesBlockedBy Lists all project issues which the specified issue is blocked by.
IssuesBlocking Lists all project issues which the specified issue is blocking.
IssueSuggestedActors Lists information about the suggested actors to the repository's issues.
IssueTypes Lists information about repository issue types.
MentionableUsers Identifies users who can be mentioned in repository discussions, including issues, pull requests, and comments, based on permissions.
MergeQueueEntries Tracks individual pull requests in the merge queue, including their statuses and any pending actions for orderly processing.
MergeQueues Provides an overview of active merge queues in a repository, listing pull requests and their order for systematic integration.
Milestones Details milestones in a repository, including their goals, deadlines, and associated issues or pull requests for project tracking.
PullRequestAssignedActors Assigned actors to this pull request.
PullRequestComments Records comments on pull requests, documenting feedback and discussions during the code review process.
PullRequestCommits Provides a list of commits included in pull requests, detailing the changes introduced and the commits' authors.
PullRequestFiles Tracks files modified within pull requests, listing filenames, change types, and details for thorough review.
PullRequestReviewComments Logs comments made during pull request reviews, capturing feedback, suggestions, and discussions for improving the code.
PullRequestReviews Stores details of reviews conducted on pull requests, including reviewer actions (approved, requested changes, commented) and timestamps.
PullRequestSuggestedActors Suggested actors for this pull request.
ReleaseAssets Lists assets attached to repository releases, including binary files, source code archives, and other downloadable content for distribution.
SecretScanningAlertLocations Lists all locations where a secret scanning alert was detected.
SecretScanningHistory Lists secret scanning scans by type for the repository.
Stargazers Lists users who have starred a repository, indicating their interest in or support for the project.
Topics Catalogs topics assigned to a repository, helping categorize and improve discoverability through tags such as 'open-source' or 'web-development.'
TrafficClonesDaily Logs daily statistics of repository clones for the last 14 days, providing insight into the frequency and patterns of cloning activity.
TrafficClonesWeekly Summarizes weekly clone statistics for the last 14 days, offering a higher-level view of cloning trends.
TrafficPageViewsDaily Records daily page view statistics for a repository, helping track user engagement and traffic patterns over time.
TrafficPageViewsWeekly Aggregates weekly page view statistics for a repository, giving an overview of user interaction trends for the past two weeks.
TrafficTopReferralPaths Lists the top 10 most frequently accessed paths in a repository over the past 14 days, helping identify popular content and entry points.
TrafficTopReferralSources Identifies the top 10 sources driving traffic to a repository in the last 14 days, such as search engines, social media, or external links.
Watchers Tracks users watching a repository, providing visibility into who is monitoring updates, changes, and activity.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including getting the currently authenticated user or retrieving and refreshing OAuth access tokens.

The following procedures are shipped with the connector:

Name Description
GetCurrentlyAuthenticatedUser Retrieves details of the currently authenticated user, such as account settings and roles within the repository.
GetOAuthAccessToken Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.
GetOAuthAuthorizationURL Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
RefreshOAuthAccessToken Refreshes an expired OAuth Access Token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

CData Python Connector for GitHub

Tables

The connector models the data in GitHub as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for GitHub Tables

Name Description
Branches Contains detailed information about branches in a repository, including branch names and their relationships with other branches for version control.
CodeScanningAlerts Lists code scanning alerts for the repository.
Commits Contains metadata for commits in a repository, including author information, timestamps, and commit messages for version tracking.
CustomProperties Gets all custom property values that are set for the repository.
Environments Lists deployment environments configured for a repository, including environment names, statuses, and related configuration data.
Invitations List and manage invitations to collaborate on the repository.
IssueComments Logs comments added to issues, capturing discussions, updates, and resolutions for tracking purposes.
Issues Stores comprehensive details about issues in a repository, including labels, assignees, priorities, and statuses.
Labels Maintains a catalog of labels available in a repository, enabling effective categorization and filtering of issues and pull requests.
PullRequestReviewRequests Tracks requests for reviews on pull requests, including information about requested reviewers and their response statuses.
PullRequests Contains metadata about pull requests in a repository, such as their titles, descriptions, current statuses, and authors, to manage proposed changes effectively.
Releases Tracks versioned releases in a repository, detailing associated tags, descriptions, and links to attached assets.
SecretScanningAlerts Lists secret scanning alerts for the repository.
VulnerabilityAlerts Lists Dependabot vulnerability alerts for the repository.

CData Python Connector for GitHub

Branches

Contains detailed information about branches in a repository, including branch names and their relationships with other branches for version control.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • Name supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Branches]
SELECT * FROM [Branches] WHERE [Name] = 'Val1'

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Name
  • TargetOid

You can use the following pseudo-column to create a new record: Force

INSERT INTO [Branches] ([Name], [TargetOid]) VALUES ('TestBranch', '6330b82300aa01f5f92cf7ac22e79ef261a5457a')

Update

You can use the following column to update a record: TargetOid

You can use the following pseudo-column to update a record: Force

UPDATE [Branches] SET [TargetOid] = '2fa01729273842c19b4ee9594f4f32007e4aea31', [Force] = 'true' WHERE [Id] = 'REF_kwDOOq2woLVyZWZzL2hlYWRzL1Rlc3RCcmFuY2g'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [Branches] WHERE [Id] = 'REF_kwDOOq2woLRyZWZzL2hlYWRzL0RldkJyYW5jaA'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

A unique identifier for the branch within the repository.

Name String False

The name of the branch, typically representing a feature, fix, or release.

Prefix String True

The standard prefix used for branch refs.

TargetId String True

The ID of the object the ref points to.

TargetOid String False

The Git object ID of the object the ref points to.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
Force Bool

Permit updates of branch refs that are not fast-forwards.

CData Python Connector for GitHub

CodeScanningAlerts

Lists code scanning alerts for the repository.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Number supports the '=' comparison operator.
  • State supports the '=' comparison operator.
  • RuleSecuritySeverityLevel supports the '=' comparison operator.
  • ToolName supports the '=' comparison operator.
  • ToolGuid supports the '=' comparison operator.
  • MostRecentInstanceRef supports the '=' comparison operator.
  • PullRequestNumber supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [CodeScanningAlerts]
SELECT * FROM [CodeScanningAlerts] WHERE [Number] = 123
SELECT * FROM [CodeScanningAlerts] WHERE [State] = 'open'
SELECT * FROM [CodeScanningAlerts] WHERE [RuleSecuritySeverityLevel] = 'Val1'
SELECT * FROM [CodeScanningAlerts] WHERE [ToolName] = 'Val1'
SELECT * FROM [CodeScanningAlerts] WHERE [ToolGuid] = 'Val1'
SELECT * FROM [CodeScanningAlerts] WHERE [MostRecentInstanceRef] = 'Val1'
SELECT * FROM [CodeScanningAlerts] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • CreatedAt
  • UpdatedAt

SELECT * FROM [CodeScanningAlerts] ORDER BY [CreatedAt]
SELECT * FROM [CodeScanningAlerts] ORDER BY [UpdatedAt]

The connector processes ordering by other columns client-side within the connector.

Update

You can use the following columns to update a record:

  • Number
  • State
  • DismissedReason
  • DismissedComment

You can use the following pseudo-column to update a record: CreateRequest

UPDATE [CodeScanningAlerts] SET State='dismissed', DismissedReason='used in tests', DismissedComment='Test comment.', CreateRequest=true WHERE Number='1'

Columns

Name Type ReadOnly References Description
Number [KEY] Int True

The security alert number.

Url String True

The REST API URL of the alert resource.

HtmlUrl String True

The GitHub URL of the alert resource.

InstancesUrl String True

The REST API URL for fetching the list of instances for an alert.

State String False

State of a code scanning alert.

The allowed values are open, dismissed.

DismissedReason String False

Required when state is dismissed. The reason for dismissing or closing the alert.

The allowed values are false positive, won't fix, used in tests.

DismissedComment String False

The dismissal comment associated with the dismissal of the alert.

FixedAt Datetime True

The time that the alert was no longer detected and was considered fixed.

DismissedAt Datetime True

The time that the alert was dismissed.

DismissedByLogin String True

The username of the user that dismissed the alert.

DismissalApprovedByLogin String True

The username of the user that approved the dismissal.

Assignees String True

Users assigned to the alert.

RuleId String True

A unique identifier for the rule used to detect the alert.

RuleName String True

The name of the rule used to detect the alert.

RuleSeverity String True

The severity of the alert.

RuleSecuritySeverityLevel String True

The security severity of the alert.

RuleDescription String True

A short description of the rule used to detect the alert.

RuleFullDescription String True

A description of the rule used to detect the alert.

RuleTags String True

A set of tags applicable for the rule.

RuleHelp String True

Detailed documentation for the rule as GitHub Flavored Markdown.

RuleHelpUri String True

A link to the documentation for the rule used to detect the alert.

ToolName String True

The name of the tool used to generate the code scanning analysis.

ToolVersion String True

The version of the tool used to generate the code scanning analysis.

ToolGuid String True

The GUID of the tool used to generate the code scanning analysis.

MostRecentInstanceRef String True

The Git reference of the most recent instance.

MostRecentInstanceAnalysisKey String True

Identifies the configuration under which the analysis was executed.

MostRecentInstanceEnvironment String True

Identifies the variable values associated with the environment.

MostRecentInstanceCategory String True

Identifies the configuration under which the analysis was executed.

MostRecentInstanceState String True

State of the most recent instance.

MostRecentInstanceCommitSha String True

The commit SHA of the most recent instance.

MostRecentInstanceMessageText String True

The message text of the most recent instance.

MostRecentInstanceLocationPath String True

The file path where the alert was detected.

MostRecentInstanceLocationStartLine Int True

Line number at which the alert starts in the file.

MostRecentInstanceLocationEndLine Int True

Line number at which the alert ends in the file.

MostRecentInstanceLocationStartColumn Int True

Column at which the alert starts in the file.

MostRecentInstanceLocationEndColumn Int True

Column at which the alert ends in the file.

MostRecentInstanceHtmlUrl String True

The GitHub URL of the most recent instance.

MostRecentInstanceClassifications String True

Classifications that have been applied to the file (e.g., source, generated, test, library).

CreatedAt Datetime True

The time that the alert was created.

UpdatedAt Datetime True

The time that the alert was updated.

PullRequestNumber Int True

The number of the pull request for the results you want to list.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
CreateRequest Bool

If true, attempt to create an alert dismissal request.

CData Python Connector for GitHub

Commits

Contains metadata for commits in a repository, including author information, timestamps, and commit messages for version tracking.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • BranchName supports the '=,IN' comparison operators.
  • CommittedDate supports the '=,>=,>,=,<,<=' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Commits]
SELECT * FROM [Commits] WHERE [BranchName] = 'Val1'
SELECT * FROM [Commits] WHERE [CommittedDate] = '2023-01-01 11:10:00'

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • BranchName
  • MessageBody
  • MessageHeadline

You can use the following pseudo-columns to create a new record:

  • ExpectedHeadOid
  • FileChangeAdditions (references FileChangeAdditions)
  • FileChangeDeletions (references FileChangeDeletions)

INSERT INTO [Commits] ([BranchName], [MessageBody], [MessageHeadline], [ExpectedHeadOid], [FileChangeAdditions], [FileChangeDeletions]) VALUES ('Branch', 'Test commit.', 'Test headline.', '77c120c11bb482d243fcfaa52be277f3e626c6d4', '[{"contents":"dGVzdA==","path":"1.txt"},{"contents":"dGVzdDI=","path":"2.txt"}]', '[{"path":"a.txt"},{"path":"b.txt"}]')

FileChangeAdditions Temporary Table Columns

Column NameTypeDescription
ContentsStringThe base64 encoded contents of the file.
PathStringThe path in the repository where the file will be located.

FileChangeDeletions Temporary Table Columns

Column NameTypeDescription
PathStringThe path to delete.

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier for the commit.

Oid String True

The Git object ID, uniquely identifying this commit in the Git repository.

AbbreviatedOid String True

An abbreviated version of the Git object ID, commonly used for easier reference.

BranchName [KEY] String False

Branches.Name

The name of the branch where the commit was made.

ChangedFilesIfAvailable Int True

The number of files changed in this commit. Returns 'null' if the number can't be calculated.

Additions Int True

The total number of lines added in this commit.

Deletions Int True

The total number of lines removed in this commit.

AuthoredByCommitter Bool True

Indicates whether the author and the committer of this commit are the same.

CommittedViaWeb Bool True

Indicates whether this commit was made through GitHub's web UI.

AuthoredDate Datetime True

The date and time when this commit was authored.

CommittedDate Datetime True

The date and time when this commit was actually committed.

ViewerSubscription String True

Indicates the subscription status of the viewer (for example, watching, not watching, ignoring) for this commit's repository.

ViewerCanSubscribe Bool True

Indicates whether the viewer has the ability to change their subscription status for the repository.

Message String True

The main message or description of the changes made in this commit.

MessageBody String False

The full body text of the commit message.

MessageHeadline String False

The headline or short summary of the commit message.

MessageBodyHTML String True

The body of the commit message rendered as HTML.

MessageHeadlineHTML String True

The headline of the commit message rendered as HTML.

ResourcePath String True

The HTTP path for this specific commit.

CommitResourcePath String True

The HTTP path for the Git object associated with this commit.

TreeResourcePath String True

The HTTP path for accessing the tree structure of the commit.

Url String True

The HTTP URL that leads to this commit's page.

CommitUrl String True

The URL for accessing this specific Git object in the repository.

TarballUrl String True

The URL to download a tarball archive of the repository. (Links expire after five minutes for private repositories.)

TreeUrl String True

The HTTP URL for accessing the tree structure of this commit.

ZipballUrl String True

The URL to download a zipball archive of the repository. (Links expire after five minutes for private repositories.)

AuthorName String True

The name of the author who authored the commit.

AuthorEmail String True

The email address of the commit author.

AuthorDate Datetime True

The timestamp when the commit was authored (Git action).

AuthorUserLogin String True

The GitHub username corresponding to the email address associated with this commit. Null if no user is found.

CommitterName String True

The name of the committer who committed the changes.

CommitterEmail String True

The email address of the person who committed the changes.

CommitterDate Datetime True

The timestamp indicating when the commit was committed.

CommitterUserLogin String True

The GitHub username corresponding to the email address of the committer. Null if no user is found.

OnBehalfOfId String True

The unique ID of the organization this commit was made on behalf of.

OnBehalfOf String True

The login name of the organization this commit was made on behalf of.

SignatureIsValid Bool True

Indicates whether the commit's signature is valid and verified by GitHub.

Signature String True

The ASCII-armored signature header used in this commit.

SignatureEmail String True

The email address associated with the signature for this commit.

SignaturePayload String True

The payload used for the GPG signature. Represents the raw ODB object without the signature header.

SignatureState String True

The state of the signature. 'VALID' indicates that the signature is valid, and other states indicate why the signature is considered invalid.

SignatureSigner String True

The GitHub username of the person who signed this commit.

WasSignedByGitHub Bool True

Indicates whether the commit was signed using GitHub's signing key.

SignatureVerifiedAt Datetime True

The date the signature was verified, if valid.

StatusId String True

The unique ID of the commit status associated with this commit.

StatusState String True

The overall status of the commit, combining various checks and statuses.

StatusCheckRollupId String True

The unique ID for the Check and Status rollup associated with this commit.

StatusCheckRollupState String True

The combined state of the Check and Status rollup for this commit.

TreeId String True

The unique ID of the root tree object for this commit.

TreeOid String True

The Git object ID of the tree associated with this commit.

TreeAbbreviatedOid String True

An abbreviated version of the Git object ID of the tree.

TreeCommitUrl String True

The HTTP URL to view the tree object associated with this commit.

TreeCommitResourcePath String True

The HTTP path to access the tree object associated with this commit.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
ExpectedHeadOid String

The git commit oid expected at the head of the branch prior to the commit.

FileChangeAdditions String

File to add or change.

FileChangeDeletions String

Files to delete.

CData Python Connector for GitHub

CustomProperties

Gets all custom property values that are set for the repository.

Table-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [CustomProperties]

Upsert

You can use the following columns to upsert a record:

  • Name
  • Value

UPSERT INTO [CustomProperties] ([Name], [Value]) VALUES ('PropA', 'test')

Delete

You can specify the following column to delete a record: Name

DELETE FROM [CustomProperties] WHERE [Name] = 'PropA'

Columns

Name Type ReadOnly References Description
Name [KEY] String False

The name of the property.

Value String False

The value assigned to the property.

CData Python Connector for GitHub

Environments

Lists deployment environments configured for a repository, including environment names, statuses, and related configuration data.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Name supports the '=,IN' comparison operators.
  • IsPinned supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Environments]
SELECT * FROM [Environments] WHERE [Name] = 'Val1'
SELECT * FROM [Environments] WHERE [IsPinned] = true

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: Name

SELECT * FROM [Environments] ORDER BY [Name]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Update

You can use the following column to update a record: IsPinned

UPDATE [Environments] SET [IsPinned] = true WHERE [Id] = 'EN_kwDOLvThzs8AAAABBc1m-g'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique node ID assigned to the Environment object.

DatabaseId Long True

The primary key that uniquely identifies this environment in the database.

Name String True

The name of the environment.

IsPinned Bool False

Indicates whether the environment is currently pinned to the repository (true or false).

PinnedPosition Int True

The position of the environment in the list, if it is pinned; null if the environment is not pinned.

LatestCompletedDeploymentId String True

The Node ID of the most recent completed deployment in this environment.

LatestCompletedDeploymentState String True

The current state of the latest completed deployment (for example, 'success', 'failed').

CData Python Connector for GitHub

Invitations

List and manage invitations to collaborate on the repository.

Table-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [Invitations]

Update

You can use the following columns to update a record:

  • Permission

UPDATE [Invitations] SET [Permission] = 'triage' WHERE [DatabaseId] = '296829133'

Delete

You can specify the following column to delete a record: DatabaseId

DELETE FROM [Invitations] WHERE [DatabaseId] = '296829133'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The Node ID of the invitation.

DatabaseId Long True

Identifies the primary key from the database.

InviteeId String True

The Node ID of the user who was invited to the repository.

InviteeLogin String True

The login of the user who was invited to the repository.

InviterId String True

The Node ID of the user who created the invitation.

InviterLogin String True

The login of the user who created the invitation.

Permission String False

The permissions granted to the invitee on the repository.

CreatedAt Datetime True

The datetime when the invitation was created.

Url String True

The API URL of the invitation.

HtmlUrl String True

The HTML URL of the invitation.

CData Python Connector for GitHub

IssueComments

Logs comments added to issues, capturing discussions, updates, and resolutions for tracking purposes.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • IssueNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [IssueComments]
SELECT * FROM [IssueComments] WHERE [IssueNumber] = 123

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: UpdatedAt

SELECT * FROM [IssueComments] ORDER BY [UpdatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Insert

You can use the following columns to create (insert) a new record:

  • Body
  • IssueId

INSERT INTO [IssueComments] ([IssueId], [Body]) VALUES ('I_kwDOLkrwGs6OhNo0', 'hello there')

Update

You can use the following column to update a record: Body

UPDATE [IssueComments] SET [Body] = 'test' WHERE [Id] = 'IC_kwDOLkrwGs6GFwhQ'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [IssueComments] WHERE [Id] = 'IC_kwDOLkrwGs6GFuN2'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique identifier for the comment.

Body String False

The body of the comment in Markdown format.

BodyText String True

The body of the comment rendered as plain text.

BodyHTML String True

The body of the comment rendered in HTML.

Author String True

The username of the person who authored the comment.

AuthorAssociation String True

The author's association with the subject of the comment.

Editor String True

The username of the actor who edited the comment.

IsMinimized Bool True

Indicates whether or not the comment has been minimized.

MinimizedReason String True

The reason why the comment was minimized.

CreatedViaEmail Bool True

Indicates if the comment was created through an email reply.

IncludesCreatedEdit Bool True

Indicates if the comment was edited and includes the creation data in the edit.

ResourcePath String True

The HTTP path for this comment.

Url String True

The HTTP URL for this comment.

LastEditedAt Datetime True

The date and time when the comment was last edited.

PublishedAt Datetime True

The date and time when the comment was published.

CreatedAt Datetime True

The date and time when the comment was created.

UpdatedAt Datetime True

The date and time when the comment was last updated.

ViewerDidAuthor Bool True

Indicates whether the viewer authored this comment.

ViewerCanDelete Bool True

Indicates if the current viewer has permission to delete this comment.

ViewerCanMinimize Bool True

Indicates if the current viewer has permission to minimize this comment.

ViewerCanReact Bool True

Indicates if the user can react to this comment.

ViewerCanUpdate Bool True

Indicates if the current viewer can update this comment.

ViewerCannotUpdateReasons String True

Lists the reasons why the current viewer cannot update this comment.

ReactionGroups String True

A list of reactions grouped by content left on the subject.

ViewerId String True

The ID of the viewer.

IssueNumber Int True

Issues.Number

The issue number associated with the comment.

IssueId String False

The issue ID associated with the comment.

PullRequestId String True

The ID of the pull request associated with the comment, if applicable.

FullDatabaseId Long True

The primary key for the comment in the database, stored as a BigInt.

CData Python Connector for GitHub

Issues

Stores comprehensive details about issues in a repository, including labels, assignees, priorities, and statuses.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Author supports the '=,!=' comparison operators.
  • State supports the '=' comparison operator.
  • ClosedAt supports the '=,>,>=,<,<=' comparison operators.
  • UpdatedAt supports the '=,>,>=,<,<=' comparison operators.
  • CreatedAt supports the '=,>,>=,<,<=' comparison operators.
  • CommentCount supports the '=,>,>=,<,<=' comparison operators.
  • ReactionCount supports the '=,>,>=,<,<=' comparison operators.
  • Mentions supports the '=,IN' comparison operators.
  • Assignee supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Issues]
SELECT * FROM [Issues] WHERE [Author] = 'Val1'
SELECT * FROM [Issues] WHERE [State] = 'open'
SELECT * FROM [Issues] WHERE [ClosedAt] = '2023-01-01 11:10:00'
SELECT * FROM [Issues] WHERE [UpdatedAt] = '2023-01-01 11:10:00'
SELECT * FROM [Issues] WHERE [CreatedAt] = '2023-01-01 11:10:00'
SELECT * FROM [Issues] WHERE [CommentCount] = 123
SELECT * FROM [Issues] WHERE [ReactionCount] = 123
SELECT * FROM [Issues] WHERE [Mentions] = 'Val1'
SELECT * FROM [Issues] WHERE [Assignee] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • UpdatedAt
  • CreatedAt

SELECT * FROM [Issues] ORDER BY [UpdatedAt]
SELECT * FROM [Issues] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Insert

You can use the following columns to create (insert) a new record:

  • Title
  • Body
  • MilestoneId
  • TypeID

You can use the following pseudo-columns to create a new record:

  • AssigneeIds
  • LabelIds
  • IssueTemplate

INSERT INTO [Issues] ([Title], [AssigneeIds]) VALUES ('TestIssue', 'MDQ6VXNlcjg3ODExMTEx,U_kgDOCXOvpA')

Update

You can use the following columns to update a record:

  • Title
  • Body
  • State
  • MilestoneId
  • TypeID

You can use the following columns to close a record:

  • Closed
  • StateReason
  • DuplicateIssueId

You can use the following pseudo-columns to update a record:

  • AssigneeIds
  • LabelIds

You can use the following columns to lock a record:

  • Locked
  • ActiveLockReason

You can use the following columns to unlock a record: Locked

UPDATE [Issues] SET [Title] = 'NewTitle', [AssigneeIds] = 'MDQ6VXNlcjg3ODExMTEx,U_kgDOCXOvpA', [State] = 'CLOSED' WHERE [Id] = 'I_kwDOLkrwGs6M5WWy'
UPDATE [Issues] SET [Closed] = true, [StateReason] = 'DUPLICATE', [DuplicateIssueId] = 'I_kwDONRO6Ec6r8eEk' WHERE [Id] = 'I_kwDONRO6Ec6ukDus'
UPDATE [Issues] SET [Locked] = true WHERE [Id] = 'I_kwDOLkrwGs6M5WWy'
UPDATE [Issues] SET [Locked] = false WHERE [Id] = 'I_kwDOLkrwGs6M5WWy'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [Issues] WHERE [Id] = 'I_kwDONRO6Ec6ukDus'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

A unique identifier for the issue within the repository.

FullDatabaseId Long True

The primary key of the issue in the database, stored as a BigInt.

Title String False

The title of the issue, summarizing its content.

TitleHTML String True

The issue title formatted as HTML for web display.

Author String True

The username of the user who created the issue.

AuthorAssociation String True

The relationship of the author to the repository, such as collaborator or owner.

Editor String True

The username of the user who last edited the issue.

Body String False

The main content or description provided in the issue.

BodyText String True

The issue body converted to plain text, without formatting.

BodyHTML String True

The issue body formatted as HTML for web display.

BodyResourcePath String True

The relative HTTP path to access the issue body.

BodyUrl String True

The full HTTP URL to directly access the issue body.

Number Int True

A sequential number assigned to the issue within the repository.

State String False

The current status of the issue, such as open or closed.

The allowed values are open, closed.

StateReason String False

The explanation for the current issue state, if applicable.

The allowed values are COMPLETED, NOT_PLANNED, DUPLICATE, REOPENED.

Locked Bool False

Indicates whether the issue is locked to prevent further comments.

ActiveLockReason String False

The reason why the issue discussion was locked.

Closed Bool False

Indicates whether the issue has been closed.

IsPinned Bool True

Indicates whether the issue is pinned to the top of the repository's issue list.

IncludesCreatedEdit Bool True

Indicates whether the issue has been edited since its creation.

CreatedViaEmail Bool True

Indicates whether the issue was created through an email reply.

DuplicateIssueId String False

ID of the issue that this is a duplicate of.

IssueDependenciesSummaryBlockedBy Int True

Count of issues this issue is blocked by.

IssueDependenciesSummaryBlocking Int True

Count of issues this issue is blocking.

IssueDependenciesSummaryTotalBlockedBy Int True

Total count of issues this issue is blocked by (open and closed).

IssueDependenciesSummaryTotalBlocking Int True

Total count of issues this issue is blocking (open and closed).

ResourcePath String True

The relative HTTP path to access the issue.

Url String True

The full HTTP URL to directly access the issue.

LastEditedAt Datetime True

The date and time when the issue was last edited.

PublishedAt Datetime True

The date and time when the issue was initially published.

ClosedAt Datetime True

The date and time when the issue was closed, if applicable.

UpdatedAt Datetime True

The date and time of the most recent update to the issue.

CreatedAt Datetime True

The date and time when the issue was first created.

MilestoneId String False

Milestones.Id

The unique identifier of the milestone associated with this issue.

MilestoneTitle String True

The title of the milestone associated with the issue.

MilestoneNumber Int True

The sequential number assigned to the milestone in the repository.

IsReadByViewer Bool True

Indicates whether the issue has been read by the current viewer.

ViewerDidAuthor Bool True

Indicates whether the current viewer is the author of the issue.

ViewerSubscription String True

The viewer's subscription status for this issue, such as watching, not watching, or ignoring.

ViewerCanLabel Bool True

Indicates whether the viewer has permission to add or edit labels on this issue.

ViewerCanClose Bool True

Indicates whether the viewer has permission to close the issue.

ViewerCanReopen Bool True

Indicates whether the viewer has permission to reopen a previously closed issue.

ViewerCanDelete Bool True

Indicates whether the viewer has permission to delete this issue.

ViewerCanReact Bool True

Indicates whether the viewer can react to this issue with emojis.

ViewerCanSubscribe Bool True

Indicates whether the viewer can modify their subscription status for the issue.

ViewerThreadSubscriptionStatus String True

The viewer's current subscription status for the issue's thread.

ViewerThreadSubscriptionFormAction String True

The available actions for the viewer to change their thread subscription.

ViewerCanUpdate Bool True

Indicates whether the viewer has permission to update this issue.

ViewerCannotUpdateReasons String True

The reasons why the viewer cannot update the issue, if applicable.

CommentCount Int True

The total number of comments added to the issue.

ReactionCount Int True

The total number of reactions added to the issue.

Mentions String True

Allows filtering of issues that mention a specific user.

Assignee String True

The username of the user assigned to the issue or pull request.

TypeID String False

The Node ID of the IssueType object.

TypeName String True

The issue type's name.

TypeDescription String True

The issue type's description.

TypeIsEnabled Bool True

The issue type's enabled state.

TypeColor String True

The issue type's color.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AssigneeIds String

A list of assignee node IDs for the issue, separated by commas with spaces after each comma.

LabelIds String

A list of label node IDs associated with the issue, separated by commas with spaces after each comma.

IssueTemplate String

The name of an issue template used to pre-fill the issue with predefined labels and assignees.

CData Python Connector for GitHub

Labels

Maintains a catalog of labels available in a repository, enabling effective categorization and filtering of issues and pull requests.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • Name supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Labels]
SELECT * FROM [Labels] WHERE [Name] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Name
  • CreatedAt

SELECT * FROM [Labels] ORDER BY [Name]
SELECT * FROM [Labels] ORDER BY [CreatedAt]

The connector processes ordering by other columns client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Name
  • Description
  • Color

INSERT INTO [Labels] ([Name], [Description], [Color]) VALUES ('TestLabel', 'A test label.', 'ffffff')

Update

You can use the following columns to update a record:

  • Name
  • Description
  • Color

UPDATE [Labels] SET [Name] = 'ChangedName', [Description] = 'Changed description.', [Color] = 'd73a4a' WHERE [Id] = 'LA_kwDOLkrwGs8AAAACOC3ntw'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [Labels] WHERE [Id] = 'LA_kwDOLkrwGs8AAAACOC3ntw'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

A unique identifier for the label within the repository.

Name String False

The name of the label, used to categorize issues and pull requests.

Description String False

A short summary explaining the purpose or usage of the label.

Color String False

The hexadecimal color code representing the label's appearance.

IsDefault Bool True

Indicates whether this label is one of the repository's default labels.

ResourcePath String True

The relative HTTP path to access the label within the repository.

Url String True

The full HTTP URL to directly access the label.

UpdatedAt Datetime True

The date and time when the label was most recently updated.

CreatedAt Datetime True

The date and time when the label was originally created.

CData Python Connector for GitHub

PullRequestReviewRequests

Tracks requests for reviews on pull requests, including information about requested reviewers and their response statuses.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestReviewRequests]
SELECT * FROM [PullRequestReviewRequests] WHERE [PullRequestId] = 'Val1'

The connector processes other filters client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • RequestedReviewerUserId
  • RequestedReviewerTeamId
  • PullRequestId

Note: It is not possible to request both a user and team in the same statement.

INSERT INTO [PullRequestReviewRequests] ([PullRequestId], [RequestedReviewerUserId]) VALUES ('123', '456')
INSERT INTO [PullRequestReviewRequests] ([PullRequestId], [RequestedReviewerTeamId]) VALUES ('123', '789')

Delete

You can specify either of the following sets of WHERE conditions to delete a record:

  • PullRequestId and RequestedReviewerUserId
  • PullRequestId and RequestedReviewerTeamId

DELETE FROM [PullRequestReviewRequests] WHERE [PullRequestId] = '123' AND [RequestedReviewerUserId] = '456'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique node ID of the ReviewRequest object, which is used to identify this specific review request within the GitHub system.

DatabaseId Int True

The primary key identifier for the review request in the database, represented as an integer and used for internal storage and references.

AsCodeOwner Bool True

Indicates whether the review request was specifically made for a code owner to review, highlighting requests that require specialized review.

RequestedReviewerUserId String False

The node ID of the User object representing the individual user who has been requested to review the pull request.

RequestedReviewerUserLogin String True

The GitHub username of the user who has been requested to review the pull request, enabling identification of the reviewer.

RequestedReviewerTeamId String False

The node ID of the Team object representing the team requested to review the pull request, used for organizing team-based reviews.

RequestedReviewerTeamSlug String True

The unique slug of the team within the organization, which helps identify the team in a standardized way across the repository.

RequestedReviewerMannequinId String True

The node ID of the Mannequin object, representing a template or placeholder user that is being requested to review, often used for automating review assignments.

RequestedReviewerMannequinLogin String True

The username of the Mannequin object, which serves as a placeholder or template user when no real reviewer is assigned.

RequestedReviewerBotId String True

The node ID of the Bot object representing a bot that has been requested to review the pull request, typically used for automated checks or processes.

RequestedReviewerBotLogin String True

The username of the bot that is requested to review the pull request, often involved in automated review workflows.

PullRequestId String False

The unique identifier for the pull request to which this review request is associated, linking the review request to a specific pull request.

PullRequestNumber Int True

The number assigned to the pull request within the repository, providing a unique identifier for the pull request and its associated review request.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
BotIds String

The Node IDs of the bot to request.

CData Python Connector for GitHub

PullRequests

Contains metadata about pull requests in a repository, such as their titles, descriptions, current statuses, and authors, to manage proposed changes effectively.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • BaseRefName supports the '=' comparison operator.
  • HeadRefName supports the '=' comparison operator.
  • State supports the '=,IN' comparison operators.
  • Number supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequests]
SELECT * FROM [PullRequests] WHERE [BaseRefName] = 'Val1'
SELECT * FROM [PullRequests] WHERE [HeadRefName] = 'Val1'
SELECT * FROM [PullRequests] WHERE [State] = 'OPEN'
SELECT * FROM [PullRequests] WHERE [Number] = 123

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • UpdatedAt
  • CreatedAt

SELECT * FROM [PullRequests] ORDER BY [UpdatedAt]
SELECT * FROM [PullRequests] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Insert

You can use the following columns to create (insert) a new record:

  • HeadRepositoryId
  • BaseRefName
  • HeadRefName
  • Title
  • Body
  • IsDraft
  • MaintainerCanModify

INSERT INTO [PullRequests] ([Title], [BaseRefName], [HeadRefName]) VALUES ('TestPR', '1-1-out-of-100-issues', 'main')

Update

You can use the following columns to update a record:

  • BaseRefName
  • Title
  • Body
  • State
  • Closed
  • MaintainerCanModify
  • MilestoneId

You can use the following pseudo-columns to update a record:

  • AssigneeIds
  • LabelIds

UPDATE [PullRequests] SET [Closed] = 'false' WHERE [Id] = 'PR_kwDOLkrwGs5zEp0s'
UPDATE [PullRequests] SET [Closed] = true WHERE [Id] = 'PR_kwDOLkrwGs5zEp0s'
UPDATE [PullRequests] SET [Title] = 'NewPRTitle', [AssigneeIds] = 'MDQ6VXNlcjg3ODExMTEx,U_kgDOCXOvpA' WHERE [Id] = 'PR_kwDOLkrwGs5zEp0s'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

A unique identifier for the pull request, used to differentiate it from others in the system.

FullDatabaseId Long True

The primary database identifier for the pull request, stored as a BigInt for scalability.

Author String True

The username of the individual who created the pull request.

AuthorAssociation String True

Defines the relationship between the pull request's author and the repository (for example, 'OWNER', 'CONTRIBUTOR').

Editor String True

The username of the individual who most recently updated the pull request's body content.

HeadRepositoryId String False

The unique identifier of the repository where the pull request's head branch resides.

HeadRepositoryOwner String True

The username of the owner of the repository containing the pull request's head branch.

MergedBy String True

The username of the individual who merged the pull request into the base branch.

BaseRefId String True

The unique identifier of the base branch for this pull request, even if the branch has been deleted.

BaseRefOid String True

The object identifier (OID) of the base branch for this pull request, even if the branch has been deleted.

BaseRefPrefix String True

The namespace prefix (for example, 'refs/heads/') of the base branch for this pull request.

BaseRefName String False

The name of the base branch for this pull request, even if the branch has been deleted.

HeadRefId String True

The unique identifier of the head branch for this pull request, even if the branch has been deleted.

HeadRefOid String True

The object identifier (OID) of the head branch for this pull request, even if the branch has been deleted.

HeadRefPrefix String True

The namespace prefix (for example, 'refs/heads/') of the head branch for this pull request.

HeadRefName String False

The name of the head branch for this pull request, even if the branch has been deleted.

Title String False

The descriptive title of the pull request.

TitleHTML String True

The title of the pull request rendered as formatted HTML.

Body String False

The main content of the pull request, provided in Markdown for formatting.

BodyText String True

The plain-text version of the pull request's content, stripped of any Markdown formatting.

BodyHTML String True

The body of the pull request rendered as HTML for display purposes.

State String False

Indicates the current status of the pull request (for example, 'OPEN', 'MERGED', 'CLOSED').

The allowed values are OPEN, CLOSED, MERGED.

Number Int True

The sequential number assigned to the pull request within the repository.

Mergeable String True

Specifies whether the pull request can be merged without conflicts.

Merged Bool True

A true/false indicator of whether the pull request has been successfully merged.

Closed Bool False

A true/false indicator of whether the pull request has been closed.

ChangedFiles Int True

The total count of files modified as part of this pull request.

Additions Int True

The total number of lines of code added in this pull request.

Deletions Int True

The total number of lines of code removed in this pull request.

TotalCommentsCount Int True

The total number of comments made on this pull request, including review and inline comments.

ReviewDecision String True

The current review status of the pull request, indicating if it has been approved or requires changes (for example, 'APPROVED', 'REQUEST_CHANGES').

Locked Bool True

Indicates whether the conversation on this pull request is locked to prevent further discussion. True if locked, false otherwise.

ActiveLockReason String True

The reason provided for locking the pull request conversation, such as 'RESOLVED' or 'OFF_TOPIC'.

IsDraft Bool False

Indicates whether this pull request is in draft mode, meaning it is not yet ready for review. True if draft, false otherwise.

IsCrossRepository Bool True

Specifies whether the pull request originates from a different repository than the base repository.

MaintainerCanModify Bool False

Indicates whether maintainers of the base repository have permission to make changes to this pull request.

CreatedViaEmail Bool True

Indicates whetherthe pull request was created through an email reply, rather than through the GitHub interface.

IncludesCreatedEdit Bool True

Specifies whether the pull request includes an edit that was made at the time of its creation.

MergeCommitId String True

The unique identifier (commit hash) of the merge commit created when the pull request was merged.

PotentialMergeCommitId String True

A commit hash generated by GitHub to verify if the pull request can be merged, available before the pull request is merged.

Permalink String True

The permanent URL that links directly to this pull request.

ResourcePath String True

The relative API path to access details about this pull request.

ChecksResourcePath String True

The relative API path to access status checks associated with this pull request.

RevertResourcePath String True

The relative API path used to create a revert pull request based on this pull request.

Url String True

The full URL linking to the pull request on GitHub.

ChecksUrl String True

The full URL linking to the status checks for this pull request on GitHub.

RevertUrl String True

The full URL used to initiate a revert of this pull request.

LastEditedAt Datetime True

The timestamp of when the pull request was last edited by any user.

MergedAt Datetime True

The timestamp of when the pull request was successfully merged into the base branch.

ClosedAt Datetime True

The timestamp of when the pull request was closed without being merged.

PublishedAt Datetime True

The timestamp of when a comment related to this pull request was published.

UpdatedAt Datetime True

The timestamp of the most recent update to this pull request, including title, description, or review status changes.

CreatedAt Datetime True

The timestamp of when the pull request was originally created.

MilestoneId String False

The unique identifier of the milestone linked to this pull request.

MilestoneTitle String True

The descriptive title of the milestone associated with this pull request.

MilestoneNumber Int True

The sequential number assigned to the milestone linked to this pull request.

AutoMergeRequestCommitHeadline String True

The title of the commit created as part of the auto-merge request when required by the base branch's merge queue.

AutoMergeRequestAuthorEmail String True

The email address of the user who initiated the auto-merge request.

AutoMergeRequestCommitBody String True

The detailed commit message associated with the auto-merge request when required by the base branch.

AutoMergeRequestEnabledAt Datetime True

The timestamp of when auto-merge was enabled for this pull request.

AutoMergeRequestMergeMethod String True

Specifies the merge strategy used when auto-merging the pull request, determined by the base branch's merge queue requirements.

ViewerDidAuthor Bool True

Indicates whether the currently authenticated user is the author of this pull request.

IsReadByViewer Bool True

Shows whether the pull request has been marked as read by the current user.

ViewerSubscription String True

Indicates the subscription status of the current user regarding this pull request (for example, 'SUBSCRIBED', 'IGNORED').

ViewerCanLabel Bool True

Specifies whether the current user has permission to add or remove labels on this pull request.

ViewerCanClose Bool True

Indicates whether the current user can close this pull request.

ViewerCanReact Bool True

Shows whether the current user can add emoji reactions to this pull request.

ViewerCanReopen Bool True

Indicates whether the current user has the ability to reopen this pull request if it is closed.

ViewerCanSubscribe Bool True

Determines whether the current user can modify their subscription settings for notifications related to this pull request.

ViewerCanApplySuggestion Bool True

Specifies whether the current user has permission to apply suggested code changes in this pull request.

ViewerCanEditFiles Bool True

Indicates whether the current user can edit the files modified in this pull request.

ViewerCanDeleteHeadRef Bool True

Shows whether the current user can restore the deleted head reference of the pull request.

ViewerCanDisableAutoMerge Bool True

Indicates whether the current user has permission to disable the auto-merge feature for this pull request.

ViewerCanEnableAutoMerge Bool True

Shows whether the current user has permission to enable the auto-merge feature for this pull request.

ViewerCanMergeAsAdmin Bool True

Specifies whether the current user can override branch protections and merge the pull request immediately as an administrator.

ViewerCanUpdate Bool True

Indicates whether the current user can modify details of the pull request, such as its title or description.

ViewerCanUpdateBranch Bool True

Shows whether the current user can update the pull request's head branch by merging or rebasing the base branch.

ViewerCannotUpdateReasons String True

Lists the reasons why the current user is unable to update this pull request.

ViewerLatestReviewRequestId String True

The unique identifier of the latest review request made by the current user for this pull request.

ViewerLatestReviewId String True

The unique identifier of the latest review submitted by the current user for this pull request.

IsMergeQueueEnabled Bool True

Indicates whether a merge queue is enabled for the pull request's base branch.

IsInMergeQueue Bool True

Shows whether this pull request is currently waiting in the merge queue.

MergeQueueEntryId String True

The unique identifier for this pull request's entry in the merge queue.

MergeQueueEntryJump Bool True

Indicates whether this pull request has been prioritized to jump ahead in the merge queue.

MergeQueueEntryPosition Int True

The current position of this pull request in the merge queue.

MergeQueueEntrySolo Bool True

Specifies whether this pull request must be merged and deployed independently from other changes.

MergeQueueEntryState String True

Represents the current state of this pull request within the merge queue.

MergeQueueEntryEnqueuedAt Datetime True

The timestamp of when this pull request was added to the merge queue.

MergeQueueEntryEstimatedTimeToMerge Int True

The estimated time, in seconds, until this pull request is expected to be merged from the queue.

MergeQueueEntryBaseCommitId String True

The commit ID representing the base commit in the merge queue entry.

MergeQueueEntryHeadCommitId String True

The commit ID representing the head commit in the merge queue entry.

MergeQueueEntryMergeQueueId String True

The unique identifier for the merge queue that this entry belongs to.

MergeQueueEntryMergeQueueUrl String True

The URL providing access to the merge queue entry within the GitHub web interface.

MergeQueueEntryMergeQueueResourcePath String True

The API resource path to access the merge queue entry details.

MergeQueueEntryMergeQueueNextEntryEstimatedTimeToMerge Int True

The estimated time, in seconds, for the next entry in the merge queue to be merged.

StatusCheckRollupId String True

The unique node ID of the StatusCheckRollup object associated with this pull request.

StatusCheckRollupCommitId String True

The commit ID linked to the status checks and check runs for this pull request.

StatusCheckRollupState String True

The overall status of the pull request's associated checks (for example, 'SUCCESS', 'FAILURE').

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AssigneeIds String

A comma-separated list of node IDs representing users assigned to this pull request.

LabelIds String

A comma-separated list of node IDs representing labels applied to this pull request.

CData Python Connector for GitHub

Releases

Tracks versioned releases in a repository, detailing associated tags, descriptions, and links to attached assets.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • TagName supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [Releases]
SELECT * FROM [Releases] WHERE [TagName] = 'Val1'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Name
  • CreatedAt

SELECT * FROM [Releases] ORDER BY [Name]
SELECT * FROM [Releases] ORDER BY [CreatedAt]

The connector processes ordering by other columns client-side within the connector.

Insert

You can use the following columns to create (insert) a new record:

  • Name
  • Description
  • IsDraft
  • IsPrerelease
  • TagName
  • TagCommitOid

You can use the following pseudo-columns to create a new record:

  • MakeLatest
  • DiscussionCategoryName
  • GenerateReleaseNotes

 INSERT INTO [Releases] ([Name], [Description], [IsDraft], [IsPrerelease], [TagName], [TagCommitOid], [MakeLatest], [GenerateReleaseNotes], [DiscussionCategoryName]) VALUES ('TestRelease', 'Test release description.', false, false, 'v3.6', '0cd56625bdf83fbe33c19dcf82a17c4e40b7efa2', 'legacy', true, 'Ideas');

Update

You can use the following columns to update a record:

  • Name
  • Description
  • IsDraft
  • IsPrerelease
  • TagName
  • TagCommitOid

You can use the following pseudo-columns to update a record:

  • MakeLatest
  • DiscussionCategoryName

UPDATE [Releases] SET [TagName] = 'v3.0', [TagCommitOid] = '3a733d86cd951b902a1ed397457321da5d8157ac', [Name] = 'ChangedName', [Description] = 'Changed text.', [IsDraft] = true, [IsPrerelease] = true, [MakeLatest] = 'false', [DiscussionCategoryName] = 'Polls' WHERE [DatabaseId] = '257443258'

Delete

You can specify the following column to delete a record: DatabaseId

DELETE FROM [Releases] WHERE [DatabaseId] = '257443258'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

A unique identifier assigned to the release for tracking and reference.

DatabaseId Int True

The primary key value for the release, as stored in the database.

Name String False

The title or name of the release, typically used for display and identification.

Description String False

A detailed explanation of the release, including its purpose and key features.

ShortDescriptionHTML String True

A brief summary of the release, rendered in HTML without links. The output is limited to a set number of characters (default 200).

DescriptionHTML String True

The full description of the release, formatted and rendered in HTML.

Immutable Bool True

Whether or not the release is immutable.

IsDraft Bool False

Indicates whether the release is in draft status and not yet published.

IsLatest Bool True

Indicates whether this release is the most recent published version.

IsPrerelease Bool False

Indicates whether this release is a prerelease version, intended for testing before an official launch.

ViewerCanReact Bool True

Indicates whether the current user is allowed to add reactions (such as emoji) to the release.

AuthorId String True

The unique identifier of the user who created the release.

Author String True

The GitHub username of the individual who authored the release.

TagId String True

The unique identifier of the Git tag associated with this release.

TagName String False

The name of the Git tag linked to this release, typically representing a version number.

TagCommitId String True

The commit ID associated with the Git tag for this release.

TagCommitOid String False

The commit SHA associated with the Git tag for this release.

Url String True

The full HTTP URL to access the release page on GitHub.

ResourcePath String True

The relative HTTP path for accessing the release within the repository.

CreatedAt Datetime True

The date and time when the release was initially created.

PublishedAt Datetime True

The date and time when the release was officially published and made available.

UpdatedAt Datetime True

The date and time when the release was last modified or updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
MakeLatest String

Specifies whether this release should be set as the latest release. Defaults to true for newly published releases. Legacy specifies that the latest release should be determined based on the release creation date and higher semantic version.

The allowed values are true, false, legacy.

DiscussionCategoryName String

If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository.

GenerateReleaseNotes Bool

Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes.

CData Python Connector for GitHub

SecretScanningAlerts

Lists secret scanning alerts for the repository.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Number supports the '=' comparison operator.
  • State supports the '=' comparison operator.
  • Resolution supports the '=,IN' comparison operators.
  • SecretType supports the '=,IN' comparison operators.
  • Validity supports the '=,IN' comparison operators.
  • PubliclyLeaked supports the '=' comparison operator.
  • MultiRepo supports the '=' comparison operator.
  • HideSecret supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [SecretScanningAlerts]
SELECT * FROM [SecretScanningAlerts] WHERE [Number] = 123
SELECT * FROM [SecretScanningAlerts] WHERE [State] = 'open'
SELECT * FROM [SecretScanningAlerts] WHERE [Resolution] = 'false_positive'
SELECT * FROM [SecretScanningAlerts] WHERE [SecretType] = 'Val1'
SELECT * FROM [SecretScanningAlerts] WHERE [Validity] = 'active'
SELECT * FROM [SecretScanningAlerts] WHERE [PubliclyLeaked] = true
SELECT * FROM [SecretScanningAlerts] WHERE [MultiRepo] = true
SELECT * FROM [SecretScanningAlerts] WHERE [HideSecret] = true

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • CreatedAt
  • UpdatedAt

SELECT * FROM [SecretScanningAlerts] ORDER BY [CreatedAt]
SELECT * FROM [SecretScanningAlerts] ORDER BY [UpdatedAt]

The connector processes ordering by other columns client-side within the connector.

Update

You can use the following columns to update a record:

  • Number
  • State
  • Resolution
  • ResolutionComment

UPDATE [SecretScanningAlerts] SET [State] = 'resolved', [Resolution] = 'used_in_tests', [ResolutionComment] = 'Used in tests.' WHERE [Number] = '1'

Columns

Name Type ReadOnly References Description
Number [KEY] Int True

The security alert number.

Url String True

The REST API URL for fetching the alert.

HtmlUrl String True

The GitHub URL for viewing the alert.

LocationsUrl String True

The REST API URL for fetching the list of locations for this alert.

State String False

Sets the state of the secret scanning alert.

The allowed values are open, resolved.

Resolution String False

Required when state is resolved. The reason for resolving the alert.

The allowed values are false_positive, wont_fix, revoked, used_in_tests.

ResolutionComment String False

An optional comment when closing or reopening an alert.

ResolvedAt Datetime True

The time that the alert was resolved.

ResolvedByLogin String True

The username of the user that resolved the alert.

SecretType String True

The type of secret that secret scanning detected.

SecretTypeDisplayName String True

User-friendly name for the detected secret type.

Secret String True

The secret that was detected.

IsBase64Encoded Bool True

Whether the secret is in base64 encoding.

Validity String True

The token status as of the latest validity check.

The allowed values are active, inactive, unknown.

PubliclyLeaked Bool True

Whether the secret is publicly available online.

MultiRepo Bool True

Whether the secret was detected in multiple repositories.

PushProtectionBypassed Bool True

Whether push protection was bypassed for the detected secret.

PushProtectionBypassedAt Datetime True

The time that push protection was bypassed.

PushProtectionBypassedByLogin String True

The username of the user that bypassed push protection.

PushProtectionBypassRequestReviewerLogin String True

The username of the user requested to review the bypass.

PushProtectionBypassRequestReviewerComment String True

The comment provided by the bypass reviewer.

PushProtectionBypassRequestComment String True

The comment provided when requesting a bypass.

PushProtectionBypassRequestHtmlUrl String True

The GitHub URL for the bypass request.

FirstLocationPath String True

The file path where the secret was first detected.

FirstLocationStartLine Int True

Line number at which the secret starts in the file.

FirstLocationEndLine Int True

Line number at which the secret ends in the file.

FirstLocationStartColumn Int True

Column at which the secret starts in the file.

FirstLocationEndColumn Int True

Column at which the secret ends in the file.

FirstLocationBlobSha String True

SHA of the blob containing the secret.

FirstLocationBlobUrl String True

API URL of the blob containing the secret.

FirstLocationCommitSha String True

SHA of the commit containing the secret.

FirstLocationCommitUrl String True

API URL of the commit containing the secret.

HasMoreLocations Bool True

Whether the alert has additional locations beyond the first.

AssignedToLogin String True

The username of the user assigned to the alert.

CreatedAt Datetime True

The time that the alert was created.

UpdatedAt Datetime True

The time that the alert was updated.

HideSecret Bool True

Whether or not to hide literal secrets in the results.

CData Python Connector for GitHub

VulnerabilityAlerts

Lists Dependabot vulnerability alerts for the repository.

Table-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Number supports the '=,IN' comparison operators.
  • DependencyScope supports the '=,IN' comparison operators.
  • State supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [VulnerabilityAlerts]
SELECT * FROM [VulnerabilityAlerts] WHERE [Number] = 123
SELECT * FROM [VulnerabilityAlerts] WHERE [DependencyScope] = 'DEVELOPMENT'
SELECT * FROM [VulnerabilityAlerts] WHERE [State] = 'AUTO_DISMISSED'

The connector processes other filters client-side within the connector.

Update

You can use the following column to update a record: DismissReason

UPDATE [VulnerabilityAlerts] SET [DismissReason] = 'TOLERABLE_RISK' WHERE [Id] = 'RVA_000O00'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The Node ID of the RepositoryVulnerabilityAlert object.

Number Int True

Identifies the alert number.

DependencyScope String True

The scope of the alert's dependency.

The allowed values are DEVELOPMENT, RUNTIME.

DependencyRelationship String True

The relationship of the alert's dependency.

The allowed values are UNKNOWN, DIRECT, INCONCLUSIVE, TRANSITIVE.

VulnerableManifestFilename String True

The vulnerable manifest filename.

VulnerableManifestPath String True

The vulnerable manifest path.

VulnerableRequirements String True

The vulnerable requirements.

GhsaId String True

The GitHub Security Advisory ID.

SecurityAdvisoryId String True

The Node ID of the associated SecurityAdvisory object.

SecurityAdvisoryDatabaseId Int True

Identifies the primary key from the database.

SecurityAdvisorySummary String True

A short plaintext summary of the advisory.

SecurityAdvisoryDescription String True

A long-form Markdown-supported description of the advisory.

SecurityAdvisoryOrigin String True

The organization that originated the advisory.

SecurityAdvisoryClassification String True

The classification of the advisory.

The allowed values are GENERAL, MALWARE.

SecurityAdvisoryIdentifiers String True

A list of identifiers for this advisory.

SecurityAdvisoryReferences String True

A list of references for this advisory.

SecurityAdvisoryPermalink String True

The permalink for the advisory.

SecurityAdvisoryNotificationsPermalink String True

The permalink for the advisory's dependabot alerts page.

SecurityAdvisorySeverity String True

The severity of the advisory.

The allowed values are LOW, MODERATE, HIGH, CRITICAL.

SecurityAdvisoryEpssPercentage Decimal True

The EPSS percentage represents the likelihood of a CVE being exploited.

SecurityAdvisoryEpssPercentile Decimal True

The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs.

SecurityAdvisoryCvssV3Score Decimal True

The CVSS v3 score associated with this advisory.

SecurityAdvisoryCvssV3VectorString String True

The CVSS v3 vector string associated with this advisory.

SecurityAdvisoryCvssV4Score Decimal True

The CVSS v4 score associated with this advisory.

SecurityAdvisoryCvssV4VectorString String True

The CVSS v4 vector string associated with this advisory.

SecurityAdvisoryPublishedAt Datetime True

When the advisory was published.

SecurityAdvisoryUpdatedAt Datetime True

When the advisory was last updated.

SecurityAdvisoryWithdrawnAt Datetime True

When the advisory was withdrawn, if it has been withdrawn.

SecurityVulnerabilityPackageName String True

The package name affected by the vulnerability.

SecurityVulnerabilityPackageEcosystem String True

The ecosystem the package belongs to.

The allowed values are ACTIONS, COMPOSER, ERLANG, GO, MAVEN, NPM, NUGET, PIP, PUB, RUBYGEMS, RUST, SWIFT.

SecurityVulnerabilityVulnerableVersionRange String True

A string that describes the vulnerable package versions.

SecurityVulnerabilityFirstPatchedVersion String True

The first version containing a fix for the vulnerability.

SecurityVulnerabilitySeverity String True

The severity of the vulnerability within this package.

The allowed values are LOW, MODERATE, HIGH, CRITICAL.

SecurityVulnerabilityUpdatedAt Datetime True

When the vulnerabillity was last updated.

DependabotPullRequestId String True

The Node ID of the PullRequest object.

DependabotPullRequestNumber Int True

Identifies the pull request number.

DependabotUpdateError String True

The title of the error from the Dependabot update.

State String True

Identifies the state of the alert.

The allowed values are AUTO_DISMISSED, DISMISSED, FIXED, OPEN.

DismissReason String False

The reason the alert was dismissed.

DismissComment String True

Comment explaining the reason the alert was dismissed.

DismisserLogin String True

The username of the user who dismissed the alert.

CreatedAt Datetime True

When was the alert created.

DismissedAt Datetime True

When was the alert dismissed.

AutoDismissedAt Datetime True

When was the alert auto-dismissed.

FixedAt Datetime True

When was the alert fixed.

CData Python Connector for GitHub

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for GitHub Views

Name Description
AssignableUsers Identifies users who are eligible to be assigned to repository issues, based on their roles and permissions.
CodeScanningAlertInstances Lists all code locations where a specific code scanning alert occurs.
CodeScanningAnalyses Lists code scanning analyses for the repository.
Collaborators Lists collaborators in a repository, including their roles, permissions, and contributions to the project.
CommitComments Tracks comments made on specific commits, providing insights into discussions and feedback related to code changes.
CommitCompare Stores a detailed list of commits generated from a comparison of two references, such as branches or tags.
CommitCompareFiles Tracks files modified during a comparison between two references, providing details on up to 300 changed files for review.
CommitFiles Details files modified in specific commits, including filenames, change types (for example, added, deleted, modified), and related metadata.
Forks Provides metadata about forks created from a repository, including fork ownership and purpose, to support collaboration and innovation.
IssueAssignedActors Lists information about the assigned actors to the repository's issues.
IssueAssignees Tracks users assigned to issues within a repository, detailing responsibilities and roles for task ownership.
IssuePullRequests Connects issues to related pull requests, allowing traceability between reported problems and their solutions.
IssuesBlockedBy Lists all project issues which the specified issue is blocked by.
IssuesBlocking Lists all project issues which the specified issue is blocking.
IssueSuggestedActors Lists information about the suggested actors to the repository's issues.
IssueTypes Lists information about repository issue types.
MentionableUsers Identifies users who can be mentioned in repository discussions, including issues, pull requests, and comments, based on permissions.
MergeQueueEntries Tracks individual pull requests in the merge queue, including their statuses and any pending actions for orderly processing.
MergeQueues Provides an overview of active merge queues in a repository, listing pull requests and their order for systematic integration.
Milestones Details milestones in a repository, including their goals, deadlines, and associated issues or pull requests for project tracking.
PullRequestAssignedActors Assigned actors to this pull request.
PullRequestComments Records comments on pull requests, documenting feedback and discussions during the code review process.
PullRequestCommits Provides a list of commits included in pull requests, detailing the changes introduced and the commits' authors.
PullRequestFiles Tracks files modified within pull requests, listing filenames, change types, and details for thorough review.
PullRequestReviewComments Logs comments made during pull request reviews, capturing feedback, suggestions, and discussions for improving the code.
PullRequestReviews Stores details of reviews conducted on pull requests, including reviewer actions (approved, requested changes, commented) and timestamps.
PullRequestSuggestedActors Suggested actors for this pull request.
ReleaseAssets Lists assets attached to repository releases, including binary files, source code archives, and other downloadable content for distribution.
SecretScanningAlertLocations Lists all locations where a secret scanning alert was detected.
SecretScanningHistory Lists secret scanning scans by type for the repository.
Stargazers Lists users who have starred a repository, indicating their interest in or support for the project.
Topics Catalogs topics assigned to a repository, helping categorize and improve discoverability through tags such as 'open-source' or 'web-development.'
TrafficClonesDaily Logs daily statistics of repository clones for the last 14 days, providing insight into the frequency and patterns of cloning activity.
TrafficClonesWeekly Summarizes weekly clone statistics for the last 14 days, offering a higher-level view of cloning trends.
TrafficPageViewsDaily Records daily page view statistics for a repository, helping track user engagement and traffic patterns over time.
TrafficPageViewsWeekly Aggregates weekly page view statistics for a repository, giving an overview of user interaction trends for the past two weeks.
TrafficTopReferralPaths Lists the top 10 most frequently accessed paths in a repository over the past 14 days, helping identify popular content and entry points.
TrafficTopReferralSources Identifies the top 10 sources driving traffic to a repository in the last 14 days, such as search engines, social media, or external links.
Watchers Tracks users watching a repository, providing visibility into who is monitoring updates, changes, and activity.

CData Python Connector for GitHub

AssignableUsers

Identifies users who are eligible to be assigned to repository issues, based on their roles and permissions.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operator:

  • Login supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [AssignableUsers]
SELECT * FROM [AssignableUsers] WHERE [Login] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier for the user, used across the system.
DatabaseId Int The primary key for the user in the database, ensuring unique identification.
Login String The user's GitHub login username, used for authentication and display.
Name String The publicly visible name of the user, often used for display purposes.
Email String The user's publicly visible email address, if they have chosen to share it.
TwitterUsername String The user's Twitter handle, linked to their GitHub profile.
Pronouns String The pronouns specified by the user on their profile.
Bio String A textual description of the user, provided on their public GitHub profile.
BioHTML String The user's biography rendered as HTML, for use in web applications.
Company String The organization or company the user is affiliated with, as per their profile.
CompanyHTML String The user's affiliated company rendered as HTML for web use.
Location String The geographic location provided by the user on their profile.
AnyPinnableItems Bool Indicates whether this user can pin items, such as repositories, to their profile.
PinnedItemsRemaining Int The number of additional items this user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether this user has any pinned repositories or gists in their profile showcase.
IsEmployee Bool Specifies whether the user is an employee of GitHub.
IsHireable Bool Indicates whether the user has marked themselves as available for hiring opportunities.
IsBountyHunter Bool Indicates whether this user participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether this user is part of the GitHub Campus Experts program.
IsFollowingViewer Bool Indicates whether this user is following the current viewer. Inverse of ViewerIsFollowing.
IsSiteAdmin Bool Specifies whether the user has administrative privileges on the GitHub site.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsGitHubStar Bool Specifies whether the user is part of the GitHub Stars program, recognizing outstanding community members.
IsSponsoringViewer Bool True if the user or organization is sponsoring the current viewer on GitHub.
IsViewer Bool Indicates whether this user is the same as the current viewing user.
ViewerCanFollow Bool Indicates whether the current viewer has the option to follow this user.
ViewerCanSponsor Bool Indicates whether the current viewer can sponsor this user or organization.
ViewerIsFollowing Bool True if this user is currently being followed by the viewer.
ViewerIsSponsoring Bool True if the viewer is currently sponsoring this user or organization.
ViewerCanChangePinnedItems Bool Indicates whether the viewer has permission to pin repositories and gists to this user's profile.
StatusId String A unique identifier for the user's current status emoji.
StatusEmoji String An emoji representing the user's current status, such as availability or mood.
StatusMessage String A short custom message set by the user to describe their current status or activity.
StatusIndicatesLimitedAvailability Bool True if the status indicates that the user has limited availability on GitHub.
StatusEmojiHTML String The status emoji formatted as HTML for web display.
StatusCreatedAt Datetime The timestamp when the status was first created.
StatusExpiresAt Datetime If specified, this timestamp indicates when the status automatically expires and is no longer displayed.
StatusUpdatedAt Datetime The timestamp of the most recent update to the user's status.
StatusOrganizationId String A unique identifier for the organization associated with the user's status.
StatusOrganizationLogin String The login name of the organization associated with the user's status.
InteractionAbilityLimit String The current interaction restriction applied to this user or organization (for example, limit on who can comment or interact).
InteractionAbilityOrigin String Specifies the source of the current interaction limit (for example, user settings or GitHub policy).
InteractionAbilityExpiresAt Datetime The expiration timestamp of the current interaction limit, after which restrictions will be lifted.
HasSponsorsListing Bool True if this user or organization has a GitHub Sponsors listing to receive financial support.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income in cents (USD) from GitHub Sponsors for this user or organization.
EstimatedNextSponsorsPayoutInCents Int The estimated payout in cents (USD) for the next GitHub Sponsors disbursement.
SponsorsListingId String A unique identifier for the GitHub Sponsors listing associated with this user or organization.
SponsorsListingName String The full name of the GitHub Sponsors listing for this user or organization.
TotalSponsorshipAmountAsSponsorInCents Int The total amount in cents (USD) that this user or organization has spent on GitHub sponsorships. Visible only to the user or authorized managers.
ResourcePath String The relative GitHub API path to access this user's profile.
ProjectsResourcePath String The relative GitHub API path to list this user's projects.
Url String The full HTTP URL to the user's GitHub profile.
ProjectsUrl String The full HTTP URL listing the user's GitHub projects.
WebsiteUrl String A publicly shared URL linking to the user's personal website or blog.
AvatarUrl String A URL pointing to the user's avatar image. Accepts a size argument to specify the resolution.
CopilotEndpointsApi String The API endpoint used for GitHub Copilot services.
CopilotEndpointsOriginTracker String The tracking endpoint used to monitor Copilot request origins.
CopilotEndpointsProxy String The proxy endpoint for routing GitHub Copilot requests.
CopilotEndpointsTelemetry String The telemetry endpoint used for GitHub Copilot usage tracking.
CreatedAt Datetime The timestamp when this user account was created.
UpdatedAt Datetime The timestamp of the most recent update to the user's profile.
RepositoryCount Int The total number of repositories owned by the user.
FollowerCount Int The total number of followers the user has on GitHub.

CData Python Connector for GitHub

CodeScanningAlertInstances

Lists all code locations where a specific code scanning alert occurs.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • AlertNumber supports the '=,IN' comparison operators.
  • Ref supports the '=' comparison operator.
  • PullRequestNumber supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [CodeScanningAlertInstances]
SELECT * FROM [CodeScanningAlertInstances] WHERE [AlertNumber] = 123
SELECT * FROM [CodeScanningAlertInstances] WHERE [Ref] = 'Val1'
SELECT * FROM [CodeScanningAlertInstances] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
AlertNumber Int

CodeScanningAlerts.Number

The security alert number.
Ref String The Git reference (e.g., refs/heads/main, refs/pull/123/merge).
AnalysisKey String Identifies the configuration under which the analysis was executed (e.g., workflow filename and job name).
Environment String Identifies the variable values associated with the environment (e.g., language analyzed).
Category String Identifies the configuration under which the analysis was executed (e.g., language or code section).
State String State of this instance.

The allowed values are open, dismissed, fixed.

CommitSha String The commit SHA where this instance was detected.
MessageText String The message text associated with this instance.
LocationPath String The file path where the alert was detected.
LocationStartLine Int Line number at which the alert starts in the file.
LocationEndLine Int Line number at which the alert ends in the file.
LocationStartColumn Int Column at which the alert starts in the file.
LocationEndColumn Int Column at which the alert ends in the file.
HtmlUrl String The GitHub URL of this instance.
Classifications String Classifications applied to the file (e.g., source, generated, test, library).
PullRequestNumber Int The number of the pull request for the results you want to list.

CData Python Connector for GitHub

CodeScanningAnalyses

Lists code scanning analyses for the repository.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Id supports the '=' comparison operator.
  • Ref supports the '=' comparison operator.
  • SarifId supports the '=' comparison operator.
  • ToolName supports the '=' comparison operator.
  • ToolGuid supports the '=' comparison operator.
  • PullRequestNumber supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [CodeScanningAnalyses]
SELECT * FROM [CodeScanningAnalyses] WHERE [Id] = 123
SELECT * FROM [CodeScanningAnalyses] WHERE [Ref] = 'Val1'
SELECT * FROM [CodeScanningAnalyses] WHERE [SarifId] = 'Val1'
SELECT * FROM [CodeScanningAnalyses] WHERE [ToolName] = 'Val1'
SELECT * FROM [CodeScanningAnalyses] WHERE [ToolGuid] = 'Val1'
SELECT * FROM [CodeScanningAnalyses] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following column: CreatedAt

SELECT * FROM [CodeScanningAnalyses] ORDER BY [CreatedAt]

The connector processes ordering by other columns client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] Int Unique identifier for this analysis.
Ref String The Git reference (e.g., refs/heads/main, refs/pull/123/merge).
CommitSha String The SHA of the commit to which the analysis relates.
AnalysisKey String Identifies the configuration under which the analysis was executed (e.g., workflow filename and job name).
Environment String Identifies the variable values associated with the environment.
Category String Identifies the configuration under which the analysis was executed (e.g., language or code section).
Error String Error message if the analysis failed.
Warning String Warning generated when processing the analysis.
Url String The REST API URL of the analysis resource.
SarifId String An identifier for the SARIF upload.
ResultsCount Int The total number of results in the analysis.
RulesCount Int The total number of rules used in the analysis.
ToolName String The name of the tool used to generate the code scanning analysis.
ToolGuid String The GUID of the tool used to generate the code scanning analysis.
ToolVersion String The version of the tool used to generate the code scanning analysis.
CreatedAt Datetime The time that the analysis was created.
Deletable Bool Whether this analysis can be deleted.
PullRequestNumber Int The number of the pull request for the results you want to list.

CData Python Connector for GitHub

Collaborators

Lists collaborators in a repository, including their roles, permissions, and contributions to the project.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [Collaborators]

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier for the user.
DatabaseId Int The primary key identifying the user in the database.
Login String The username associated with the user's GitHub account.
Name String The user's publicly displayed name on their GitHub profile.
Email String The publicly visible email address listed on the user's profile, if available.
TwitterUsername String The user's Twitter handle, if linked to their GitHub profile.
Pronouns String The pronouns specified by the user on their profile.
Bio String A short biography provided by the user to describe themselves.
BioHTML String The user's bio formatted in HTML for display on web pages.
Company String The company or organization the user is affiliated with, as listed on their profile.
CompanyHTML String The user's company information formatted as HTML.
Location String The geographic location specified by the user on their profile.
AnyPinnableItems Bool Indicates whether the user has repositories or gists that can be pinned to their profile. Accepts a filter argument for specific item types.
PinnedItemsRemaining Int The number of additional repositories or gists the user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the user has pinned any repositories or gists to their profile.
IsEmployee Bool Indicates whether the user is an employee of GitHub.
IsHireable Bool Indicates whether the user has marked themselves as available for hiring.
IsBountyHunter Bool Indicates whether the user participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a member of the GitHub Campus Experts Program.
IsFollowingViewer Bool Indicates whether this user is following the currently authenticated viewer.
IsSiteAdmin Bool Indicates whether the user has GitHub site administrator privileges.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsGitHubStar Bool Indicates whether the user is recognized as a GitHub Star for their contributions to the community.
IsSponsoringViewer Bool True if this user or organization is sponsoring the currently authenticated viewer.
IsViewer Bool Indicates whether this user is the currently authenticated viewer.
ViewerCanFollow Bool Indicates whether the currently authenticated viewer is able to follow this user.
ViewerCanSponsor Bool Indicates whether the currently authenticated viewer is able to sponsor this user or organization through GitHub Sponsors.
ViewerIsFollowing Bool Indicates whether the currently authenticated viewer is following this user.
ViewerIsSponsoring Bool True if the currently authenticated viewer is sponsoring this user or organization.
ViewerCanChangePinnedItems Bool Indicates whether the viewer has permission to pin repositories and gists to the user's GitHub profile.
StatusId String A unique identifier for the emoji representing the user's current status.
StatusEmoji String The emoji used to summarize the user's current status, such as availability or activity.
StatusMessage String A short custom message set by the user to describe what they are currently doing.
StatusIndicatesLimitedAvailability Bool True if the user's status indicates limited availability on GitHub, such as being away or unavailable.
StatusEmojiHTML String The status emoji formatted as HTML for rendering on web pages.
StatusCreatedAt Datetime The timestamp when the user's status was first created.
StatusExpiresAt Datetime The expiration timestamp for the user's status, after which it is no longer be visible.
StatusUpdatedAt Datetime The timestamp of the last update made to the user's status.
StatusOrganizationId String The unique identifier of the organization associated with the user's status.
StatusOrganizationLogin String The login name of the organization to which the user belongs, if applicable.
InteractionAbilityLimit String The type of limit currently imposed on interactions with the user's profile (for example, comment restrictions).
InteractionAbilityOrigin String The source or origin of the interaction limit, such as user settings or a GitHub policy.
InteractionAbilityExpiresAt Datetime The expiration timestamp of the active interaction limit, indicating when the restriction will be lifted.
HasSponsorsListing Bool Indicates whether the user or organization has a public listing on GitHub Sponsors to receive financial support.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income (in cents USD) that the user or organization receives through GitHub Sponsors.
EstimatedNextSponsorsPayoutInCents Int The estimated payout (in cents USD) the user or organization will receive from GitHub Sponsors during the next disbursement.
SponsorsListingId String The unique identifier of the GitHub Sponsors listing associated with the user or organization.
SponsorsListingName String The full name of the GitHub Sponsors listing for the user or organization.
TotalSponsorshipAmountAsSponsorInCents Int The total amount (in cents USD) the user or organization has spent sponsoring other GitHub users or projects.
ResourcePath String The relative HTTP path that leads to this user's profile resource in the GitHub API.
ProjectsResourcePath String The relative HTTP path listing the user's projects available through the GitHub API.
Url String The full HTTP URL pointing to the user's public GitHub profile.
ProjectsUrl String The full HTTP URL listing the user's GitHub projects.
WebsiteUrl String A URL pointing to the user's personal or professional website or blog, if available.
AvatarUrl String A URL pointing to the user's avatar image on GitHub. The 'size' parameter can be specified to adjust the image resolution.
CopilotEndpointsApi String The API endpoint used for GitHub Copilot services, providing access to Copilot features.
CopilotEndpointsOriginTracker String The endpoint for tracking the origin of requests made to GitHub Copilot services.
CopilotEndpointsProxy String The proxy endpoint used for routing requests made to GitHub Copilot services.
CopilotEndpointsTelemetry String The endpoint used for sending telemetry data related to GitHub Copilot usage.
CreatedAt Datetime The timestamp when this user's GitHub profile or object was created.
UpdatedAt Datetime The timestamp when the user's GitHub profile or object was last updated.
RepositoryCount Int The total number of repositories that the user owns on GitHub.
FollowerCount Int The total number of users who are following this user on GitHub.
Permission String The level of permission granted to the user for the repository, such as 'read', 'write', or 'admin'.
RepositoryId String The unique identifier for the repository that the user has access to.

CData Python Connector for GitHub

CommitComments

Tracks comments made on specific commits, providing insights into discussions and feedback related to code changes.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [CommitComments]

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier for the commit comment, used for referencing it within the system.
DatabaseId Int The primary key for this commit comment in the database.
Body String The content of the comment, written in Markdown format for formatting flexibility.
BodyText String The body of the comment, rendered as plain text, with Markdown removed.
BodyHTML String The body of the comment, rendered as HTML, preserving Markdown formatting for web display.
Author String The username of the individual who authored the comment on the commit.
AuthorAssociation String Describes the author's relationship to the subject of the comment (for example, 'OWNER', 'COLLABORATOR').
Editor String The username of the person who last edited the comment, if applicable.
IsMinimized Bool Indicates whether the comment has been minimized (that is, collapsed) for display purposes.
MinimizedReason String Provides a reason for why the comment was minimized, if available.
CreatedViaEmail Bool Indicates whether the comment was created by replying to an email notification from GitHub.
IncludesCreatedEdit Bool Indicates whether the comment was edited after it was initially created, with the creation data included.
ResourcePath String The relative HTTP path to access this specific comment resource in the GitHub API.
Url String The full HTTP URL where the comment can be accessed on GitHub.
LastEditedAt Datetime The timestamp of the most recent edit made to the comment.
PublishedAt Datetime The timestamp when the comment was originally published.
CreatedAt Datetime The timestamp when the comment object was created, including its first submission.
UpdatedAt Datetime The timestamp when the comment was last updated, reflecting changes to its content or metadata.
ViewerDidAuthor Bool Indicates whether the current viewer authored this comment.
ViewerCanDelete Bool Indicates whether the current viewer has permission to delete this comment.
ViewerCanMinimize Bool Indicates whether the current viewer can minimize this comment to hide it.
ViewerCanReact Bool Indicates whether the viewer is allowed to react (for example, thumbs up or thumbs down) to this comment.
ViewerCanUpdate Bool Indicates whether the current viewer has permission to edit or update this comment.
ViewerCannotUpdateReasons String Lists the reasons why the current viewer cannot update this comment, such as permission issues or content restrictions.
ReactionGroups String A list of grouped reactions (for example, thumbs up, thumbs down) left by users on this comment.
ViewerId String The unique identifier for the viewer who is accessing or interacting with the comment.
CommitId String

Commits.Id

The unique identifier for the commit associated with the comment, if applicable.
Path String The file path that the comment refers to within the commit's changes.
Position Int The line number or position within the file where the comment is associated.

CData Python Connector for GitHub

CommitCompare

Stores a detailed list of commits generated from a comparison of two references, such as branches or tags.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Base supports the '=' comparison operator.
  • Head supports the '=' comparison operator.

For example, the following query is processed server-side:

SELECT * FROM [CommitCompare] WHERE [Base] = 'Val1' AND [Head] = 'Val2'

The connector processes other filters client-side within the connector. The Base and Head filters are mandatory to query these views.

Columns

Name Type References OrderBySupport Description
Type [KEY] String The type of the commit, indicating its purpose or classification (for example, 'merge', 'update', 'feature').
Id [KEY] String

Commits.Id

The unique node ID associated with this commit, used for internal reference within the system.
Oid String

Commits.Oid

The unique SHA identifier for the commit, representing a cryptographic hash of the commit's contents.
Url String The URL used to access the commit details via the GitHub API.
HtmlUrl String The URL to view this commit directly in a web browser on GitHub.
CommentsUrl String The URL for accessing any comments associated with this commit.
CommentCount Int The number of comments currently made on this commit, indicating user interaction.
TreeSha String The SHA hash of the tree object associated with this commit, identifying the directory structure at the time of the commit.
TreeUrl String The URL for accessing the tree structure (that is, the files and directories) related to this commit.
GitUrl String The URL that provides access to Git-specific information about the commit, often used for Git operations.
Message String The commit message provided by the author, summarizing the changes made in this commit.
AuthorName String The name of the person who authored the commit.
AuthorEmail String The email address of the author who made the commit, often used for contact or attribution.
AuthorLogin String The GitHub username of the commit author, used to reference the author within the GitHub platform.
AuthorId Int A unique identifier assigned to the author within GitHub's database.
AuthorNodeId String The unique node ID assigned to the author, used internally by GitHub for reference.
AuthorAvatarUrl String The URL pointing to the author's avatar image, displayed on their profile or commit history.
AuthorGravatarId String The Gravatar ID associated with the author, used for avatar management across various services.
AuthorUrl String The API URL for accessing the author's GitHub profile data programmatically.
AuthorHtmlUrl String The HTML URL that leads to the author's profile page on GitHub, where their repositories and contributions can be viewed.
AuthorFollowersUrl String The URL for accessing the list of followers of the author, showing their connections within GitHub.
AuthorFollowingUrl String The URL for accessing the list of users the author is following, which indicates their network and collaboration links.
AuthorGistsUrl String The URL for accessing the author's public gists, which are small code snippets or files shared within GitHub.
AuthorStarredUrl String The URL for accessing the repositories that the author has starred, indicating their favorite or most important projects.
AuthorSubscriptionsUrl String The URL for accessing the author's subscription list, showing the repositories or users they are subscribed to for notifications.
AuthorOrganizationsUrl String The URL for accessing the organizations that the author belongs to, useful for viewing their team collaborations.
AuthorReposUrl String The URL for accessing the author's repositories, where all their contributed or owned repositories are listed.
AuthorEventsUrl String The URL for accessing the events generated by the author, such as push events, pull requests, etc.
AuthorReceivedEventsUrl String The URL for accessing events received by the author, such as comments or mentions by others.
AuthorType String Indicates the type of the author, such as 'User' or 'Organization'.
AuthorSiteAdmin Bool Indicates whether the author is a GitHub site administrator, providing them with elevated access and privileges within the platform.
AuthorStarredAt Datetime The timestamp when the author starred this repository, indicating their interest or endorsement of the repository.
AuthorDate Datetime The date and time when the commit was authored, reflecting when the changes were initially made.
AuthorUserViewType String Whether a user being viewed contains public or private information.
CommitterName String The name of the committer who finalized the commit, potentially different from the author if they are distinct individuals.
CommitterEmail String The email address of the committer, providing a point of contact for the person who made the commit.
CommitterLogin String The GitHub username of the committer, used to identify them within GitHub.
CommitterId Int The unique identifier of the committer within GitHub's database, used for internal referencing.
CommitterNodeId String The unique node ID assigned to the committer, a system-wide identifier used in GitHub's infrastructure.
CommitterAvatarUrl String The URL pointing to the committer's avatar image, used to visually identify them across the platform.
CommitterGravatarId String The Gravatar ID associated with the committer, used for cross-service avatar management.
CommitterUrl String The API URL for accessing the committer's profile data, useful for automated tools and integrations.
CommitterHtmlUrl String The HTML URL that leads to the committer's public profile on GitHub.
CommitterFollowersUrl String The URL to view the list of followers of the committer, indicating their network within GitHub.
CommitterFollowingUrl String The URL to view the list of users that the committer is following, indicating their interests and collaborations.
CommitterGistsUrl String The URL to access the committer's public gists, which are shared snippets of code or documentation.
CommitterStarredUrl String The URL for accessing repositories that the committer has starred, indicating their favorite or noteworthy projects.
CommitterSubscriptionsUrl String The URL for accessing the committer's subscription list, showing repositories or users they are subscribed to for notifications.
CommitterOrganizationsUrl String The URL to access the organizations the committer belongs to, providing information about their professional associations.
CommitterReposUrl String The URL for accessing the committer's repositories, which lists all the repositories they own or contribute to.
CommitterEventsUrl String The URL for accessing events that the committer has performed, such as pushes or pull requests.
CommitterReceivedEventsUrl String The URL for accessing events received by the committer, like comments or mentions from others.
CommitterType String Indicates the type of the committer (for example, 'User', 'Bot', or 'Organization').
CommitterSiteAdmin Bool Indicates whether the committer has site administrator privileges on GitHub, providing them with special access and control.
CommitterStarredAt Datetime The timestamp when the committer starred this repository, showing their personal endorsement of the repository.
CommitterDate Datetime The date and time when the commit was actually made, reflecting when the changes were committed to the repository.
CommitterUserViewType String Whether a user being viewed contains public or private information.
VerificationVerified Bool Indicates whether the commit has been verified, confirming the authenticity of the commit's source.
VerificationReason String The reason explaining why the commit was or was not verified, such as security or trust issues.
VerificationPayload String The payload used during the commit verification process, providing technical details related to the verification process.
VerificationSignature String The cryptographic signature used for verifying the commit, ensuring the integrity and origin of the changes.
VerificationVerifiedAt Datetime The date the signature was verified by GitHub.
StatsAdditions Int The number of lines of code added in this commit, indicating the extent of new content introduced.
StatsDeletions Int The number of lines of code deleted in this commit, showing the scope of changes that removed content.
StatsTotal Int The total number of lines changed in this commit, which is the sum of both added and deleted lines.
Parents String The list of parent commits for this commit, representing the commit history leading up to the current commit. Multiple parents indicate a merge commit.
Base String The ref (branch, tag, or commit hash) that serves as the base for a comparison, representing the starting point in the comparison between two commits.
Head String The ref (branch, tag, or commit hash) that serves as the head for a comparison, representing the endpoint in the comparison between two commits.

CData Python Connector for GitHub

CommitCompareFiles

Tracks files modified during a comparison between two references, providing details on up to 300 changed files for review.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Base supports the '=' comparison operator.
  • Head supports the '=' comparison operator.

For example, the following query is processed server-side:

SELECT * FROM [CommitCompareFiles] WHERE [Base] = 'Val1' AND [Head] = 'Val2'

The connector processes other filters client-side within the connector. The Base and Head filters are mandatory to query these views.

Columns

Name Type References OrderBySupport Description
Sha [KEY] String The SHA (Secure Hash Algorithm) of the file, uniquely identifying the file's content in the repository.
FileName String The name of the file that was changed in the commit.
Additions Int The number of lines added to the file in this commit.
Deletions Int The number of lines deleted from the file in this commit.
Changes Int The total number of changes made to the file, including additions and deletions.
Status String The status of the file in the commit, such as 'modified', 'added', or 'removed'.
BlobUrl String A URL linking to the file in blob format, representing the file's content at the time of the commit.
RawUrl String A direct URL linking to the raw content of the file, allowing users to view the file as plain text.
ContentsUrl String A URL linking to the file served by the content management system, providing access to the file's content.
Patch String A diff-format representation of the changes made to the file, showing additions and deletions.
PreviousFileName String The name of the file before any changes were made in this commit, if applicable (for example, in renaming).
Base String The ref (branch, tag, or commit hash) that serves as the starting point for a comparison between the file versions.
Head String The ref (branch, tag, or commit hash) that serves as the endpoint for a comparison between the file versions.

CData Python Connector for GitHub

CommitFiles

Details files modified in specific commits, including filenames, change types (for example, added, deleted, modified), and related metadata.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • CommitOid supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [CommitFiles]
SELECT * FROM [CommitFiles] WHERE [CommitOid] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
CommitId [KEY] String

Commits.Id

The node ID of the commit, uniquely identifying the commit in the repository history.
CommitOid String

Commits.Oid

The SHA (Secure Hash Algorithm) of the commit, which serves as a unique identifier for this commit.
Sha [KEY] String The SHA of the file, uniquely identifying the file's content in the commit.
FileName String The name of the file that was modified in the commit.
Additions Int The number of lines added to the file in this commit.
Deletions Int The number of lines deleted from the file in this commit.
Changes Int The total number of changes made to the file, including both additions and deletions.
Status String The status of the file after the commit, such as 'modified', 'added', or 'removed'.
BlobUrl String A URL linking to the file in blob format, which represents the file's content at the time of the commit.
RawUrl String A direct URL linking to the raw content of the file, allowing access to the file as plain text.
ContentsUrl String A URL linking to the file served by the content management system, providing access to the file's content.
Patch String A diff representation of the changes made to the file, showing additions and deletions.
PreviousFileName String The name of the file before it was changed in this commit, applicable in case of renaming.

CData Python Connector for GitHub

Forks

Provides metadata about forks created from a repository, including fork ownership and purpose, to support collaboration and innovation.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • HasIssuesEnabled supports the '=' comparison operator.
  • IsLocked supports the '=' comparison operator.
  • IsPrivate supports the '=' comparison operator.
  • Visibility supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Forks]
SELECT * FROM [Forks] WHERE [HasIssuesEnabled] = true
SELECT * FROM [Forks] WHERE [IsLocked] = true
SELECT * FROM [Forks] WHERE [IsPrivate] = true
SELECT * FROM [Forks] WHERE [Visibility] = 'PRIVATE'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Name
  • StargazerCount
  • CreatedAt
  • UpdatedAt
  • PushedAt

SELECT * FROM [Forks] ORDER BY [Name]
SELECT * FROM [Forks] ORDER BY [StargazerCount]
SELECT * FROM [Forks] ORDER BY [CreatedAt]
SELECT * FROM [Forks] ORDER BY [UpdatedAt]
SELECT * FROM [Forks] ORDER BY [PushedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier assigned to the fork.
ForkOwnerLogin String The login name of the user or organization that owns the fork.
Name String The name of the fork.
Description String A brief description of the fork.
DescriptionHTML String The HTML version of the fork description.
HasIssuesEnabled Bool Indicates if the 'Issues' feature is enabled for this fork.
IsLocked Bool Indicates whether the fork is locked (true or false).
IsPrivate Bool Identifies whether the fork is private (true) or public (false).
Visibility String The visibility level of the fork (for example, 'public', 'private').

The allowed values are PRIVATE, PUBLIC, INTERNAL.

ForkCount Int The total number of forks that this fork has in the entire network.
StargazerCount Int The number of stargazers who have starred this fork.
ForkingAllowed Bool Indicates whether forking is allowed for this fork.
Url String The HTTP URL that points to the fork.
MirrorUrl String The mirror URL for this fork, if applicable.
CreatedAt Datetime The date and time when the fork was created.
UpdatedAt Datetime The date and time when the fork was last updated.
PushedAt Datetime The date and time when the fork was last pushed to.

CData Python Connector for GitHub

IssueAssignedActors

Lists information about the assigned actors to the repository's issues.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • IssueNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [IssueAssignedActors]
SELECT * FROM [IssueAssignedActors] WHERE [IssueNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
IssueNumber [KEY] Int

Issues.Number

Identifies the issue number associated with the assigned actor.
Id [KEY] String Id of the assigned actor.
AvatarURL String A URL pointing to the actor's public avatar.
Login String The username of the actor.
ResourcePath String The HTTP path for this actor.
URL String The HTTP URL for this actor.

CData Python Connector for GitHub

IssueAssignees

Tracks users assigned to issues within a repository, detailing responsibilities and roles for task ownership.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • IssueNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [IssueAssignees]
SELECT * FROM [IssueAssignees] WHERE [IssueNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique ID of the user assigned to the issue.
DatabaseId Int The primary key for the user in the database.
Login String The username that is used by the user to login.
Name String The user's public profile name.
Email String The user's publicly visible profile email.
TwitterUsername String The user's Twitter username.
Pronouns String The user's profile pronouns.
Bio String The user's public profile bio.
BioHTML String The user's public profile bio rendered in HTML.
Company String The company listed in the user's public profile.
CompanyHTML String The user's company name rendered in HTML.
Location String The location of the user as listed on their public profile.
AnyPinnableItems Bool Indicates whether the repository owner has any items that can be pinned to their profile.
PinnedItemsRemaining Int The number of items that the profile owner can still pin.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the owner has any pinned repositories or gists.
IsEmployee Bool Indicates whether the user is a GitHub employee.
IsHireable Bool Indicates whether the user has marked themselves as available for hire.
IsBountyHunter Bool Indicates whether the user participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a part of the GitHub Campus Experts Program.
IsFollowingViewer Bool Indicates whether the user is following the viewer. This is the inverse of viewerIsFollowing.
IsSiteAdmin Bool Indicates whether the user is a GitHub site administrator.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsGitHubStar Bool Indicates whether the user is a member of the GitHub Stars Program.
IsSponsoringViewer Bool Indicates whether the viewer is sponsored by this user or organization.
IsViewer Bool Indicates whether this user is the viewer.
ViewerCanFollow Bool Indicates whether the viewer is able to follow this user.
ViewerCanSponsor Bool Indicates whether the viewer is able to sponsor this user or organization.
ViewerIsFollowing Bool Indicates whether the viewer is following this user.
ViewerIsSponsoring Bool Indicates whether the viewer is sponsoring this user or organization.
ViewerCanChangePinnedItems Bool Indicates whether the viewer can pin repositories and gists to their profile.
StatusId String The ID associated with the user's status emoji.
StatusEmoji String An emoji representing the user's current status.
StatusMessage String A brief message describing what the user is currently doing.
StatusIndicatesLimitedAvailability Bool Indicates whether the user's status signifies limited availability on GitHub.
StatusEmojiHTML String The HTML representation of the status emoji.
StatusCreatedAt Datetime The date and time when the status was created.
StatusExpiresAt Datetime The expiration date of the status. The status is not shown after this date.
StatusUpdatedAt Datetime The date and time when the status was last updated.
StatusOrganizationId String The ID of the organization associated with the user's status.
StatusOrganizationLogin String The login name of the organization associated with the status.
InteractionAbilityLimit String Describes the current interaction limit imposed on this object.
InteractionAbilityOrigin String Indicates the source or origin of the active interaction limit.
InteractionAbilityExpiresAt Datetime The time when the current interaction limit expires.
HasSponsorsListing Bool Indicates whether the user or organization has a GitHub Sponsors listing.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated amount of the next GitHub Sponsors payout, in cents (USD).
SponsorsListingId String The ID of the GitHub Sponsors listing.
SponsorsListingName String The full name of the GitHub Sponsors listing.
TotalSponsorshipAmountAsSponsorInCents Int The total amount spent by the user/organization on GitHub Sponsors, in cents (USD). This value is only available for users who can manage sponsorships.
ResourcePath String The HTTP path for this user.
ProjectsResourcePath String The HTTP path listing the user's projects.
Url String The HTTP URL for this user's profile.
ProjectsUrl String The HTTP URL listing the user's projects.
WebsiteUrl String A URL pointing to the user's public website or blog.
AvatarUrl String A URL pointing to the user's public avatar. The 'size' argument specifies the size of the resulting square image.
CopilotEndpointsApi String The API endpoint for Copilot services.
CopilotEndpointsOriginTracker String The endpoint used for Copilot's origin tracking.
CopilotEndpointsProxy String The proxy endpoint used for Copilot services.
CopilotEndpointsTelemetry String The telemetry endpoint used by Copilot for data tracking.
CreatedAt Datetime The date and time when the object was created.
UpdatedAt Datetime The date and time when the object was last updated.
RepositoryCount Int The total number of repositories owned by the user.
FollowerCount Int The total number of followers the user has.
IssueNumber [KEY] Int

Issues.Number

The issue number associated with the assignee.

CData Python Connector for GitHub

IssuePullRequests

Connects issues to related pull requests, allowing traceability between reported problems and their solutions.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • IssueNumber supports the '=,IN' comparison operators.
  • UserLinkedOnly supports the '=' comparison operator.
  • ExcludeClosedPullRequests supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [IssuePullRequests]
SELECT * FROM [IssuePullRequests] WHERE [IssueNumber] = 123
SELECT * FROM [IssuePullRequests] WHERE [UserLinkedOnly] = true
SELECT * FROM [IssuePullRequests] WHERE [ExcludeClosedPullRequests] = true

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
IssueId [KEY] String

Issues.Id

The unique identifier for an issue within the repository.
IssueNumber Int

Issues.Number

The sequential number assigned to an issue within the repository.
IssueAuthor String The username of the user who created the issue.
IssueState String The current state of the issue, such as open, closed, or draft.
IssueTitle String The title summarizing the issue's purpose or content.
IssueLastEditedAt Datetime The date and time when the issue was last edited by any user.
IssuePublishedAt Datetime The date and time when the issue was first published.
IssueClosedAt Datetime The date and time when the issue was marked as closed.
IssueUpdatedAt Datetime The most recent date and time the issue's content or metadata was updated.
IssueCreatedAt Datetime The date and time when the issue was initially created.
PullRequestId [KEY] String

PullRequests.Id

The unique identifier for a pull request within the repository.
PullRequestNumber Int

PullRequests.Number

The sequential number assigned to a pull request within the repository.
PullRequestState String The current state of the pull request, such as open, closed, or merged.
PullRequestAuthor String The username of the user who created the pull request.
PullRequestTitle String The title summarizing the pull request's purpose or changes.
PullRequestReviewDecision String The current review status of the pull request, such as approved or changes requested.
PullRequestMergeable String Indicates whether the pull request can be merged, considering potential merge conflicts.
PullRequestLastEditedAt Datetime The date and time when the pull request was last edited by any user.
PullRequestMergedAt Datetime The date and time when the pull request was successfully merged.
PullRequestClosedAt Datetime The date and time when the pull request was marked as closed.
PullRequestPublishedAt Datetime The date and time when the pull request was first published.
PullRequestUpdatedAt Datetime The most recent date and time the pull request's content or metadata was updated.
PullRequestCreatedAt Datetime The date and time when the pull request was initially created.
UserLinkedOnly Bool Filters results to include only pull requests manually linked to issues.
ExcludeClosedPullRequests Bool Filters results to exclude pull requests that are closed.

CData Python Connector for GitHub

IssuesBlockedBy

Lists all project issues which the specified issue is blocked by.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The Issue ID.
FullDatabaseId Long Identifies the primary key from the database as a BigInt.
Title String Identifies the issue title.
TitleHTML String Identifies the issue title rendered to HTML.
Author String The username of the actor who authored the comment.
AuthorAssociation String Author's association with the subject of the comment.
Editor String The username of the actor who edited the comment.
Body String Identifies the body of the issue.
BodyText String Identifies the body of the issue rendered to text.
BodyHTML String The body rendered to HTML.
BodyResourcePath String The http path for this issue body.
BodyUrl String The http URL for this issue body.
Number Int Identifies the issue number.
State String Identifies the state of the issue.

The allowed values are open, closed.

StateReason String Identifies the reason for the issue state.

The allowed values are COMPLETED, NOT_PLANNED, DUPLICATE, REOPENED.

Locked Bool True if the object is locked.
ActiveLockReason String Reason that the conversation was locked.
Closed Bool True if the object is closed (definition of closed may depend on type).
IsPinned Bool Indicates whether or not this issue is currently pinned to the repository issues list.
IncludesCreatedEdit Bool Check if this comment was edited and includes an edit with the creation data.
CreatedViaEmail Bool Check if this comment was created via an email reply.
DuplicateIssueId String ID of the issue that this is a duplicate of.
IssueDependenciesSummaryBlockedBy Int Count of issues this issue is blocked by.
IssueDependenciesSummaryBlocking Int Count of issues this issue is blocking.
IssueDependenciesSummaryTotalBlockedBy Int Total count of issues this issue is blocked by (open and closed).
IssueDependenciesSummaryTotalBlocking Int Total count of issues this issue is blocking (open and closed).
ResourcePath String The HTTP path for this issue.
Url String The HTTP URL for this issue.
LastEditedAt Datetime The moment the editor made the last edit.
PublishedAt Datetime Identifies when the comment was published at.
ClosedAt Datetime Identifies the date and time when the object was closed.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
CreatedAt Datetime Identifies the date and time when the object was created.
MilestoneId String

Milestones.Id

Identifies the milestone associated with the issue.
MilestoneTitle String Identifies the title of the milestone.
MilestoneNumber Int Identifies the number of the milestone.
IsReadByViewer Bool Is this issue read by the viewer.
ViewerDidAuthor Bool Did the viewer author this comment.
ViewerSubscription String Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
ViewerCanLabel Bool Indicates if the viewer can edit labels for this object.
ViewerCanClose Bool Indicates if the object can be closed by the viewer.
ViewerCanReopen Bool Indicates if the object can be reopened by the viewer.
ViewerCanDelete Bool Check if the current viewer can delete this object.
ViewerCanReact Bool Can user react to this subject.
ViewerCanSubscribe Bool Check if the viewer is able to change their subscription status for the repository.
ViewerThreadSubscriptionStatus String Identifies the viewer's thread subscription status.
ViewerThreadSubscriptionFormAction String Identifies the viewer's thread subscription form action.
ViewerCanUpdate Bool Check if the current viewer can update this object.
ViewerCannotUpdateReasons String Reasons why the current viewer can not update this comment.
CommentCount Int The number of comments on the issue.
ReactionCount Int The number of reactions on the issue.
TypeID String The Node ID of the IssueType object.
TypeName String The issue type's name.
TypeDescription String The issue type's description.
TypeIsEnabled Bool The issue type's enabled state.
TypeColor String The issue type's color.
BlockingId String The Issue ID which this issue is Blocking.
Mentions String You can find issues that mention a certain user.
Assignee String You can find find issues and pull requests that are assigned to a certain user.

CData Python Connector for GitHub

IssuesBlocking

Lists all project issues which the specified issue is blocking.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The Issue ID.
FullDatabaseId Long Identifies the primary key from the database as a BigInt.
Title String Identifies the issue title.
TitleHTML String Identifies the issue title rendered to HTML.
Author String The username of the actor who authored the comment.
AuthorAssociation String Author's association with the subject of the comment.
Editor String The username of the actor who edited the comment.
Body String Identifies the body of the issue.
BodyText String Identifies the body of the issue rendered to text.
BodyHTML String The body rendered to HTML.
BodyResourcePath String The http path for this issue body.
BodyUrl String The http URL for this issue body.
Number Int Identifies the issue number.
State String Identifies the state of the issue.

The allowed values are open, closed.

StateReason String Identifies the reason for the issue state.

The allowed values are COMPLETED, NOT_PLANNED, DUPLICATE, REOPENED.

Locked Bool True if the object is locked.
ActiveLockReason String Reason that the conversation was locked.
Closed Bool True if the object is closed (definition of closed may depend on type).
IsPinned Bool Indicates whether or not this issue is currently pinned to the repository issues list.
IncludesCreatedEdit Bool Check if this comment was edited and includes an edit with the creation data.
CreatedViaEmail Bool Check if this comment was created via an email reply.
DuplicateIssueId String ID of the issue that this is a duplicate of.
IssueDependenciesSummaryBlockedBy Int Count of issues this issue is blocked by.
IssueDependenciesSummaryBlocking Int Count of issues this issue is blocking.
IssueDependenciesSummaryTotalBlockedBy Int Total count of issues this issue is blocked by (open and closed).
IssueDependenciesSummaryTotalBlocking Int Total count of issues this issue is blocking (open and closed).
ResourcePath String The HTTP path for this issue.
Url String The HTTP URL for this issue.
LastEditedAt Datetime The moment the editor made the last edit.
PublishedAt Datetime Identifies when the comment was published at.
ClosedAt Datetime Identifies the date and time when the object was closed.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
CreatedAt Datetime Identifies the date and time when the object was created.
MilestoneId String

Milestones.Id

Identifies the milestone associated with the issue.
MilestoneTitle String Identifies the title of the milestone.
MilestoneNumber Int Identifies the number of the milestone.
IsReadByViewer Bool Is this issue read by the viewer.
ViewerDidAuthor Bool Did the viewer author this comment.
ViewerSubscription String Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
ViewerCanLabel Bool Indicates if the viewer can edit labels for this object.
ViewerCanClose Bool Indicates if the object can be closed by the viewer.
ViewerCanReopen Bool Indicates if the object can be reopened by the viewer.
ViewerCanDelete Bool Check if the current viewer can delete this object.
ViewerCanReact Bool Can user react to this subject.
ViewerCanSubscribe Bool Check if the viewer is able to change their subscription status for the repository.
ViewerThreadSubscriptionStatus String Identifies the viewer's thread subscription status.
ViewerThreadSubscriptionFormAction String Identifies the viewer's thread subscription form action.
ViewerCanUpdate Bool Check if the current viewer can update this object.
ViewerCannotUpdateReasons String Reasons why the current viewer can not update this comment.
CommentCount Int The number of comments on the issue.
ReactionCount Int The number of reactions on the issue.
TypeID String The Node ID of the IssueType object.
TypeName String The issue type's name.
TypeDescription String The issue type's description.
TypeIsEnabled Bool The issue type's enabled state.
TypeColor String The issue type's color.
BlockedById String The Issue ID which this issue is Blocked By.
Mentions String You can find issues that mention a certain user.
Assignee String You can find find issues and pull requests that are assigned to a certain user.

CData Python Connector for GitHub

IssueSuggestedActors

Lists information about the suggested actors to the repository's issues.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • IssueNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [IssueSuggestedActors]
SELECT * FROM [IssueSuggestedActors] WHERE [IssueNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
IssueNumber [KEY] Int

Issues.Number

Identifies the issue number associated with the suggested actor.
Id [KEY] String Id of the suggested actor.
AvatarURL String A URL pointing to the actor's public avatar.
Login String The username of the actor.
ResourcePath String The HTTP path for this actor.
URL String The HTTP URL for this actor.

CData Python Connector for GitHub

IssueTypes

Lists information about repository issue types.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [IssueTypes]

Columns

Name Type References OrderBySupport Description
Id [KEY] String The id of the issue type.
Name String The name of the issue type.
Description String The description of the issue type.
IsEnabled Bool The enabled state of the issue type.
Color String The color of the issue type.

CData Python Connector for GitHub

MentionableUsers

Identifies users who can be mentioned in repository discussions, including issues, pull requests, and comments, based on permissions.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operator:

  • Login supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [MentionableUsers]
SELECT * FROM [MentionableUsers] WHERE [Login] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier for the user within the GitHub platform.
DatabaseId Int The primary key of the user record in the GitHub database.
Login String The username the user uses to log in to GitHub.
Name String The public profile name of the user, as displayed on their GitHub account.
Email String The user's publicly visible email address, if provided.
TwitterUsername String The user's Twitter username, if linked to their GitHub profile.
Pronouns String The pronouns the user has chosen for their public profile.
Bio String The user's brief description or bio displayed on their public profile.
BioHTML String The user's bio formatted in HTML for rendering on their profile.
Company String The company the user publicly associates with on their profile.
CompanyHTML String The user's company name formatted in HTML for rendering.
Location String The location the user has provided on their GitHub profile.
AnyPinnableItems Bool Indicates whether the user has any repositories or other items that can be pinned to their profile.
PinnedItemsRemaining Int The number of additional items the user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the user has pinned any repositories or gists to their profile.
IsEmployee Bool Indicates whether the user is a GitHub employee.
IsHireable Bool Indicates whether the user has marked themselves as available for hire.
IsBountyHunter Bool Indicates whether the user is a participant in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is part of the GitHub Campus Experts Program.
IsFollowingViewer Bool Indicates whether the user is following the current viewer (inverse of viewerIsFollowing).
IsSiteAdmin Bool Indicates whether the user is a site administrator for GitHub.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsGitHubStar Bool Indicates whether the user is a member of the GitHub Stars Program.
IsSponsoringViewer Bool Indicates whether the viewer is being sponsored by this user or organization.
IsViewer Bool Indicates whether the current user is the viewer (that is, the user making the request).
ViewerCanFollow Bool Indicates whether the viewer can follow this user.
ViewerCanSponsor Bool Indicates whether the viewer can sponsor this user or organization.
ViewerIsFollowing Bool Indicates whether the viewer is currently following this user.
ViewerIsSponsoring Bool Indicates whether the viewer is sponsoring this user or organization.
ViewerCanChangePinnedItems Bool Indicates whether the viewer has permission to pin repositories or gists to the owner's profile.
StatusId String The unique identifier for the user's status emoji.
StatusEmoji String The emoji representing the user's current status.
StatusMessage String A brief description of the user's current activity or status.
StatusIndicatesLimitedAvailability Bool Indicates whether the user's status suggests they are not fully available on GitHub.
StatusEmojiHTML String The status emoji represented as HTML code for embedding.
StatusCreatedAt Datetime The date and time when the user's status was created.
StatusExpiresAt Datetime The expiration date for the status, after which it is no longer be displayed.
StatusUpdatedAt Datetime The date and time when the user's status was last updated.
StatusOrganizationId String The unique identifier for the organization associated with the status, if applicable.
StatusOrganizationLogin String The login name of the organization associated with the status, if applicable.
InteractionAbilityLimit String The current interaction limit in place on this object, if any.
InteractionAbilityOrigin String The source of the active interaction limit on this object.
InteractionAbilityExpiresAt Datetime The date and time when the current interaction limit expires.
HasSponsorsListing Bool Indicates whether the user or organization has a GitHub Sponsors listing.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income this user or organization receives through GitHub Sponsors, in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated amount this user or organization will receive in their next GitHub Sponsors payout, in cents (USD).
SponsorsListingId String The unique identifier for the GitHub Sponsors listing associated with this user or organization.
SponsorsListingName String The full name of the GitHub Sponsors listing.
TotalSponsorshipAmountAsSponsorInCents Int The total amount this user or organization has spent on GitHub sponsorships, in US cents. Only visible to the user themselves or those who can manage sponsorships.
ResourcePath String The relative HTTP path to access the user's profile.
ProjectsResourcePath String The relative HTTP path to access the user's project listings.
Url String The full HTTP URL to the user's GitHub profile.
ProjectsUrl String The full HTTP URL to the user's project listings.
WebsiteUrl String A URL pointing to the user's personal website or blog.
AvatarUrl String A URL pointing to the user's avatar image.
CopilotEndpointsApi String The API endpoint for GitHub Copilot.
CopilotEndpointsOriginTracker String The origin tracker endpoint for GitHub Copilot.
CopilotEndpointsProxy String The proxy endpoint for GitHub Copilot.
CopilotEndpointsTelemetry String The telemetry endpoint for GitHub Copilot.
CreatedAt Datetime Represents the exact date and time when the user or object was first created in the system. This field can be used to track the object's lifecycle or for filtering and sorting based on creation date.
UpdatedAt Datetime Represents the most recent date and time when the user or object was modified. It can be helpful for tracking changes, updates, or for identifying the last time the record was actively managed.
RepositoryCount Int Indicates how many repositories are currently owned by the user. This is a count of all repositories that have been created or forked by the user, providing insight into their activity level in terms of repository creation.
FollowerCount Int Displays the total number of followers associated with the user’s profile. This metric reflects the user’s popularity or influence within the GitHub community.

CData Python Connector for GitHub

MergeQueueEntries

Tracks individual pull requests in the merge queue, including their statuses and any pending actions for orderly processing.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [MergeQueueEntries]

Columns

Name Type References OrderBySupport Description
Id [KEY] String Represents a unique identifier for the merge queue entry, ensuring each entry in the queue can be uniquely referenced or tracked.
RepositoryId String Specifies the unique identifier of the repository that this merge queue entry is associated with. This helps link the entry to a specific project or codebase.
RepositoryMergeQueueId String Indicates the unique identifier for the specific merge queue to which this entry belongs. This ties the entry to a particular queue within the repository for processing.
BaseCommitId String Represents the commit ID that corresponds to the base state of the branch before the merge operation begins. This provides a reference point for the changes being introduced.
EnqueuedAt Datetime The exact date and time when this merge queue entry was added. This timestamp is useful for tracking how long an entry has been waiting in the queue.
EstimatedTimeToMerge Int An estimate, in seconds, of the time required for this entry to be merged into the target branch. This helps prioritize entries based on expected merge times.
HeadCommitId String The commit ID representing the most recent changes made to the branch that is being merged. It shows the latest state of the branch being worked on.
Jump Bool Indicates whether this particular pull request is allowed to bypass the normal processing order in the merge queue. A value of 'true' means it can jump ahead of other entries.
Position Int Displays the current position of this merge queue entry within the queue. A lower number represents a higher priority for merging.
PullRequestId String The unique identifier for the pull request associated with this merge queue entry. It links the queue entry to a specific pull request in the repository.
Solo Bool Indicates whether this pull request needs to be deployed independently of other changes. If 'true', the pull request is merged without other concurrent changes.
State String Describes the current status of the merge queue entry. Common states include 'QUEUED' (waiting for processing), 'MERGING' (currently being merged), or 'FAILED' (an error occurred during the merge).

CData Python Connector for GitHub

MergeQueues

Provides an overview of active merge queues in a repository, listing pull requests and their order for systematic integration.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • Branch supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [MergeQueues]
SELECT * FROM [MergeQueues] WHERE [Branch] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String Represents a unique identifier for the merge queue, ensuring each merge queue can be distinctly referenced or tracked.
ResourcePath String Specifies the relative HTTP path to access the merge queue within the GitHub API. This allows interaction with the merge queue programmatically by specifying the appropriate API endpoint.
Branch String

Branches.Name

Indicates the name of the branch for which the merge queue is being retrieved. This is useful when managing queues for specific branches that need to be merged into the main codebase.
Url String Provides the full HTTP URL to access the merge queue through the GitHub API. This is the complete web address used for interacting with the merge queue via HTTP requests.
RepositoryId String Specifies the unique identifier of the repository that this merge queue is associated with. It helps identify the repository to which the merge queue belongs within GitHub.
NextEntryEstimatedTimeToMerge Int Represents the estimated time, in seconds, for the next entry to be merged in the queue. This helps predict when the next merge operation will occur.

CData Python Connector for GitHub

Milestones

Details milestones in a repository, including their goals, deadlines, and associated issues or pull requests for project tracking.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Number supports the '=,IN' comparison operators.
  • State supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [Milestones]
SELECT * FROM [Milestones] WHERE [Number] = 123
SELECT * FROM [Milestones] WHERE [State] = 'OPEN'

The connector processes other filters client-side within the connector.

The connector uses the GitHub API to process ORDER BY clause conditions that are built with the following columns:

  • Number
  • DueOn
  • UpdatedAt
  • CreatedAt

SELECT * FROM [Milestones] ORDER BY [Number]
SELECT * FROM [Milestones] ORDER BY [DueOn]
SELECT * FROM [Milestones] ORDER BY [UpdatedAt]
SELECT * FROM [Milestones] ORDER BY [CreatedAt]

The connector uses client-side processing when ordering by any other columns. This impacts performance.

Columns

Name Type References OrderBySupport Description
Id [KEY] String Represents a unique identifier for the milestone, ensuring it can be distinctly referenced or tracked within the project or repository.
Title String Specifies the title of the milestone, which typically summarizes its goal or intended outcome, such as 'Version 2.0 Release' or 'Bug Fixes'. This helps users quickly understand the focus of the milestone.
Closed Bool Indicates whether the milestone has been closed. The criteria for closure might differ depending on the specific project or repository, but a 'true' value signifies that the milestone is no longer active.
ProgressPercentage Double Represents the current completion progress of the milestone, shown as a percentage from 0 to 100. This value is typically calculated based on completed issues or tasks associated with the milestone.
Description String Provides a detailed description outlining the objectives, scope, or tasks related to the milestone. This offers further context for what needs to be achieved to consider the milestone complete.
Number Int A unique sequential number assigned to the milestone within the repository. This number helps identify milestones in the order they were created.
State String Describes the current status of the milestone. Common values include 'OPEN' (active and ongoing) or 'CLOSED' (completed and no longer active).

The allowed values are OPEN, CLOSED.

ResourcePath String Specifies the relative HTTP path used to access this milestone via the GitHub API. This is useful for API interactions and retrieving milestone data programmatically.
Url String Provides the full HTTP URL to directly access this milestone. This URL can be used to view the milestone details in a web browser or interact with the milestone via the API.
ClosedIssueCount Int Identifies the number of closed issues associated with the milestone.
OpenIssueCount Int Identifies the number of open issues associated with the milestone.
DescriptionHTML String The HTML rendered description of the milestone using GitHub Flavored Markdown.
ViewerCanClose Bool Indicates whether the current user has the necessary permissions to close the milestone. A value of 'true' means the user can mark the milestone as closed.
ViewerCanReopen Bool Indicates whether the current user has the necessary permissions to reopen the milestone if it was previously closed. A value of 'true' means the user can reinitiate the milestone if needed.
DueOn Datetime Specifies the scheduled date and time by which the milestone is expected to be completed. This serves as a deadline for the milestone, helping teams manage expectations.
ClosedAt Datetime Represents the date and time when the milestone was officially closed. This timestamp is recorded once all tasks or objectives for the milestone are completed.
UpdatedAt Datetime Represents the date and time when the milestone was last modified. This helps track when changes, such as adjustments to scope or due dates, were made.
CreatedAt Datetime Specifies the date and time when the milestone was initially created, providing context for how long the milestone has been in progress.

CData Python Connector for GitHub

PullRequestAssignedActors

Assigned actors to this pull request.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestAssignedActors]
SELECT * FROM [PullRequestAssignedActors] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
PullRequestId String The ID of the pull request.
PullRequestNumber Int Identifies the pull request number.
Id [KEY] String Id of the assigned actor.
AvatarURL String A URL pointing to the actor's public avatar.
Login String The username of the actor.
ResourcePath String The HTTP path for this actor.
URL String The HTTP URL for this actor.

CData Python Connector for GitHub

PullRequestComments

Records comments on pull requests, documenting feedback and discussions during the code review process.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestComments]
SELECT * FROM [PullRequestComments] WHERE [PullRequestId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String Represents a unique identifier for the comment, allowing the comment to be distinctly referenced or tracked within the system.
Body String Contains the main content of the comment written in Markdown format, allowing for rich text, links, images, and other Markdown-supported elements.
BodyText String Contains the content of the comment rendered as plain text. This version strips away any formatting and is useful for simple text parsing or processing.
BodyHTML String Contains the content of the comment rendered as HTML, allowing for formatted text with applied styles, links, and other HTML elements.
Author String Specifies the username of the person who originally authored the comment. This identifies the contributor or reviewer who posted the comment.
AuthorAssociation String Describes the relationship between the author and the subject of the comment. Possible values include 'OWNER', 'COLLABORATOR', or 'CONTRIBUTOR', indicating the role of the author in relation to the repository.
Editor String Indicates the username of the person who last edited the comment. If the comment has been edited after its original post, this field shows the editor’s username.
IsMinimized Bool Indicates whether the comment has been minimized for any reason. A value of 'true' means the comment is minimized and is not fully visible to users by default.
MinimizedReason String Provides the reason why the comment was minimized, if applicable. This can be due to content moderation or other factors like spam or inappropriate content.
CreatedViaEmail Bool Indicates whether the comment was created via an email reply to a GitHub notification. A value of 'true' means the comment originated from email communication.
IncludesCreatedEdit Bool Indicates whether the comment includes an edit that was made at the time of creation. This field is useful for tracking whether the comment was edited right after it was created.
ResourcePath String Specifies the relative HTTP path to access this comment via the GitHub API. This allows for API interactions and programmatically retrieving the comment.
Url String Provides the full HTTP URL to access this comment directly on GitHub. This URL can be used to view the comment in a browser or to link directly to the comment.
LastEditedAt Datetime Represents the date and time when the comment was last edited. If the comment has been edited, this timestamp shows when the most recent change occurred.
PublishedAt Datetime Represents the date and time when the comment was originally published. This timestamp is recorded when the comment was first posted, before any potential edits.
CreatedAt Datetime Specifies the date and time when the comment was initially created. This is the moment the comment was first added to the thread or pull request.
UpdatedAt Datetime Represents the date and time when the comment was last updated, including any edits or changes to the comment’s content.
ViewerDidAuthor Bool Indicates whether the current viewer is the author of the comment. A value of 'true' means the viewer is the person who posted the comment.
ViewerCanDelete Bool Indicates whether the current viewer has permission to delete this comment. A value of 'true' means the viewer can remove the comment from the thread.
ViewerCanMinimize Bool Indicates whether the current viewer has permission to minimize this comment. A value of 'true' means the viewer can collapse the comment to reduce its visibility.
ViewerCanReact Bool Indicates whether the viewer can react to the comment using emoji or other reactions. A value of 'true' means the viewer can add a reaction to the comment.
ViewerCanUpdate Bool Indicates whether the current viewer has permission to update or edit this comment. A value of 'true' means the viewer is allowed to modify the comment.
ViewerCannotUpdateReasons String A list of reasons why the current viewer cannot update this comment, if applicable. This can include restrictions like 'permission denied' or 'comment is locked'.
IssueId String Represents the ID of the issue associated with the comment, if the comment was made on an issue. This links the comment to a specific issue within the repository.
PullRequestId String Represents the ID of the pull request associated with the comment, if the comment was made on a pull request. This links the comment to a specific pull request being discussed or reviewed.
FullDatabaseId Long Represents a unique identifier for the comment in the database, stored as a BigInt. This ID is used internally within GitHub to reference the comment in the database.

CData Python Connector for GitHub

PullRequestCommits

Provides a list of commits included in pull requests, detailing the changes introduced and the commits' authors.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestCommits]
SELECT * FROM [PullRequestCommits] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id String Represents the unique identifier for the commit, which can be used to reference or track the commit within the GitHub repository.
Oid String Represents the Git object ID, a globally unique identifier for the commit in the Git repository, used for identifying commits in Git operations.
AbbreviatedOid String A shortened version of the Git object ID, used for easier display and reference in user interfaces where a full ID is not necessary.
ChangedFilesIfAvailable Int Represents the number of files changed in this commit. If the number cannot be determined (for example, due to timeouts), the field returns 'null'. It is the preferred field to use over 'changedFiles'.
Additions Int Indicates the number of lines added in this commit. This provides insight into the extent of code changes made.
Deletions Int Indicates the number of lines deleted in this commit. This gives an idea of how much code was removed in the commit.
AuthoredByCommitter Bool Indicates whether the author of the commit is the same as the committer. If 'true', the author and the committer are the same person.
CommittedViaWeb Bool Indicates whether the commit was made through GitHub’s web interface, rather than through a Git client.
AuthoredDate Datetime Represents the date and time when the commit was authored, based on the author’s local machine settings at the time of creation.
CommittedDate Datetime Represents the date and time when the commit was actually committed, based on the commit timestamp recorded by the Git system.
ViewerSubscription String Indicates the viewer's current subscription status for the entity, such as 'WATCHING', 'NOT WATCHING', or 'IGNORING'. This allows for tracking user interest.
ViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for the repository, allowing the viewer to adjust their notifications preferences.
Message String Contains the full commit message associated with the commit, which might include both the headline and the detailed description of the changes.
MessageBody String The body of the commit message, providing a detailed explanation of the changes made in the commit to help reviewers understand the modifications.
MessageHeadline String The headline or summary line of the commit message, usually a brief overview of the commit’s purpose or changes.
MessageBodyHTML String The body of the commit message rendered as HTML, which allows the message to be displayed with any HTML formatting applied.
MessageHeadlineHTML String The headline of the commit message rendered as HTML, providing a visually formatted summary of the commit changes.
ResourcePath String Specifies the relative HTTP path to access this commit via the GitHub API, enabling programmatic access to the commit details.
CommitResourcePath String Specifies the relative HTTP path for this Git object within the GitHub API, allowing access to detailed information about the specific commit object.
TreeResourcePath String Specifies the relative HTTP path to access the commit tree via the GitHub API. The tree represents the file structure as it was at the commit.
Url String Provides the full HTTP URL to access this commit directly on GitHub, allowing users to view the commit’s details in a browser.
CommitUrl String Provides the full HTTP URL for the specific Git object associated with the commit, enabling access to detailed information about the commit in the repository.
TarballUrl String The URL to download a tarball archive of the repository at the commit's state. For private repositories, the URL expires within five minutes.
TreeUrl String The full HTTP URL for accessing the tree structure of this commit, providing a way to view the file hierarchy of the commit’s changes.
ZipballUrl String The URL to download a zipball archive of the repository at the commit's state. This link is temporary and expires within five minutes for private repositories.
AuthorName String The name of the author as listed in the Git commit, identifying the individual who wrote the changes in the commit.
AuthorEmail String The email address of the commit author, which can be used for contact or identification purposes.
AuthorDate Datetime Represents the timestamp when the commit was authored, according to the author’s local machine settings and recorded in the commit.
AuthorUserLogin String The GitHub username associated with the author's email, or 'null' if no corresponding user is found on GitHub.
CommitterName String The name of the individual or bot who made the commit, as recorded in the Git commit metadata.
CommitterEmail String The email address associated with the committer, which is recorded in the Git commit metadata.
CommitterDate Datetime The date and time when the commit was created, representing when the commit was authored or committed, depending on the scenario.
CommitterUserLogin String The GitHub username linked to the committer's email address. If no matching user is found, the value is 'null'.
OnBehalfOfId String A unique identifier for the organization on whose behalf the commit was made, if applicable.
OnBehalfOf String The login name of the GitHub organization that is associated with the commit, if the commit was made on behalf of an organization.
SignatureIsValid Bool Indicates whether the commit's GPG signature is valid and verified by GitHub. A 'true' value means the signature is verified.
Signature String The ASCII-armored GPG signature associated with the commit, which is used to verify the commit's authenticity.
SignatureEmail String The email address used in the GPG signature, typically associated with the person or bot who signed the commit.
SignaturePayload String The raw data of the commit (without the GPG signature header) that was signed using GPG encryption.
SignatureState String The state of the GPG signature, such as 'VALID' if it has been successfully verified, or other values indicating why the signature failed verification.
SignatureSigner String The GitHub username of the individual or bot that signed the commit, matching the email used for signing.
WasSignedByGitHub Bool Indicates whether the commit was signed using GitHub's own GPG key, marking it as a trusted commit.
SignatureVerifiedAt Datetime The date the signature was verified, if valid.
StatusId String A unique identifier for the status of the commit, which can be linked to external status checks such as continuous integration results.
StatusState String The combined status of the commit reflecting the success or failure of the commit as determined by status checks (for example, 'SUCCESS', 'ERROR').
StatusCheckRollupId String A unique identifier for the aggregated status checks and results that apply to the commit.
StatusCheckRollupState String The overall result of the combined status checks and any additional validations, such as 'SUCCESS', 'FAILURE', etc.
TreeId String The unique identifier for the root tree object that represents the snapshot of the directory structure at the time of the commit.
TreeOid String The Git object ID representing the tree associated with the commit, which is a key part of the commit's internal structure.
TreeAbbreviatedOid String A shortened version of the full Git object ID for the tree associated with the commit, for easier reference.
TreeCommitUrl String The full URL for accessing the commit's tree object on GitHub, allowing access to the directory structure at that commit.
TreeCommitResourcePath String The relative path within the GitHub API to access the tree object, used for programmatic access to the commit's directory structure.
PullRequestCommitId [KEY] String A unique node ID identifying the specific commit within the context of the pull request, used for referencing this commit in the pull request.
PullRequestCommitResourcePath String The relative path within the GitHub API for accessing the specific pull request commit, which is part of the pull request's commit history.
PullRequestCommitUrl String The full URL to view the specific pull request commit directly on GitHub, allowing quick access to the commit's page in the pull request.
PullRequestId String A unique identifier for the pull request associated with this commit, used to link the commit to the specific pull request in GitHub.
PullRequestNumber Int The number assigned to the pull request for identification within the repository, used to track and reference the pull request.

CData Python Connector for GitHub

PullRequestFiles

Tracks files modified within pull requests, listing filenames, change types, and details for thorough review.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestFiles]
SELECT * FROM [PullRequestFiles] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
PullRequestId [KEY] String A unique identifier for the pull request associated with the file changes, used to link these modifications to a specific pull request.
PullRequestNumber Int The number assigned to the pull request for identification, allowing users to refer to it easily within the repository's pull request system.
Path [KEY] String The relative file path within the repository that was modified by this pull request, showing the location of the file that was changed.
ChangeType String The type of modification made to the file in the pull request, such as 'ADDED' for new files, 'MODIFIED' for changes to existing files, or 'DELETED' for removed files.
ViewerViewedState String The state of the file as seen by the current user in the context of the review process. This can indicate whether the file has been reviewed, approved, or is still pending review.
Additions Int The total number of lines added to the file as part of the changes in this pull request.
Deletions Int The total number of lines removed from the file as part of the changes in this pull request.

CData Python Connector for GitHub

PullRequestReviewComments

Logs comments made during pull request reviews, capturing feedback, suggestions, and discussions for improving the code.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestReviewId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestReviewComments]
SELECT * FROM [PullRequestReviewComments] WHERE [PullRequestReviewId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier for each review comment, used to distinguish it from other comments in the system.
Body String The content of the comment, written in Markdown format, allowing for rich text, links, and other formatting features.
BodyText String The plain text version of the comment's body, with all Markdown formatting removed.
BodyHTML String The HTML-rendered version of the comment, which shows how the comment appears when viewed on the web.
Author String The GitHub username of the person who authored the comment, indicating the individual who wrote the feedback or notes.
AuthorAssociation String The relationship between the author and the repository, such as 'OWNER', 'CONTRIBUTOR', or 'COLLABORATOR', indicating their role in the project.
Editor String The GitHub username of the person who last edited or modified the comment after it was originally posted.
IsMinimized Bool Indicates whether the comment has been minimized or collapsed in the view, which can be done by the author or a reviewer.
MinimizedReason String The reason why the comment was minimized, such as it being flagged as less relevant or having an insignificant impact.
CreatedViaEmail Bool Indicates whether the comment was created via email, such as through an email reply to a pull request notification.
IncludesCreatedEdit Bool Indicates whether the comment has been edited after it was first created, and whether it includes information on the original creation of the comment.
ResourcePath String The relative HTTP path for accessing the review comment through the GitHub API, which can be used to retrieve the comment programmatically.
Url String The full URL to access the comment directly on GitHub, which allows viewing and interacting with the comment on the platform.
LastEditedAt Datetime The timestamp when the comment was last edited, showing when the most recent update to the comment was made.
PublishedAt Datetime The timestamp when the comment was first published, marking the initial moment it became visible to others.
CreatedAt Datetime The timestamp when the comment was created, representing the exact time when the comment was first added to the system.
UpdatedAt Datetime The timestamp when the comment was last updated, which can be an edit or a new reply within the conversation thread.
ViewerDidAuthor Bool Indicates whether the current viewer is the author of the comment. A value of 'true' means the viewer is the one who wrote the comment.
ViewerCanDelete Bool Indicates whether the current viewer has permission to delete the comment, typically based on their role or relationship to the repository.
ViewerCanMinimize Bool Indicates whether the current viewer has the ability to minimize or collapse the comment in their view.
ViewerCanReact Bool Indicates whether the current viewer can react to the comment, such as adding a thumbs-up, thumbs-down, or other emoji reactions.
ViewerCanUpdate Bool Indicates whether the current viewer has the ability to edit or update the comment after it has been posted.
ViewerCannotUpdateReasons String Lists the reasons why the current viewer is unable to update or edit the comment, which can be due to permissions or specific restrictions.
PullRequestId String The ID of the pull request that this comment is associated with, linking the comment to the relevant pull request on GitHub.
PullRequestReviewId String The ID of the review to which this comment belongs, helping to group comments within a specific pull request review session.
FullDatabaseId Long The primary key identifier for the comment in the underlying database, represented as a BigInt, used internally for data storage and reference.

CData Python Connector for GitHub

PullRequestReviews

Stores details of reviews conducted on pull requests, including reviewer actions (approved, requested changes, commented) and timestamps.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • Author supports the '=' comparison operator.
  • PullRequestNumber supports the '=,IN' comparison operators.
  • State supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestReviews]
SELECT * FROM [PullRequestReviews] WHERE [Author] = 'Val1'
SELECT * FROM [PullRequestReviews] WHERE [PullRequestNumber] = 123
SELECT * FROM [PullRequestReviews] WHERE [State] = 'PENDING'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier for the pull request review, used to distinguish this review from others in the system.
Body String The content of the review, written in Markdown format, which typically includes feedback or comments about the pull request.
BodyText String The plain text version of the review's body, with all Markdown formatting removed for a simpler, text-only view.
BodyHTML String The HTML-rendered version of the review body, designed for displaying the review as formatted text on the web.
Author String The GitHub username of the individual who authored the review, indicating the person who provided the feedback.
AuthorAssociation String The association of the author with the pull request subject, such as 'OWNER', 'CONTRIBUTOR', or 'COLLABORATOR', indicating their role in the project.
Editor String The GitHub username of the individual who last edited the review comment, showing who made the most recent changes to the review.
IsMinimized Bool Indicates whether the review comment has been minimized or collapsed by the viewer, possibly to reduce clutter in the UI.
MinimizedReason String Describes the reason why the comment was minimized, such as it being less relevant or flagged by the viewer.
CreatedViaEmail Bool Indicates whether the review comment was created through an email reply to the review request, often from email notifications.
IncludesCreatedEdit Bool Indicates whether the review comment includes an edit along with its creation data, reflecting that the comment has been modified since it was first posted.
ResourcePath String The relative HTTP path for accessing the review comment through the GitHub API, used for programmatically retrieving the review.
Url String The full HTTP URL that directs to the review comment directly on GitHub, allowing users to view it in the GitHub interface.
LastEditedAt Datetime The timestamp indicating when the review comment was last edited, showing when the comment was last updated.
PublishedAt Datetime The timestamp indicating when the review comment was first published and visible to others.
CreatedAt Datetime The timestamp indicating when the review comment was created, marking the original moment it was submitted.
UpdatedAt Datetime The timestamp indicating when the review comment was last updated, reflecting any edits made since its creation.
ViewerDidAuthor Bool Indicates whether the current viewer is the author of the review comment. A value of 'true' means the viewer is the one who wrote the review.
ViewerCanDelete Bool Indicates whether the current viewer has permission to delete the review comment, typically based on their role in the repository.
ViewerCanMinimize Bool Indicates whether the current viewer can minimize or collapse the review comment in their interface to streamline the view.
ViewerCanReact Bool Indicates whether the current viewer has the ability to react to the review comment, such as adding emojis or other reactions.
ViewerCanUpdate Bool Indicates whether the current viewer has permission to edit or update the review comment after it has been posted.
ViewerCannotUpdateReasons String Lists the reasons why the current viewer is unable to update the review comment, which can include permissions or restrictions.
ReactionGroups String A list of reaction types (such as 'thumbs-up' or 'thumbs-down') grouped by the content left on the review comment, showing the reactions the comment has received.
ViewerId String The unique identifier of the viewer interacting with the review comment, typically used to track the individual’s actions and permissions.
PullRequestId String

PullRequests.Id

The unique identifier of the pull request associated with this review, linking the review directly to the specific pull request.
PullRequestNumber Int The number assigned to the pull request associated with this review, providing a reference for the review within the repository.
CommitId String The identifier of the commit that this review is associated with, linking the review to a specific commit in the pull request.
SubmittedAt Datetime The timestamp when the pull request review was officially submitted, indicating when the review was completed and submitted to the system.
State String The current state of the pull request review, indicating its status (for example, 'APPROVED', 'CHANGES_REQUESTED'). This reflects the reviewer's decision regarding the pull request.

The allowed values are PENDING, COMMENTED, APPROVED, CHANGES_REQUESTED, DISMISSED.

AuthorCanPushToRepository Bool Indicates whether the author of the review has the necessary permissions to push changes directly to the repository. This can be useful for identifying if the reviewer can make updates themselves.
FullDatabaseId Long The primary key identifier for the review comment in the database, represented as a BigInt. This is used internally for database queries and tracking.

CData Python Connector for GitHub

PullRequestSuggestedActors

Suggested actors for this pull request.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • PullRequestNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [PullRequestSuggestedActors]
SELECT * FROM [PullRequestSuggestedActors] WHERE [PullRequestNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
PullRequestId String The ID of the pull request.
PullRequestNumber Int Identifies the pull request number.
Id [KEY] String Id of the suggested actor.
AvatarURL String A URL pointing to the actor's public avatar.
Login String The username of the actor.
ResourcePath String The HTTP path for this actor.
URL String The HTTP URL for this actor.

CData Python Connector for GitHub

ReleaseAssets

Lists assets attached to repository releases, including binary files, source code archives, and other downloadable content for distribution.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following columns and operators:

  • ReleaseTagName supports the '=,IN' comparison operators.
  • Name supports the '=' comparison operator.

For example, the following queries are processed server-side:

SELECT * FROM [ReleaseAssets]
SELECT * FROM [ReleaseAssets] WHERE [ReleaseTagName] = 'Val1'
SELECT * FROM [ReleaseAssets] WHERE [Name] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier assigned to the release asset for tracking and reference.
ReleaseTagName String

Releases.TagName

The tag associated with the release to which this asset belongs, used for versioning and reference.
Name String The name or title of the release asset, typically describing the file's content or purpose.
ContentType String The MIME type that indicates the format of the release asset (for example, 'application/zip', 'image/png').
Size Int The total file size of the release asset, measured in bytes.
UploadedBy String The GitHub username of the user who uploaded this asset to the release.
Url String The API URL that provides access to metadata and information about the release asset.
DownloadCount Int The total number of times this release asset has been downloaded by users.
DownloadUrl String The direct URL to download the release asset through a web browser or other tools.
Digest String The SHA256 digest of the asset.
UpdatedAt Datetime The date and time when the release asset was last modified or updated.
CreatedAt Datetime The date and time when the release asset was originally uploaded to the release.

CData Python Connector for GitHub

SecretScanningAlertLocations

Lists all locations where a secret scanning alert was detected.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • AlertNumber supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [SecretScanningAlertLocations]
SELECT * FROM [SecretScanningAlertLocations] WHERE [AlertNumber] = 123

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
AlertNumber Int

SecretScanningAlerts.Number

The security alert number.
Type String The location type where the secret was found.

The allowed values are commit, wiki_commit, issue_title, issue_body, issue_comment, discussion_title, discussion_body, discussion_comment, pull_request_title, pull_request_body, pull_request_comment, pull_request_review, pull_request_review_comment.

Path String The file path in the repository (for commit and wiki_commit types).
StartLine Int Line number at which the secret starts in the file (for commit and wiki_commit types).
EndLine Int Line number at which the secret ends in the file (for commit and wiki_commit types).
StartColumn Int Column at which the secret starts (for commit and wiki_commit types).
EndColumn Int Column at which the secret ends (for commit and wiki_commit types).
BlobSha String SHA-1 hash ID of the associated blob (for commit and wiki_commit types).
BlobUrl String The API URL to get the associated blob resource (for commit type).
CommitSha String SHA-1 hash ID of the associated commit (for commit and wiki_commit types).
CommitUrl String The API/GitHub URL to get the associated commit resource (for commit and wiki_commit types).
PageUrl String The GitHub URL to get the associated wiki page (for wiki_commit type).
IssueTitleUrl String The API URL to get the issue where the secret was detected (for issue_title type).
IssueBodyUrl String The API URL to get the issue where the secret was detected (for issue_body type).
IssueCommentUrl String The API URL to get the issue comment where the secret was detected (for issue_comment type).
DiscussionTitleUrl String The URL to the discussion where the secret was detected (for discussion_title type).
DiscussionBodyUrl String The URL to the discussion where the secret was detected (for discussion_body type).
DiscussionCommentUrl String The API URL to get the discussion comment where the secret was detected (for discussion_comment type).
PullRequestTitleUrl String The API URL to get the pull request where the secret was detected (for pull_request_title type).
PullRequestBodyUrl String The API URL to get the pull request where the secret was detected (for pull_request_body type).
PullRequestCommentUrl String The API URL to get the pull request comment where the secret was detected (for pull_request_comment type).
PullRequestReviewUrl String The API URL to get the pull request review where the secret was detected (for pull_request_review type).
PullRequestReviewCommentUrl String The API URL to get the pull request review comment where the secret was detected (for pull_request_review_comment type).

CData Python Connector for GitHub

SecretScanningHistory

Lists secret scanning scans by type for the repository.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [SecretScanningHistory]

Columns

Name Type References OrderBySupport Description
ScanCategory String The category of scan.

The allowed values are incremental, backfill, pattern_update, custom_pattern_backfill.

Type String The type of scan.
Status String The state of the scan.

The allowed values are completed, running, pending.

StartedAt Datetime The time that the scan was started (empty if scan is pending).
CompletedAt Datetime The time that the scan was completed (empty if scan is running or pending).
PatternSlug String The slug of the custom pattern (only for custom pattern backfill scans).
PatternScope String The scope of the custom pattern (only for custom pattern backfill scans).

The allowed values are enterprise, organization, repository.

CData Python Connector for GitHub

Stargazers

Lists users who have starred a repository, indicating their interest in or support for the project.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [Stargazers]

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier assigned to the user for tracking and reference.
DatabaseId Int The primary key value for the user as stored in the database.
Login String The GitHub username used by the user to log in and interact with the platform.
Name String The public display name of the user on their GitHub profile.
Email String The publicly visible email address listed on the user's profile, if available.
TwitterUsername String The Twitter handle associated with the user's GitHub profile.
Pronouns String The pronouns specified by the user on their public GitHub profile.
Bio String A brief description or biography provided by the user on their profile.
BioHTML String The user's biography formatted and rendered in HTML for profile display.
Company String The organization or company the user is affiliated with, as listed on their profile.
CompanyHTML String The company information rendered in HTML for profile display.
Location String The geographic location specified by the user on their public profile.
AnyPinnableItems Bool Indicates whether the user has any repositories or gists that can be pinned to their profile.
PinnedItemsRemaining Int The number of additional items the user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the user has already pinned repositories or gists to their profile.
IsEmployee Bool Indicates whether the user is an employee of GitHub.
IsHireable Bool Indicates whether the user is open to job opportunities, as stated on their profile.
IsBountyHunter Bool Indicates whether the user participates in the GitHub Security Bug Bounty Program.
IsCampusExpert Bool Indicates whether the user is part of the GitHub Campus Experts Program, which promotes technical leadership on campuses.
IsFollowingViewer Bool Indicates whether this user is currently following the viewer.
IsSiteAdmin Bool Indicates whether the user has administrative privileges on GitHub.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program, which provides early access to new features.
IsGitHubStar Bool Indicates whether the user is a recognized member of the GitHub Stars Program, highlighting influential contributors.
IsSponsoringViewer Bool Indicates whether this user or organization is sponsoring the viewer on GitHub Sponsors.
IsViewer Bool Indicates whether this user is the currently authenticated viewer.
ViewerCanFollow Bool Indicates whether the currently authenticated viewer has permission to follow this user.
ViewerCanSponsor Bool Indicates whether the viewer can sponsor this user or organization via GitHub Sponsors.
ViewerIsFollowing Bool Indicates whether the viewer is currently following this user.
ViewerIsSponsoring Bool Indicates whether the viewer is currently sponsoring this user or organization on GitHub.
ViewerCanChangePinnedItems Bool Indicates whether the viewer can pin repositories and gists to the user's profile.
StatusId String A unique identifier for the user's status emoji.
StatusEmoji String An emoji representing the user's current status.
StatusMessage String A short message that describes the user's current activity or availability.
StatusIndicatesLimitedAvailability Bool Indicates whether the user's status message signifies limited availability on GitHub.
StatusEmojiHTML String The user's status emoji rendered in HTML format.
StatusCreatedAt Datetime The date and time when the user's status was first set.
StatusExpiresAt Datetime The expiration date and time after which the status will no longer be displayed.
StatusUpdatedAt Datetime The date and time when the user's status was last updated.
StatusOrganizationId String The unique identifier of the organization associated with the user's status.
StatusOrganizationLogin String The login name of the organization linked to the user's status.
InteractionAbilityLimit String The current interaction restriction applied to this user (for example, limits on comments or contributions).
InteractionAbilityOrigin String The origin of the active interaction restriction (for example, organization or GitHub-wide policy).
InteractionAbilityExpiresAt Datetime The expiration date and time for the currently active interaction restriction.
HasSponsorsListing Bool Indicates whether the user or organization has an active GitHub Sponsors profile.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly GitHub Sponsors income for this user or organization, in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated amount in cents (USD) for the next GitHub Sponsors payout.
SponsorsListingId String The unique identifier for the user's GitHub Sponsors listing.
SponsorsListingName String The full name associated with the GitHub Sponsors listing.
TotalSponsorshipAmountAsSponsorInCents Int The total amount in cents (USD) that this user has spent sponsoring others on GitHub.
ResourcePath String The HTTP path that provides access to the user's profile on GitHub.
ProjectsResourcePath String The HTTP path that lists the user's projects.
Url String The HTTP URL to the user's profile page on GitHub.
ProjectsUrl String The HTTP URL that lists the user's projects.
WebsiteUrl String The URL of the user's personal website or blog.
AvatarUrl String The URL of the user's avatar image on GitHub.
CopilotEndpointsApi String The API endpoint used for GitHub Copilot integration.
CopilotEndpointsOriginTracker String The GitHub Copilot origin tracking endpoint.
CopilotEndpointsProxy String The proxy endpoint used for GitHub Copilot interactions.
CopilotEndpointsTelemetry String The telemetry endpoint used for tracking GitHub Copilot usage data.
CreatedAt Datetime The date and time when the user's GitHub account or organization was created.
UpdatedAt Datetime The date and time when the user's profile information was last updated.
RepositoryCount Int The total number of repositories owned by the user.
FollowerCount Int The total number of users following this user.

CData Python Connector for GitHub

Topics

Catalogs topics assigned to a repository, helping categorize and improve discoverability through tags such as 'open-source' or 'web-development.'

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [Topics]

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier of the topic.
URL String The HTTP URL that links to the topic's page on GitHub.
ResourcePath String The relative HTTP path for accessing the topic within the GitHub platform.
Name String The name of the topic.
StargazerCount Int The total number of users who have starred this topic.
ViewerHasStarred Bool Indicates whether the currently authenticated user has starred this topic.

CData Python Connector for GitHub

TrafficClonesDaily

Logs daily statistics of repository clones for the last 14 days, providing insight into the frequency and patterns of cloning activity.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [TrafficClonesDaily]

Columns

Name Type References OrderBySupport Description
CountTotal Int The total number of clones for the repository, reflecting all cloning activity.
UniquesTotal Int The total number of unique users who cloned the repository, ensuring duplicates are excluded.
Count Int The number of clones for a specific period or breakdown.
Uniques Int The number of unique users who cloned the repository within a specific period.
Timestamp Datetime The timestamp representing when the data was recorded or relevant for the breakdown.

CData Python Connector for GitHub

TrafficClonesWeekly

Summarizes weekly clone statistics for the last 14 days, offering a higher-level view of cloning trends.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [TrafficClonesWeekly]

Columns

Name Type References OrderBySupport Description
CountTotal Int The total number of clones for the repository over the weekly period.
UniquesTotal Int The total number of unique users who cloned the repository during the weekly period, excluding duplicates.
Count Int The number of clones for the repository recorded during the specific week.
Uniques Int The number of unique users who cloned the repository during the specified week.
Timestamp Datetime The timestamp representing the end of the weekly period or when the data was collected.

CData Python Connector for GitHub

TrafficPageViewsDaily

Records daily page view statistics for a repository, helping track user engagement and traffic patterns over time.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [TrafficPageViewsDaily]

Columns

Name Type References OrderBySupport Description
CountTotal Int The total number of page views for the repository on a daily basis.
UniquesTotal Int The total number of unique visitors who viewed the repository pages each day, excluding repeat views.
Count Int The number of page views recorded for the repository during the specific day.
Uniques Int The number of unique visitors who viewed the repository pages during the specific day.
Timestamp Datetime The timestamp indicating the specific day for which the page view data was recorded.

CData Python Connector for GitHub

TrafficPageViewsWeekly

Aggregates weekly page view statistics for a repository, giving an overview of user interaction trends for the past two weeks.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [TrafficPageViewsWeekly]

Columns

Name Type References OrderBySupport Description
CountTotal Int The total number of page views across all repository pages on a daily basis.
UniquesTotal Int The total number of unique visitors who accessed any repository pages during the day, ensuring repeat visitors are excluded.
Count Int The number of page views recorded for specific repository pages within the day.
Uniques Int The number of unique visitors who accessed specific repository pages on the day.
Timestamp Datetime The date and time indicating when the page view data was recorded or is relevant.

CData Python Connector for GitHub

TrafficTopReferralPaths

Lists the top 10 most frequently accessed paths in a repository over the past 14 days, helping identify popular content and entry points.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [TrafficTopReferralPaths]

Columns

Name Type References OrderBySupport Description
Path String The specific URL path within the repository that received referral traffic.
Title String The title or name associated with the content at the specified path.
Count Int The total number of views for the content at the given path from referral sources.
Uniques Int The total number of unique visitors who accessed the content at the given path from referral sources.

CData Python Connector for GitHub

TrafficTopReferralSources

Identifies the top 10 sources driving traffic to a repository in the last 14 days, such as search engines, social media, or external links.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [TrafficTopReferralSources]

Columns

Name Type References OrderBySupport Description
Referrer String The name of the website or source that referred traffic to the repository.
Count Int The total number of views generated from the specified referrer.
Uniques Int The total number of unique visitors referred to the repository by the specified source.

CData Python Connector for GitHub

Watchers

Tracks users watching a repository, providing visibility into who is monitoring updates, changes, and activity.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [Watchers]

Columns

Name Type References OrderBySupport Description
Id [KEY] String The unique identifier of the user.
DatabaseId Int The primary key for the user in the database, used for internal reference.
Login String The username that the user uses to log in to GitHub.
Name String The publicly visible name displayed on the user's profile.
Email String The publicly visible email address listed on the user's profile.
TwitterUsername String The username of the user's Twitter account, if the account is linked.
Pronouns String The pronouns the user has listed on their profile.
Bio String The text description provided by the user in their public-profile biography.
BioHTML String The user's public-profile biography formatted as HTML.
Company String The name of the company the user has associated with their profile.
CompanyHTML String The company name listed on the user's profile, formatted as HTML.
Location String The geographic location listed on the user's public profile.
AnyPinnableItems Bool Indicates whether the user has any items, such as repositories or gists, that can be pinned to their profile.
PinnedItemsRemaining Int The number of additional items the user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the user has pinned any repositories or gists to their profile.
IsEmployee Bool Indicates whether the user is an employee of GitHub.
IsHireable Bool Indicates whether the user has marked themselves as available for hire.
IsBountyHunter Bool Indicates whether the user is a participant in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a member of the GitHub Campus Experts program.
IsFollowingViewer Bool Indicates whether the user is following the viewer. This is the inverse of ViewerIsFollowing.
IsSiteAdmin Bool Indicates whether the user is a GitHub site administrator.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsGitHubStar Bool Indicates whether the user is a member of the GitHub Stars Program.
IsSponsoringViewer Bool Indicates whether the user or organization is sponsoring the viewer.
IsViewer Bool Indicates whether this user is the same as the viewing user.
ViewerCanFollow Bool Indicates whether the viewer has the ability to follow this user.
ViewerCanSponsor Bool Indicates whether the viewer has the ability to sponsor this user or organization.
ViewerIsFollowing Bool Indicates whether the viewer is currently following this user.
ViewerIsSponsoring Bool Indicates whether the viewer is currently sponsoring this user or organization.
ViewerCanChangePinnedItems Bool Can the viewer pin repositories and gists to the profile?
StatusId String The emoji's ID.
StatusEmoji String An emoji summarizing the user's status.
StatusMessage String A brief message describing what the user is doing.
StatusIndicatesLimitedAvailability Bool Specifies whether this status indicates that the user is not fully available on GitHub.
StatusEmojiHTML String The status emoji as HTML.
StatusCreatedAt Datetime Identifies the date and time when the object was created.
StatusExpiresAt Datetime If set, the status is not shown after this date.
StatusUpdatedAt Datetime Identifies the date and time when the object was last updated.
StatusOrganizationId String The organization's ID.
StatusOrganizationLogin String The organization's login name.
InteractionAbilityLimit String The current limit that is enabled on this object.
InteractionAbilityOrigin String The origin of the currently active interaction limit.
InteractionAbilityExpiresAt Datetime The time the currently active limit expires.
HasSponsorsListing Bool True if this user/organization has a GitHub Sponsors listing.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly GitHub Sponsors income for this user/organization in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated next GitHub Sponsors payout for this user/organization in cents (USD).
SponsorsListingId String The listing's ID.
SponsorsListingName String The listing's full name.
TotalSponsorshipAmountAsSponsorInCents Int The amount in US cents that this entity has spent on GitHub to fund sponsorships. Only returns a value when viewed by the user themselves or by a user who can manage sponsorships for the requested organization.
ResourcePath String The HTTP path for this user.
ProjectsResourcePath String The HTTP path listing user's projects.
Url String The HTTP URL for this user.
ProjectsUrl String The HTTP URL listing user's projects.
WebsiteUrl String A URL pointing to the user's public website/blog.
AvatarUrl String A URL pointing to the user's public avatar.
CopilotEndpointsApi String Copilot API endpoint.
CopilotEndpointsOriginTracker String Copilot origin tracker endpoint.
CopilotEndpointsProxy String Copilot proxy endpoint.
CopilotEndpointsTelemetry String Copilot telemetry endpoint.
CreatedAt Datetime Identifies the date and time when the object was created.
UpdatedAt Datetime Identifies the date and time when the object was last updated.
RepositoryCount Int The number of repositories that a user owns.
FollowerCount Int The number of followers that a user has.

CData Python Connector for GitHub

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with GitHub.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from GitHub, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for GitHub Stored Procedures

Name Description
GetCurrentlyAuthenticatedUser Retrieves details of the currently authenticated user, such as account settings and roles within the repository.
GetOAuthAccessToken Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.
GetOAuthAuthorizationURL Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
RefreshOAuthAccessToken Refreshes an expired OAuth Access Token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

CData Python Connector for GitHub

GetCurrentlyAuthenticatedUser

Retrieves details of the currently authenticated user, such as account settings and roles within the repository.

Sample


EXECUTE [Project].[GetCurrentlyAuthenticatedUser]

Result Set Columns

Name Type Description
Id String The unique identifier assigned to the user.
Login String The username used by the user to login to GitHub.
Bio String The public profile bio of the user.
BioHTML String The HTML version of the user's public profile bio.
AvatarUrl String A URL pointing to the user's public avatar image.
Name String The public profile name of the user.
Company String The company listed in the user's public profile.
CompanyHTML String The HTML version of the user's public company profile.
CreatedAt Datetime The date and time when the user object was created.
Email String The publicly visible email address of the user.
IsBountyHunter Bool Indicates whether the user is a participant in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a participant in the GitHub Campus Experts Program.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsEmployee Bool Indicates whether the user is a GitHub employee.
IsHireable Bool Indicates whether the user has marked themselves as available for hire.
IsSiteAdmin Bool Indicates whether the user is a site administrator.
IsViewer Bool Indicates whether the current user is the viewer themselves.
Location String The public profile location of the user.
PinnedItemsRemaining Integer Indicates how many more items the user can pin to their profile.
ProjectsUrl String The HTTP URL listing the user's projects.
ResourcePath String The HTTP path for accessing the user's profile.
TwitterUsername String The username of the user on Twitter.
UpdatedAt Datetime The date and time when the user's profile was last updated.
URL String The HTTP URL for the user's GitHub profile.
ViewerCanChangePinnedItems Bool Indicates whether the viewer can pin repositories and gists to the user's profile.
ViewerCanFollow Bool Indicates whether the viewer can follow the user.
ViewerIsFollowing Bool Indicates whether the viewer is currently following this user.
WebsiteUrl String The URL pointing to the user's public website or blog.

CData Python Connector for GitHub

GetOAuthAccessToken

Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.

Input

Name Type Required Description
AuthMode String False The type of authentication mode to use. The allowed values are 'APP' for application-based authentication or 'WEB' for web-based authentication.
Verifier String False The verifier token returned by GitHub after using the URL obtained from the 'GetOAuthAuthorizationURL' process. This is required only for the Web authentication mode.
Scope String False The scope or permissions that you are requesting from the user.
CallbackUrl String False The URL where the user is redirected to after they authorize your application.
State String False This field holds any state useful to your application upon receiving the response. The same value you sent is returned to you. This can be used for redirection purposes, handling nonces, or mitigating cross-site request forgery.

Result Set Columns

Name Type Description
OAuthAccessToken String The authentication token returned by GitHub for accessing the user's GitHub data.
OAuthRefreshToken String An OAuth Refresh Token used to obtain a new access token when the current one expires.
ExpiresIn String The remaining lifetime of the access token in seconds.

CData Python Connector for GitHub

GetOAuthAuthorizationURL

Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.

Input

Name Type Required Description
CallbackUrl String False The URL where GitHub redirects the user to after they authorize your application.
Scope String False The scope or permissions you are requesting from the user.
State String False A field to hold any state information useful to your application. The same value you send is returned to your application, which can be used for redirection purposes, handling nonces, or preventing cross-site request forgery.

Result Set Columns

Name Type Description
URL String The URL that needs to be entered into a web browser to obtain the verifier token and authorize the data provider with GitHub.

CData Python Connector for GitHub

RefreshOAuthAccessToken

Refreshes an expired OAuth Access Token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

Input

Name Type Required Description
OAuthRefreshToken String True The token used to request a new access token when the current one expires. This token is received alongside the original access token.

Result Set Columns

Name Type Description
OAuthAccessToken String The newly generated OAuth Access Token that must be used in API requests to access protected resources.
OAuthRefreshToken String A newly issued OAuth Refresh Token that can be used to obtain another access token once the current one expires.
ExpiresIn String The number of seconds until the new access token expires. By default, the expiration time is set to 1440 seconds (24 minutes).

CData Python Connector for GitHub

Project Data Model

In the Project Data Model, the connector models each project associated with the authenticated account as a schema. Live connectivity to these objects means that any changes to your GitHub account are immediately reflected in the connector.

Note: The connector does not read from classic projects; they have been deprecated in the GitHub API.

Tables

The following Tables are shipped with the connector:

Name Description
StatusUpdates Logs status changes for project items, helping teams track progress and communicate updates effectively.

Views

The following Views are shipped with the connector:

Name Description
CustomView Displays project items labeled 'bug,' sorted by label name in ascending order, to facilitate issue tracking.
ItemAssignees Tracks users assigned to project items, offering a detailed view of task ownership and accountability.
ItemLabels Stores labels applied to project items, enabling better categorization and filtering of tasks.
ItemLinkedPullRequests Connects pull requests to specific project items, creating traceability between project tasks and related code changes.
ItemReviewers Maintains a list of reviewers assigned to specific project items, ensuring tracking of review responsibilities.
Items Contains all details related to project items, including metadata and any associated fields.
ItemsView Offers a complete and unfiltered view of all project items, facilitating comprehensive project analysis.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including getting the currently authenticated user or retrieving and refreshing OAuth access tokens.

The following procedures are shipped with the connector:

Name Description
GetCurrentlyAuthenticatedUser Retrieves information about the currently authenticated user in the context of a GitHub project, including roles and permissions.
GetOAuthAccessToken Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.
GetOAuthAuthorizationURL Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
RefreshOAuthAccessToken Refreshes an expired OAuth Access Token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

CData Python Connector for GitHub

Tables

The connector models the data in GitHub as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for GitHub Tables

Name Description
StatusUpdates Logs status changes for project items, helping teams track progress and communicate updates effectively.

CData Python Connector for GitHub

StatusUpdates

Logs status changes for project items, helping teams track progress and communicate updates effectively.

Table-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [StatusUpdates]

Insert

You can use the following columns to create (insert) a new record:

  • Body
  • StartDate
  • Status
  • TargetDate

INSERT INTO [StatusUpdates] ([Body]) VALUES ('Test')

Update

You can use the following columns to update a record:

  • Body
  • StartDate
  • Status
  • TargetDate

UPDATE [StatusUpdates] SET [Body] = 'Test' WHERE [Id] = 'PVTSU_lAHOBTvkJ84Ad8nnzgABIno'

Delete

You can specify the following column to delete a record: Id

DELETE FROM [StatusUpdates] WHERE [Id] = 'PVTSU_lAHOBTvkJ84Ad8nnzgABInY'

Columns

Name Type ReadOnly References Description
Id [KEY] String True

The unique node ID of the ProjectV2StatusUpdate object.

FullDatabaseId Long True

The primary key of the status update in the database, stored as a BigInt for scalability.

Body String False

The textual content of the status update.

BodyHTML String True

The content of the status update rendered in HTML format for web display.

CreatedAt Datetime True

The date and time when the status update was initially created.

StartDate Date False

The start date associated with the status update.

Status String False

The current status of the status update, such as 'IN_PROGRESS' or 'COMPLETED'.

TargetDate Date False

The target completion date specified in the status update.

UpdatedAt Datetime True

The date and time when the status update was last modified.

CData Python Connector for GitHub

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for GitHub Views

Name Description
CustomView Displays project items labeled 'bug,' sorted by label name in ascending order, to facilitate issue tracking.
ItemAssignees Tracks users assigned to project items, offering a detailed view of task ownership and accountability.
ItemLabels Stores labels applied to project items, enabling better categorization and filtering of tasks.
ItemLinkedPullRequests Connects pull requests to specific project items, creating traceability between project tasks and related code changes.
ItemReviewers Maintains a list of reviewers assigned to specific project items, ensuring tracking of review responsibilities.
Items Contains all details related to project items, including metadata and any associated fields.
ItemsView Offers a complete and unfiltered view of all project items, facilitating comprehensive project analysis.

CData Python Connector for GitHub

CustomView

Displays project items labeled 'bug,' sorted by label name in ascending order, to facilitate issue tracking.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server side:

  SELECT * FROM CustomView

Columns

Name Type References OrderBySupport Description
ItemId [KEY] String A unique identifier for the item, used as a primary key.
Title String The text value of the item's title or main heading.
Assignees String The usernames of users assigned to the item, separated by commas if multiple.
Status String The current status of the item, represented by the selected option from a predefined list.
Labels String A comma-separated list of labels applied to categorize the item.
Linked pull requests String A list of numbers representing pull requests associated with the item.
Milestone String The title of the milestone that the item is associated with, used for tracking progress.
Repository String The full name of the repository, including the owner (for example, owner/repo-name).
Reviewers String The usernames of individuals designated as reviewers for the item.
CustomText String Custom-defined textual content for additional item-specific details.
CustomNumber Double A numeric field allowing custom floating-point values for calculations or metrics.
CustomDate Date A custom-defined date associated with the item, used for deadlines or events.
CustomSingleSelect String The selected value from a custom single-choice dropdown field.
CustomIteration String The title of the iteration or sprint associated with the item.

CData Python Connector for GitHub

ItemAssignees

Tracks users assigned to project items, offering a detailed view of task ownership and accountability.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • ItemId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [ItemAssignees]
SELECT * FROM [ItemAssignees] WHERE [ItemId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
ItemId [KEY] String A unique identifier for the item being referenced, such as an issue or pull request.
Id [KEY] String A unique identifier for the user assigned to the item.
DatabaseId Int The primary key for the user in the database, used for internal reference.
Login String The username associated with the user's GitHub account, used for authentication and identification.
Name String The full name associated with the user's public GitHub profile.
Email String The publicly visible email address of the user, if they have chosen to make it available.
TwitterUsername String The user's Twitter handle, as provided on their GitHub profile.
Pronouns String The pronouns listed by the user in their public GitHub profile, if provided.
Bio String The user's public biography, offering a brief description about themselves.
BioHTML String The user's public biography formatted in HTML, suitable for display in web applications.
Company String The organization or company associated with the user's public GitHub profile.
CompanyHTML String The organization or company formatted as HTML, suitable for rendering in web pages.
Location String The geographic location provided in the user's public profile, such as city or country.
AnyPinnableItems Bool Indicates whether the user has any repositories, gists, or projects that can be pinned to their profile.
PinnedItemsRemaining Int The number of additional items that the user can pin to their profile.
UserViewType String Whether a user being viewed contains public or private information.
ItemShowcaseHasPinnedItems Bool Indicates whether the user has pinned any repositories or gists to their profile showcase.
IsEmployee Bool Indicates if the user is an employee of GitHub.
IsHireable Bool Indicates if the user is open to job opportunities and marked as hireable.
IsBountyHunter Bool Indicates if the user participates in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates if the user is a participant in the GitHub Campus Experts Program.
IsFollowingViewer Bool Indicates if this user is following the authenticated viewer. This is the inverse of 'ViewerIsFollowing.'
IsSiteAdmin Bool Indicates if the user has site-wide administrative privileges on GitHub.
IsDeveloperProgramMember Bool Indicates if the user is a member of the GitHub Developer Program.
IsGitHubStar Bool Indicates if the user is recognized as a member of the GitHub Stars Program.
IsSponsoringViewer Bool Indicates if the user is sponsoring the authenticated viewer through GitHub Sponsors.
IsViewer Bool Indicates if this user is the currently authenticated viewer.
ViewerCanFollow Bool Indicates if the authenticated viewer has the ability to follow this user.
ViewerCanSponsor Bool Indicates if the authenticated viewer can sponsor this user or organization through GitHub Sponsors.
ViewerIsFollowing Bool Indicates if the authenticated viewer is following this user.
ViewerIsSponsoring Bool Indicates if the currently authenticated viewer is sponsoring this user or organization through GitHub Sponsors.
ViewerCanCreateProjects Bool Indicates if the authenticated viewer has permission to create new projects for this user or organization.
ViewerCanChangePinnedItems Bool Indicates if the viewer can pin repositories or gists to this user's profile.
StatusId String A unique identifier for the user's current status emoji.
StatusEmoji String An emoji representing the user's current status, providing a visual summary.
StatusMessage String A brief text message describing the user's current activity or availability.
StatusIndicatesLimitedAvailability Bool Indicates whether the user's status signifies limited availability on GitHub.
StatusEmojiHTML String The user's status emoji formatted as HTML, suitable for rendering in web applications.
StatusCreatedAt Datetime The date and time when the user's status was initially set.
StatusExpiresAt Datetime The expiration date and time for the user's status, after which it is no longer displayed.
StatusUpdatedAt Datetime The date and time when the user's status was last updated.
StatusOrganizationId String The unique identifier of the organization associated with the user's status.
StatusOrganizationLogin String The login name of the organization associated with the user's status.
InteractionAbilityLimit String The type of interaction limit currently applied to this object, such as restricting comments or contributions.
InteractionAbilityOrigin String The origin or reason for the currently active interaction limit, such as an organization policy.
InteractionAbilityExpiresAt Datetime The date and time when the current interaction limit expires.
HasSponsorsListing Bool Indicates if this user or organization has a GitHub Sponsors listing to receive sponsorships.
MonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).
EstimatedNextSponsorsPayoutInCents Int The estimated amount for the next GitHub Sponsors payout, in cents (USD).
SponsorsListingId String The unique identifier of the GitHub Sponsors listing.
SponsorsListingName String The full name of the GitHub Sponsors listing associated with this user or organization.
TotalSponsorshipAmountAsSponsorInCents Int The total amount in US cents spent by this entity on sponsorships through GitHub. Only visible to the user or authorized managers.
ResourcePath String The HTTP path for accessing this user's profile.
ProjectsResourcePath String The HTTP path for viewing this user's GitHub projects.
Url String The HTTP URL for accessing this user's profile.
ProjectsUrl String The HTTP URL listing this user's GitHub projects.
WebsiteUrl String A URL pointing to the user's public website or blog, if provided.
AvatarUrl String A URL pointing to the user's public avatar image. The 'size' argument specifies the dimensions of the square image.
CopilotEndpointsApi String The API endpoint for GitHub Copilot integration.
CopilotEndpointsOriginTracker String The endpoint for tracking the origin of requests made through GitHub Copilot.
CopilotEndpointsProxy String The proxy endpoint for GitHub Copilot requests.
CopilotEndpointsTelemetry String The endpoint for gathering telemetry data related to GitHub Copilot usage.
CreatedAt Datetime The date and time when this object, such as a user or resource, was initially created.
UpdatedAt Datetime The date and time when this object was last updated or modified.
RepositoryCount Int The total number of repositories owned by the user.
FollowerCount Int The total number of users following this user on GitHub.

CData Python Connector for GitHub

ItemLabels

Stores labels applied to project items, enabling better categorization and filtering of tasks.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • ItemId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [ItemLabels]
SELECT * FROM [ItemLabels] WHERE [ItemId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
ItemId [KEY] String A unique identifier for the item (for example, issue or pull request) associated with the label.
Id [KEY] String A unique identifier for the label.
Name String The name of the label, used to categorize or tag items.
Description String A brief description providing additional context or purpose for the label.
Color String The hexadecimal color code representing the label's visual appearance.
IsDefault Bool Indicates whether this label is one of the default labels provided by GitHub or custom-created.
ResourcePath String The relative HTTP path to access this label on GitHub.
Url String The full HTTP URL to view this label on GitHub.
UpdatedAt Datetime The date and time when the label was last updated or modified.
CreatedAt Datetime The date and time when the label was initially created.

CData Python Connector for GitHub

ItemLinkedPullRequests

Connects pull requests to specific project items, creating traceability between project tasks and related code changes.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • ItemId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [ItemLinkedPullRequests]
SELECT * FROM [ItemLinkedPullRequests] WHERE [ItemId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
ItemId [KEY] String A unique identifier for the item (for example, issue or task) associated with the linked pull request.
Id [KEY] String A unique identifier for the pull request.
FullDatabaseId Long The primary key of the pull request in the database, stored as a BigInt for scalability.
Author String The login name of the user who authored the pull request.
AuthorAssociation String The author's relationship with the repository (for example, 'CONTRIBUTOR', 'MEMBER', or 'OWNER').
Editor String The login name of the user who last edited the body of the pull request.
HeadRepositoryId String The unique identifier for the repository associated with the pull request's head branch.
HeadRepositoryOwner String The login name of the owner of the repository associated with the pull request's head branch.
MergedBy String The login name of the user who merged the pull request.
BaseRefId String The unique identifier for the base branch of the pull request, even if the branch has been deleted.
BaseRefOid String The Git Object ID (OID) of the base branch associated with the pull request.
BaseRefPrefix String The prefix (for example, 'refs/heads/') of the base branch associated with the pull request.
BaseRefName String The name of the base branch associated with the pull request, even if the branch has been deleted.
HeadRefId String The unique identifier for the head branch of the pull request, even if the branch has been deleted.
HeadRefOid String The Git Object ID (OID) of the head branch associated with the pull request.
HeadRefPrefix String The prefix (for example, 'refs/heads/') of the head branch associated with the pull request.
HeadRefName String The name of the head branch associated with the pull request, even if the branch has been deleted.
Title String The title of the pull request, summarizing its purpose or changes.
TitleHTML String The pull request title formatted in HTML for rendering in web applications.
Body String The full content of the pull request description written in Markdown.
BodyText String The content of the pull request description rendered as plain text.
BodyHTML String The content of the pull request description rendered as HTML for display purposes.
State String The current state of the pull request (for example, 'OPEN', 'CLOSED', or 'MERGED').

The allowed values are OPEN, CLOSED, MERGED.

Number Int The unique number assigned to the pull request within its repository.
Mergeable String Indicates whether the pull request is mergeable, based on the absence of merge conflicts.
Merged Bool Indicates whether the pull request has been successfully merged.
Closed Bool Indicates whether the pull request is closed without being merged.
ChangedFiles Int The total number of files that were modified in this pull request.
Additions Int The total number of lines added in this pull request.
Deletions Int The total number of lines removed in this pull request.
TotalCommentsCount Int The total number of comments, including review comments, on this pull request.
ReviewDecision String The current review status of the pull request, such as 'APPROVED', 'CHANGES_REQUESTED', or 'REVIEW_REQUIRED'.
Locked Bool Indicates whether the pull request is locked to prevent further discussion or changes.
ActiveLockReason String The reason provided for locking the conversation on this pull request, such as 'RESOLVED' or 'OFF_TOPIC'.
IsDraft Bool Indicates whether the pull request is a draft, meaning it is not yet ready for review or merging.
IsCrossRepository Bool Indicates whether the pull request's base and head branches are in different repositories.
MaintainerCanModify Bool Indicates whether repository maintainers are allowed to make changes to the pull request's branch.
CreatedViaEmail Bool Indicates whether this comment on the pull request was created through an email reply.
IncludesCreatedEdit Bool Indicates whether the comment on the pull request has been edited and includes data from the original creation.
MergeCommitId String The unique commit ID generated when the pull request was successfully merged.
PotentialMergeCommitId String The unique commit ID generated by GitHub to test the mergeability of the pull request. This is not available if the pull request is already merged or if the test is still in progress.
Permalink String The permanent URL that links directly to this pull request.
ResourcePath String The relative HTTP path for accessing this pull request on GitHub.
ChecksResourcePath String The relative HTTP path for viewing the checks and statuses for this pull request.
RevertResourcePath String The relative HTTP path for initiating a revert of this pull request.
Url String The full HTTP URL for accessing this pull request.
ChecksUrl String The full HTTP URL for viewing the checks and statuses for this pull request.
RevertUrl String The full HTTP URL for initiating a revert of this pull request.
LastEditedAt Datetime The date and time when the last edit was made to this pull request.
MergedAt Datetime The date and time when the pull request was successfully merged.
ClosedAt Datetime The date and time when the pull request was closed, either by merging or other means.
PublishedAt Datetime The date and time when the comment associated with the pull request was published.
UpdatedAt Datetime The date and time when the pull request or its associated data was last updated.
CreatedAt Datetime The date and time when the pull request or its associated data was created.
MilestoneId String The unique identifier of the milestone associated with this pull request.
MilestoneTitle String The title of the milestone associated with this pull request.
MilestoneNumber Int The unique number of the milestone associated with this pull request.
AutoMergeRequestCommitHeadline String The title of the commit created as part of the auto-merge request. Set by the merge queue if required by the base branch.
AutoMergeRequestAuthorEmail String The email address of the user who initiated the auto-merge request.
AutoMergeRequestCommitBody String The commit message created as part of the auto-merge request. Set by the merge queue if required by the base branch.
AutoMergeRequestEnabledAt Datetime The date and time when the auto-merge request for this pull request was enabled.
AutoMergeRequestMergeMethod String Specifies the merge method (for example, 'MERGE', 'SQUASH', 'REBASE') used for the auto-merge request. This value is set by the merge queue if required by the base branch.
ViewerDidAuthor Bool Indicates whether the currently authenticated viewer authored this comment on the pull request.
IsReadByViewer Bool Indicates whether the pull request has been marked as read by the viewer.
ViewerSubscription String Identifies the viewer's subscription status for the pull request, such as 'WATCHING', 'NOT_WATCHING', or 'IGNORING'.
ViewerCanLabel Bool Indicates whether the viewer has permission to edit or add labels to the pull request.
ViewerCanClose Bool Indicates whether the viewer has permission to close the pull request.
ViewerCanReact Bool Indicates whether the viewer can react to this pull request or its comments with emoji reactions.
ViewerCanReopen Bool Indicates whether the viewer can reopen the pull request after it has been closed.
ViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for the repository containing this pull request.
ViewerCanApplySuggestion Bool Indicates whether the viewer has permission to apply suggested changes to the pull request.
ViewerCanEditFiles Bool Indicates whether the viewer can edit files within the context of this pull request.
ViewerCanDeleteHeadRef Bool Indicates whether the viewer can restore a deleted head reference associated with this pull request.
ViewerCanDisableAutoMerge Bool Indicates whether the viewer can disable the auto-merge feature for this pull request.
ViewerCanEnableAutoMerge Bool Indicates whether the viewer can enable the auto-merge feature for this pull request.
ViewerCanMergeAsAdmin Bool Indicates whether the viewer can bypass branch protection rules and merge the pull request immediately as an administrator.
ViewerCanUpdate Bool Indicates whether the viewer can update this pull request or its associated content.
ViewerCanUpdateBranch Bool Indicates whether the viewer can update the head branch of this pull request by merging or rebasing the base branch.
ViewerCannotUpdateReasons String A list of reasons why the viewer cannot update this pull request or its associated content.
ViewerLatestReviewRequestId String The unique ID of the viewer's most recent review request for this pull request.
ViewerLatestReviewId String The unique ID of the viewer's most recent review on this pull request.
IsMergeQueueEnabled Bool Indicates whether the base branch of this pull request has a merge queue enabled for managing merge operations.
IsInMergeQueue Bool Indicates whether the pull request is currently in a merge queue awaiting processing.
MergeQueueEntryId String A unique identifier for this pull request's entry in the merge queue.
MergeQueueEntryJump Bool Indicates whether this pull request is prioritized to jump ahead in the merge queue.
MergeQueueEntryPosition Int The position of this pull request's entry in the merge queue.
MergeQueueEntrySolo Bool Indicates whether this pull request needs to be merged or deployed independently, without batching with others.
MergeQueueEntryState String The current state of this pull request's entry in the merge queue, such as 'ENQUEUED', 'MERGING', or 'FAILED'.
MergeQueueEntryEnqueuedAt Datetime The date and time when this pull request was added to the merge queue.
MergeQueueEntryEstimatedTimeToMerge Int The estimated time in seconds until this pull request is expected to be merged.
MergeQueueEntryBaseCommitId String The unique ID of the base commit associated with this merge queue entry.
MergeQueueEntryHeadCommitId String The unique ID of the head commit associated with this merge queue entry.
MergeQueueEntryMergeQueueId String The unique identifier of the merge queue containing this pull request.
MergeQueueEntryMergeQueueUrl String The full HTTP URL for viewing the merge queue containing this pull request.
MergeQueueEntryMergeQueueResourcePath String The relative HTTP path for accessing the merge queue containing this pull request.
MergeQueueEntryMergeQueueNextEntryEstimatedTimeToMerge Int The estimated time in seconds until a newly added entry in this merge queue is expected to be merged.
StatusCheckRollupId String The unique Node ID of the StatusCheckRollup object, which aggregates status checks and runs.
StatusCheckRollupCommitId String The commit ID to which the status checks and check runs are attached.
StatusCheckRollupState String The combined status of all checks and runs for the associated commit, such as 'SUCCESS', 'PENDING', or 'FAILURE'.

CData Python Connector for GitHub

ItemReviewers

Maintains a list of reviewers assigned to specific project items, ensuring tracking of review responsibilities.

View-Specific Information

Select

The connector uses the GitHub API to process WHERE clause conditions that are built with the following column and operators:

  • ItemId supports the '=,IN' comparison operators.

For example, the following queries are processed server-side:

SELECT * FROM [ItemReviewers]
SELECT * FROM [ItemReviewers] WHERE [ItemId] = 'Val1'

The connector processes other filters client-side within the connector.

Columns

Name Type References OrderBySupport Description
ItemId [KEY] String A unique identifier for the item (for example, a pull request or issue) associated with the reviewer.
NodeId [KEY] String A unique identifier for the object in the GitHub system.
UserId String A unique identifier for the user acting as a reviewer.
UserDatabaseId Int The primary key of the user in the database, used for internal reference.
UserLogin String The username associated with the user's GitHub account, used for authentication and identification.
UserName String The full name associated with the user's public GitHub profile.
UserEmail String The publicly visible email address of the user, if they have chosen to make it available.
UserTwitterUsername String The Twitter username provided on the user's GitHub profile.
UserPronouns String The pronouns listed by the user in their public GitHub profile.
UserBio String The user's public biography, offering a brief description about themselves.
UserBioHTML String The user's public biography formatted in HTML for rendering in web applications.
UserCompany String The organization or company associated with the user's public GitHub profile.
UserCompanyHTML String The organization or company formatted as HTML, suitable for rendering in web applications.
UserLocation String The geographic location provided in the user's public profile, such as city or country.
UserAnyPinnableItems Bool Indicates whether the user has any repositories, gists, or projects that can be pinned to their profile.
UserPinnedItemsRemaining Int The number of additional items the user can pin to their GitHub profile.
UserViewType String Whether a user being viewed contains public or private information.
UserItemShowcaseHasPinnedItems Bool Indicates whether the user has pinned any repositories or gists to their profile showcase.
UserIsEmployee Bool Indicates whether the user is an employee of GitHub.
UserIsHireable Bool Indicates whether the user has marked themselves as available for hiring opportunities.
UserIsBountyHunter Bool Indicates whether the user participates in the GitHub Security Bug Bounty program.
UserIsCampusExpert Bool Indicates whether the user is a participant in the GitHub Campus Experts Program.
UserIsFollowingViewer Bool Indicates whether the user is following the authenticated viewer. This is the inverse of 'UserViewerIsFollowing.'
UserIsSiteAdmin Bool Indicates whether the user has site-wide administrative privileges on GitHub.
UserIsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
UserIsGitHubStar Bool Indicates whether the user is recognized as a member of the GitHub Stars Program.
UserIsSponsoringViewer Bool Indicates whether the user is sponsoring the authenticated viewer through GitHub Sponsors.
UserIsViewer Bool Indicates whether the user is the currently authenticated viewer.
UserViewerCanFollow Bool Indicates whether the viewer can follow this user.
UserViewerCanSponsor Bool Indicates whether the viewer can sponsor this user or organization through GitHub Sponsors.
UserViewerIsFollowing Bool Indicates whether the viewer is currently following this user.
UserViewerIsSponsoring Bool Indicates whether the currently authenticated viewer is sponsoring this user or organization through GitHub Sponsors.
UserViewerCanCreateProjects Bool Indicates whether the authenticated viewer has permission to create new projects for this user or organization.
UserViewerCanChangePinnedItems Bool Indicates whether the viewer can pin repositories or gists to this user's profile.
UserStatusId String A unique identifier for the emoji used in the user's current status.
UserStatusEmoji String An emoji representing the user's current status, providing a visual summary.
UserStatusMessage String A brief text message describing the user's current activity or availability.
UserStatusIndicatesLimitedAvailability Bool Indicates whether the user's status signifies limited availability on GitHub.
UserStatusEmojiHTML String The user's status emoji formatted as HTML, suitable for display in web applications.
UserStatusCreatedAt Datetime The date and time when the user's status was initially set.
UserStatusExpiresAt Datetime The expiration date and time for the user's status, after which it is no longer displayed.
UserStatusUpdatedAt Datetime The date and time when the user's status was last updated.
UserStatusOrganizationId String The unique identifier of the organization associated with the user's status.
UserStatusOrganizationLogin String The login name of the organization associated with the user's status.
UserInteractionAbilityLimit String The type of interaction limit currently applied to this user's repositories or objects, such as restricting comments or contributions.
UserInteractionAbilityOrigin String The origin or reason for the currently active interaction limit, such as an organization policy.
UserInteractionAbilityExpiresAt Datetime The date and time when the current interaction limit expires.
UserHasSponsorsListing Bool Indicates whether the user or organization has a GitHub Sponsors listing to receive sponsorships.
UserMonthlyEstimatedSponsorsIncomeInCents Int The estimated monthly income from GitHub Sponsors for this user or organization, in cents (USD).
UserEstimatedNextSponsorsPayoutInCents Int The estimated amount for the next GitHub Sponsors payout, in cents (USD).
UserSponsorsListingId String A unique identifier for the GitHub Sponsors listing associated with this user or organization.
UserSponsorsListingName String The full name of the GitHub Sponsors listing associated with this user or organization.
UserTotalSponsorshipAmountAsSponsorInCents Int The total amount in US cents that this user or organization has spent on sponsorships through GitHub.
UserResourcePath String The relative HTTP path for accessing this user's GitHub profile.
UserProjectsResourcePath String The relative HTTP path for viewing this user's GitHub projects.
UserUrl String The full HTTP URL for accessing this user's GitHub profile.
UserProjectsUrl String The full HTTP URL for viewing this user's GitHub projects.
UserWebsiteUrl String A URL pointing to the user's public website or blog, if provided.
UserAvatarUrl String A URL pointing to the user's public avatar image. The 'size' argument specifies the dimensions of the square image.
UserCopilotEndpointsApi String The API endpoint for GitHub Copilot integration specific to this user.
UserCopilotEndpointsOriginTracker String The endpoint for tracking the origin of requests made through GitHub Copilot for this user.
UserCopilotEndpointsProxy String The proxy endpoint for GitHub Copilot requests associated with this user.
UserCopilotEndpointsTelemetry String The telemetry endpoint for gathering data related to GitHub Copilot usage for this user.
UserCreatedAt Datetime The date and time when this user's GitHub account was created.
UserUpdatedAt Datetime The date and time when this user's profile or associated data was last updated.
UserRepositoryCount Int The total number of repositories owned by this user.
UserFollowerCount Int The total number of followers this user has on GitHub.
BotId String The unique identifier for this bot in the GitHub system.
BotDatabaseId Int The primary key of the bot in the database, used for internal reference.
BotLogin String The username or handle associated with this bot on GitHub.
BotUrl String The full HTTP URL for accessing this bot's profile or details.
BotResourcePath String The relative HTTP path for accessing this bot's profile or details.
BotCreatedAt Datetime The date and time when this bot account was created on GitHub.
BotUpdatedAt Datetime The date and time when this bot's profile or associated data was last updated.
MannequinId String The unique identifier for this mannequin user on GitHub.
MannequinDatabaseId Int The primary key of the mannequin user in the database, used for internal reference.
MannequinLogin String The username associated with this mannequin account, typically used for attribution.
MannequinEmail String The email address of the mannequin user from the source instance, if available.
MannequinUrl String The full HTTP URL to access this mannequin's profile or details.
MannequinResourcePath String The relative HTML path for accessing this mannequin's profile or details.
MannequinCreatedAt Datetime The date and time when this mannequin account was created on GitHub.
MannequinUpdatedAt Datetime The date and time when this mannequin's profile or associated data was last updated.
MannequinClaimantId String The unique identifier for the user or entity claiming ownership of this mannequin account.
MannequinClaimantLogin String The username of the user or entity that has claimed the mannequin account.
TeamId String A unique identifier for the team in the GitHub system.
TeamDatabaseId Int The primary key of the team in the database, used for internal reference.
TeamOrganizationId String A unique identifier for the organization to which the team belongs.
TeamOrganizationDatabaseId Int The primary key of the organization in the database, used for internal reference.
TeamParentTeamId String A unique identifier for the parent team of the current team, if applicable.
TeamParentTeamDatabaseId Int The primary key of the parent team in the database, used for internal reference.
TeamParentTeamName String The name of the parent team of the current team, if applicable.
TeamName String The name of the team, used for identification and display purposes.
TeamDescription String A brief description of the team's purpose or role within the organization.
TeamPrivacy String The privacy level of the team, such as 'PRIVATE' or 'SECRET'.

The allowed values are SECRET, VISIBLE.

TeamSlug String A URL-friendly identifier (slug) for the team.
TeamUrl String The full HTTP URL for accessing this team's details on GitHub.
TeamAvatarUrl String A URL pointing to the team's avatar or profile image.
TeamCombinedSlug String A URL-friendly identifier combining the organization and team slugs.
TeamDiscussionsUrl String The full HTTP URL for accessing discussions related to this team.
TeamMembersUrl String The full HTTP URL for accessing the list of this team's members.
TeamNotificationSetting String The notification preferences set for this team.

The allowed values are NOTIFICATIONS_ENABLED, NOTIFICATIONS_DISABLED.

TeamRepositoriesUrl String The full HTTP URL for accessing the repositories associated with this team.
TeamResourcePath String The relative HTTP path for accessing this team's details on GitHub.
TeamTeamsUrl String The full HTTP URL for accessing this team's child teams, if applicable.
TeamViewerSubscription String Indicates the viewer's subscription status for the team, such as 'WATCHING', 'NOT_WATCHING', or 'IGNORING'.
TeamDiscussionsResourcePath String The relative HTTP path for accessing team discussions.
TeamEditTeamUrl String The full HTTP URL for editing this team's details.
TeamMembersResourcePath String The relative HTTP path for accessing the list of this team's members.
TeamNewTeamUrl String The full HTTP URL for creating a new team under this organization.
TeamRepositoriesResourcePath String The relative HTTP path for accessing the repositories associated with this team.
TeamTeamsResourcePath String The relative HTTP path for accessing this team's child teams, if applicable.
TeamViewerCanAdminister Bool Indicates whether the viewer has administrative permissions for this team.
TeamViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for this team's repositories or discussions.
TeamEditTeamResourcePath String The relative HTTP path for editing this team's details.
TeamNewTeamResourcePath String The relative HTTP path for creating a new team within this organization.
TeamCreatedAt Datetime The date and time when the team was created in the GitHub system.
TeamUpdatedAt Datetime The date and time when the team's details were last updated.
TeamReviewRequestDelegationAlgorithm String The algorithm used by this team for assigning reviews, such as round-robin or load-balanced methods.
TeamReviewRequestDelegationEnabled Bool Indicates whether the review request delegation feature is enabled for this team.
TeamReviewRequestDelegationMemberCount Int The number of team members required to be assigned as reviewers when delegation is enabled.
TeamReviewRequestDelegationNotifyTeam Bool Indicates whether the entire team should be notified in addition to the delegated members when reviews are assigned.

CData Python Connector for GitHub

Items

Contains all details related to project items, including metadata and any associated fields.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [Items]

Columns

Name Type References OrderBySupport Description
Id [KEY] String A unique identifier for the item.
FullDatabaseId Long The primary key of the item in the database, stored as a BigInt.
UpdatedAt Datetime The date and time when the item or its details were last updated.
CreatedAt Datetime The date and time when the item was created.
IsArchived Bool Indicates whether the item is archived and no longer active.
Type String The type or category of the item, such as 'Issue' or 'Pull Request'.
DraftIssueId String The unique identifier for the draft issue associated with this item.
DraftIssueTitle String The title of the draft issue.
DraftIssueBody String The full content of the draft issue's body written in Markdown.
DraftIssueBodyText String The content of the draft issue's body rendered as plain text.
DraftIssueBodyHTML String The content of the draft issue's body rendered as HTML for display purposes.
DraftIssueUpdatedAt Datetime The date and time when the draft issue was last updated.
DraftIssueCreatedAt Datetime The date and time when the draft issue was created.
IssueId String A unique identifier for the issue associated with this item.
IssueFullDatabaseId Long The primary key of the issue in the database, stored as a BigInt.
IssueTitle String The title of the issue, summarizing its purpose or content.
IssueTitleHTML String The title of the issue rendered in HTML for display purposes.
IssueAuthor String The username of the user who authored the issue.
IssueAuthorAssociation String The author's relationship with the repository, such as 'CONTRIBUTOR' or 'OWNER'.
IssueEditor String The username of the user who last edited the issue.
IssueBody String The full content of the issue's body written in Markdown.
IssueBodyText String The content of the issue's body rendered as plain text.
IssueBodyHTML String The content of the issue's body rendered as HTML for display purposes.
IssueBodyResourcePath String The relative HTTP path to access the body of the issue.
IssueBodyUrl String The full HTTP URL to access the body of the issue.
IssueNumber Int The unique number assigned to the issue within its repository.
IssueState String The current state of the issue, such as 'open' or 'closed'.

The allowed values are open, closed.

IssueStateReason String The reason provided for the current state of the issue, such as 'COMPLETED' or 'NOT_PLANNED'.

The allowed values are COMPLETED, NOT_PLANNED, DUPLICATE, REOPENED.

IssueLocked Bool Indicates whether the issue is locked to prevent further changes or comments.
IssueActiveLockReason String The reason why the issue was locked, such as 'OFF_TOPIC' or 'RESOLVED'.
IssueClosed Bool Indicates whether the issue is closed. The definition of 'closed' may depend on the type of the issue.
IssueIsPinned Bool Indicates whether the issue is currently pinned to the top of the repository's issues list.
IssueIncludesCreatedEdit Bool Indicates whether the comment was edited and includes the original creation data.
IssueCreatedViaEmail Bool Indicates whether the comment was created via an email reply.
IssueDuplicateIssueId String ID of the issue that this is a duplicate of.
IssueDependenciesSummaryBlockedBy Int Count of issues this issue is blocked by.
IssueDependenciesSummaryBlocking Int Count of issues this issue is blocking.
IssueDependenciesSummaryTotalBlockedBy Int Total count of issues this issue is blocked by (open and closed).
IssueDependenciesSummaryTotalBlocking Int Total count of issues this issue is blocking (open and closed).
IssueResourcePath String The relative HTTP path to access this issue on GitHub.
IssueUrl String The full HTTP URL to access this issue on GitHub.
IssueLastEditedAt Datetime The date and time when the issue was last edited by an editor.
IssuePublishedAt Datetime The date and time when the issue or its associated comment was published.
IssueClosedAt Datetime The date and time when the issue was closed.
IssueUpdatedAt Datetime The date and time when the issue or its details were last updated.
IssueCreatedAt Datetime The date and time when the issue was created.
IssueMilestoneId String The unique identifier for the milestone associated with this issue.
IssueMilestoneTitle String The title of the milestone associated with this issue.
IssueMilestoneNumber Int The number assigned to the milestone associated with this issue.
IssueIsReadByViewer Bool Indicates whether the issue has been marked as read by the viewer.
IssueViewerDidAuthor Bool Indicates whether the viewer is the author of this comment or issue.
IssueViewerSubscription String The viewer's subscription status for this issue, such as 'WATCHING', 'NOT_WATCHING', or 'IGNORING'.
IssueViewerCanLabel Bool Indicates whether the viewer has permission to edit or add labels to this issue.
IssueViewerCanClose Bool Indicates whether the viewer can close this issue.
IssueViewerCanReopen Bool Indicates whether the viewer can reopen this issue after it has been closed.
IssueViewerCanDelete Bool Indicates whether the viewer can delete this issue or its associated content.
IssueViewerCanReact Bool Indicates whether the viewer can react to this issue or its comments using emojis.
IssueViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for this issue.
IssueViewerThreadSubscriptionStatus String The viewer's current thread subscription status for the issue.
IssueViewerThreadSubscriptionFormAction String The form action URL for updating the viewer's thread subscription status for the issue.
IssueViewerCanUpdate Bool Indicates whether the viewer can update this issue or its associated content.
IssueViewerCannotUpdateReasons String The reasons why the viewer is unable to update this issue or its content.
IssueCommentCount Int The total number of comments on this issue.
IssueReactionCount Int The total number of emoji reactions on this issue.
IssueTypeID String The Node ID of the IssueType object.
IssueTypeName String The issue type's name.
IssueTypeDescription String The issue type's description.
IssueTypeIsEnabled Bool The issue type's enabled state.
IssueTypeColor String The issue type's color.
PullRequestId String The unique identifier for the pull request associated with this item.
PullRequestFullDatabaseId Long The primary key of the pull request in the database, stored as a BigInt.
PullRequestAuthor String The login name of the user who authored the pull request.
PullRequestAuthorAssociation String The author's relationship with the repository, such as 'CONTRIBUTOR' or 'MEMBER'.
PullRequestEditor String The login name of the user who last edited the body of the pull request.
PullRequestHeadRepositoryId String The unique identifier of the repository associated with the head branch of this pull request.
PullRequestHeadRepositoryOwner String The login name of the owner of the repository associated with the head branch of this pull request.
PullRequestMergedBy String The login name of the user who merged this pull request.
PullRequestBaseRefId String The unique identifier of the base branch associated with this pull request, even if the branch has been deleted.
PullRequestBaseRefOid String The Git Object ID (OID) of the base branch associated with this pull request, even if the branch has been deleted.
PullRequestBaseRefPrefix String The prefix of the base branch's reference path (for example, 'refs/heads/').
PullRequestBaseRefName String The name of the base branch associated with this pull request, even if the branch has been deleted.
PullRequestHeadRefId String The unique identifier of the head branch associated with this pull request, even if the branch has been deleted.
PullRequestHeadRefOid String The Git Object ID (OID) of the head branch associated with this pull request, even if the branch has been deleted.
PullRequestHeadRefPrefix String The prefix of the head branch's reference path (for example, 'refs/heads/').
PullRequestHeadRefName String The name of the head branch associated with this pull request, even if the branch has been deleted.
PullRequestTitle String The title of the pull request, summarizing its purpose or changes.
PullRequestTitleHTML String The title of the pull request rendered as HTML for web display.
PullRequestBody String The body content of the pull request, written in Markdown.
PullRequestBodyText String The body content of the pull request rendered as plain text.
PullRequestBodyHTML String The body content of the pull request rendered as HTML for web display.
PullRequestState String The current state of the pull request, such as 'OPEN', 'CLOSED', or 'MERGED'.

The allowed values are OPEN, CLOSED, MERGED.

PullRequestNumber Int The unique number assigned to this pull request within its repository.
PullRequestMergeable String Indicates whether the pull request is mergeable, considering the presence or absence of merge conflicts.
PullRequestMerged Bool Indicates whether the pull request has been successfully merged.
PullRequestClosed Bool Indicates whether the pull request is closed without being merged.
PullRequestChangedFiles Int The total number of files changed in this pull request.
PullRequestAdditions Int The total number of lines added in this pull request.
PullRequestDeletions Int The total number of lines removed in this pull request.
PullRequestTotalCommentsCount Int The total number of comments, including review comments, made on this pull request.
PullRequestReviewDecision String The current review decision on the pull request, such as 'APPROVED', 'CHANGES_REQUESTED', or 'REVIEW_REQUIRED'.
PullRequestLocked Bool Indicates whether the pull request is locked to prevent further activity.
PullRequestActiveLockReason String The reason provided for locking the pull request conversation, such as 'RESOLVED' or 'OFF_TOPIC'.
PullRequestIsDraft Bool Indicates whether the pull request is a draft and not yet ready for review or merging.
PullRequestIsCrossRepository Bool Indicates whether the pull request's head and base branches are in different repositories.
PullRequestMaintainerCanModify Bool Indicates whether repository maintainers are allowed to make changes to the pull request's branch.
PullRequestCreatedViaEmail Bool Indicates whether this comment on the pull request was created via an email reply.
PullRequestIncludesCreatedEdit Bool Indicates whether this comment on the pull request was edited and includes data from the original creation.
PullRequestMergeCommitId String The unique commit ID generated when this pull request was successfully merged.
PullRequestPotentialMergeCommitId String The unique commit ID automatically generated by GitHub to test the mergeability of this pull request. This value is unavailable if the pull request is already merged or the test merge commit is still being generated.
PullRequestPermalink String The permanent URL that links directly to this pull request.
PullRequestResourcePath String The relative HTTP path for accessing this pull request on GitHub.
PullRequestChecksResourcePath String The relative HTTP path for accessing the checks and statuses associated with this pull request.
PullRequestRevertResourcePath String The relative HTTP path for initiating a revert of this pull request.
PullRequestUrl String The full HTTP URL for accessing this pull request on GitHub.
PullRequestChecksUrl String The full HTTP URL for accessing the checks and statuses associated with this pull request.
PullRequestRevertUrl String The full HTTP URL for initiating a revert of this pull request.
PullRequestLastEditedAt Datetime The date and time when this pull request was last edited by an editor.
PullRequestMergedAt Datetime The date and time when this pull request was successfully merged.
PullRequestClosedAt Datetime The date and time when this pull request was closed.
PullRequestPublishedAt Datetime The date and time when this pull request or its associated comment was published.
PullRequestUpdatedAt Datetime The date and time when this pull request or its details were last updated.
PullRequestCreatedAt Datetime The date and time when this pull request was created.
PullRequestMilestoneId String The unique identifier for the milestone associated with this pull request.
PullRequestMilestoneTitle String The title of the milestone associated with this pull request.
PullRequestMilestoneNumber Int The number assigned to the milestone associated with this pull request.
PullRequestAutoMergeRequestCommitHeadline String The title of the commit created as part of the auto-merge request. This value is set by the merge queue if required by the base branch.
PullRequestAutoMergeRequestAuthorEmail String The email address of the author who initiated the auto-merge request.
PullRequestAutoMergeRequestCommitBody String The commit message created as part of the auto-merge request. This value is set by the merge queue if required by the base branch.
PullRequestAutoMergeRequestEnabledAt Datetime The date and time when the auto-merge request for this pull request was enabled.
PullRequestAutoMergeRequestMergeMethod String The merge method (for example, 'MERGE', 'SQUASH', 'REBASE') used for the auto-merge request. This value is set by the merge queue if required by the base branch.
PullRequestViewerDidAuthor Bool Indicates whether the viewer authored this comment or pull request.
PullRequestIsReadByViewer Bool Indicates whether this pull request has been marked as read by the viewer.
PullRequestViewerSubscription String Indicates the viewer's subscription status for this pull request, such as 'WATCHING', 'NOT_WATCHING', or 'IGNORING'.
PullRequestViewerCanLabel Bool Indicates whether the viewer has permission to edit or add labels to this pull request.
PullRequestViewerCanClose Bool Indicates whether the viewer has permission to close this pull request.
PullRequestViewerCanReact Bool Indicates whether the viewer can react to this pull request or its comments using emojis.
PullRequestViewerCanReopen Bool Indicates whether the viewer has permission to reopen this pull request after it has been closed.
PullRequestViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for the repository associated with this pull request.
PullRequestViewerCanApplySuggestion Bool Indicates whether the viewer can apply suggested changes to this pull request.
PullRequestViewerCanEditFiles Bool Indicates whether the viewer has permission to edit files within this pull request.
PullRequestViewerCanDeleteHeadRef Bool Indicates whether the viewer can restore a deleted head reference associated with this pull request.
PullRequestViewerCanDisableAutoMerge Bool Indicates whether the viewer can disable the auto-merge feature for this pull request.
PullRequestViewerCanEnableAutoMerge Bool Indicates whether the viewer can enable the auto-merge feature for this pull request.
PullRequestViewerCanMergeAsAdmin Bool Indicates whether the viewer, as an administrator, can bypass branch protection rules and merge the pull request immediately.
PullRequestViewerCanUpdate Bool Indicates whether the viewer has permission to update this pull request or its associated data.
PullRequestViewerCanUpdateBranch Bool Indicates whether the viewer can update the head branch of this pull request by merging or rebasing the base branch. Returns false if the head branch is up to date or the viewer lacks permissions.
PullRequestViewerCannotUpdateReasons String Lists the reasons why the viewer cannot update this pull request or its associated data.
PullRequestViewerLatestReviewRequestId String The unique identifier of the viewer's most recent review request for this pull request.
PullRequestViewerLatestReviewId String The unique identifier of the viewer's most recent review on this pull request.
PullRequestIsMergeQueueEnabled Bool Indicates whether the base branch of this pull request has a merge queue enabled to manage merge operations.
PullRequestIsInMergeQueue Bool Indicates whether this pull request is currently in a merge queue awaiting processing.
PullRequestMergeQueueEntryId String A unique identifier for this pull request's entry in the merge queue.
PullRequestMergeQueueEntryJump Bool Indicates whether this pull request has been prioritized to jump ahead in the merge queue.
PullRequestMergeQueueEntryPosition Int The position of this pull request's entry in the merge queue.
PullRequestMergeQueueEntrySolo Bool Indicates whether this pull request needs to be deployed or merged independently, without batching with others.
PullRequestMergeQueueEntryState String The current state of this pull request's entry in the merge queue, such as 'ENQUEUED', 'MERGING', or 'FAILED'.
PullRequestMergeQueueEntryEnqueuedAt Datetime The date and time when this pull request was added to the merge queue.
PullRequestMergeQueueEntryEstimatedTimeToMerge Int The estimated time in seconds until this pull request is expected to be merged from the queue.
PullRequestMergeQueueEntryBaseCommitId String The unique identifier of the base commit associated with this merge queue entry.
PullRequestMergeQueueEntryHeadCommitId String The unique identifier of the head commit associated with this merge queue entry.
PullRequestMergeQueueEntryMergeQueueId String The unique identifier of the merge queue containing this pull request entry.
PullRequestMergeQueueEntryMergeQueueUrl String The full HTTP URL for accessing the merge queue containing this pull request.
PullRequestMergeQueueEntryMergeQueueResourcePath String The relative HTTP path for accessing the merge queue containing this pull request.
PullRequestMergeQueueEntryMergeQueueNextEntryEstimatedTimeToMerge Int The estimated time in seconds until a newly added entry in the merge queue is expected to be merged.
PullRequestStatusCheckRollupId String The node ID of the StatusCheckRollup object aggregating status checks and runs for this pull request.
PullRequestStatusCheckRollupCommitId String The unique identifier of the commit to which the status checks and runs are attached.
PullRequestStatusCheckRollupState String The combined status of all checks and runs for the associated commit, such as 'SUCCESS', 'PENDING', or 'FAILURE'.
TitleId String A unique identifier for the title value associated with the item.
TitleDatabaseId Int The primary key of the title value in the database, used for internal reference.
TitleCreatorLogin String The username of the actor who created the item or title value.
TitleCreatedAt Datetime The date and time when the title value or item was created.
TitleUpdatedAt Datetime The date and time when the title value or item was last updated.
TitleText String The text value of the field representing the title.
StatusId String A unique identifier for the status value associated with the item.
StatusDatabaseId Int The primary key of the status value in the database, used for internal reference.
StatusCreatorLogin String The username of the actor who created the status value.
StatusCreatedAt Datetime The date and time when the status value was created.
StatusUpdatedAt Datetime The date and time when the status value was last updated.
StatusName String The name of the selected single-select option for the status.
StatusNameHTML String The HTML-formatted name of the selected single-select option for the status.
StatusDescription String A plain-text description explaining the meaning of the selected single-select option for the status.
StatusDescriptionHTML String The HTML-formatted description of the selected single-select option for the status.
StatusColor String The color code associated with the selected single-select option for the status.
StatusOptionId String The unique identifier for the selected single-select option for the status.
MilestoneId String A unique identifier for the milestone associated with the item.
MilestoneTitle String The title of the milestone, summarizing its purpose or scope.
MilestoneClosed Bool Indicates whether the milestone is closed. The definition of 'closed' may depend on the context.
MilestoneProgressPercentage Double The progress percentage for this milestone, typically based on completed tasks or issues.
MilestoneDescription String The description of the milestone, providing additional context or details.
MilestoneNumber Int The unique number assigned to the milestone.
MilestoneState String The current state of the milestone, such as 'OPEN' or 'CLOSED'.

The allowed values are OPEN, CLOSED.

MilestoneResourcePath String The relative HTTP path for accessing the milestone on GitHub.
MilestoneUrl String The full HTTP URL for accessing the milestone on GitHub.
MilestoneClosedIssueCount Int Identifies the number of closed issues associated with the milestone.
MilestoneOpenIssueCount Int Identifies the number of open issues associated with the milestone.
MilestoneDescriptionHTML String The HTML rendered description of the milestone using GitHub Flavored Markdown.
MilestoneViewerCanClose Bool Indicates whether the viewer has permission to close this milestone.
MilestoneViewerCanReopen Bool Indicates whether the viewer has permission to reopen this milestone after it has been closed.
MilestoneDueOn Datetime The due date of the milestone, if one is set.
MilestoneClosedAt Datetime The date and time when the milestone was closed.
MilestoneUpdatedAt Datetime The date and time when the milestone or its details were last updated.
MilestoneCreatedAt Datetime The date and time when the milestone was created.
RepositoryId String A unique identifier for the repository.
RepositoryDatabaseId Int The primary key of the repository in the database, used for internal reference.
RepositoryName String The name of the repository.
RepositoryNameWithOwner String The full name of the repository, including the owner's login (for example, 'owner/repository-name').
RepositoryOwnerId String The unique identifier for the owner of the repository.
RepositoryOwnerLogin String The login name of the repository's owner, which could be a user or an organization.
RepositoryVisibility String The visibility level of the repository, such as 'PUBLIC', 'PRIVATE', or 'INTERNAL'.
RepositoryDiskUsage Int The size of the repository on disk, in kilobytes.
RepositoryForkCount Int The total number of forks of this repository in the entire network.
RepositoryStargazerCount Int The total number of users who have starred this repository.
RepositoryWatcherCount Int The total number of users watching this repository for updates.
RepositoryTopicCount Int The number of topics applied to the repository for categorization.
RepositoryTempCloneToken String A temporary authentication token that allows cloning this repository.
RepositoryWebCommitSignoffRequired Bool Indicates whether contributors are required to sign off on commits made via the web interface.
RepositoryUsesCustomOpenGraphImage Bool Indicates whether the repository uses a custom image for Open Graph representation instead of the owner's avatar.
RepositoryDescription String The textual description of the repository provided by the owner.
RepositoryDescriptionHTML String The HTML-rendered version of the repository's description.
RepositoryShortDescriptionHTML String A short, HTML-rendered description of the repository without any links.
RepositoryResourcePath String The relative HTTP path for accessing this repository on GitHub.
RepositoryProjectsResourcePath String The relative HTTP path for accessing the projects associated with this repository.
RepositoryUrl String The full HTTP URL for accessing this repository on GitHub.
RepositoryHomepageUrl String The URL for the repository's homepage, if provided.
RepositoryMirrorUrl String The original URL of the repository if it is a mirror.
RepositoryProjectsUrl String The full HTTP URL for accessing the projects associated with this repository.
RepositorySecurityPolicyUrl String The URL of the repository's security policy, if available.
RepositorySSHUrl String The SSH URL for cloning this repository.
RepositoryOpenGraphImageUrl String The URL of the image used to represent this repository in Open Graph data.
RepositoryMergeCommitTitle String Specifies how the default commit title is generated when merging a pull request.
RepositoryMergeCommitMessage String Specifies how the default commit message is generated when merging a pull request.
RepositorySquashMergeCommitTitle String Specifies how the default commit title is generated when squash-merging a pull request.
RepositorySquashMergeCommitMessage String Specifies how the default commit message is generated when squash-merging a pull request.
RepositoryDeleteBranchOnMerge Bool Indicates whether branches are automatically deleted after being merged in this repository.
RepositoryHasDiscussionsEnabled Bool Indicates whether the Discussions feature is enabled for this repository.
RepositoryHasIssuesEnabled Bool Indicates whether the Issues feature is enabled for this repository.
RepositoryHasProjectsEnabled Bool Indicates whether the Projects feature is enabled for this repository.
RepositoryHasWikiEnabled Bool Indicates whether the Wiki feature is enabled for this repository.
RepositoryHasVulnerabilityAlertsEnabled Bool Indicates whether vulnerability alerts are enabled for this repository.
RepositoryHasSponsorshipsEnabled Bool Indicates whether the repository displays a 'Sponsor' button for financial contributions.
RepositoryIsInOrganization Bool Indicates whether the repository is owned by an organization or is a private fork of an organization repository.
RepositoryIsBlankIssuesEnabled Bool Indicates whether creating blank issues is allowed in this repository.
RepositoryIsSecurityPolicyEnabled Bool Indicates whether this repository has a security policy configured.
RepositoryIsUserConfigurationRepository Bool Indicates whether this repository is designated as a user configuration repository.
RepositoryIsArchived Bool Indicates whether the repository is archived and unmaintained.
RepositoryIsDisabled Bool Indicates whether the repository is disabled.
RepositoryIsEmpty Bool Indicates whether the repository is empty and has no content.
RepositoryIsFork Bool Indicates whether the repository is a fork of another repository.
RepositoryIsLocked Bool Indicates whether the repository is locked, preventing modifications.
RepositoryIsMirror Bool Indicates whether the repository is a mirror of another repository.
RepositoryIsPrivate Bool Indicates whether the repository is private and not publicly accessible.
RepositoryIsTemplate Bool Indicates whether the repository is a template that can be used to generate new repositories.
RepositoryLockReason String The reason why the repository has been locked, such as 'MIGRATING' or 'BILLING'.

The allowed values are BILLING, MIGRATING, MOVING, RENAME.

RepositoryTemplateRepositoryId String The unique identifier of the template repository from which this repository was generated, if applicable.
RepositoryParentId String The unique identifier of the parent repository if this repository is a fork.
RepositoryForkingAllowed Bool Indicates whether forking is allowed for this repository.
RepositoryAutoMergeAllowed Bool Indicates whether Auto-merge can be enabled for pull requests in this repository.
RepositorySquashMergeAllowed Bool Indicates whether squash-merging is enabled for pull requests in this repository.
RepositoryRebaseMergeAllowed Bool Indicates whether rebase-merging is enabled for pull requests in this repository.
RepositoryMergeCommitAllowed Bool Indicates whether pull requests can be merged with a merge commit in this repository.
RepositoryAllowUpdateBranch Bool Indicates whether pull request head branches that are behind their base branches can be updated, even if not required to be up-to-date before merging.
RepositoryViewerPermission String The permission level of the authenticated user on the repository. Returns null if authenticated as a GitHub App.

The allowed values are ADMIN, MAINTAIN, READ, TRIAGE, WRITE.

RepositoryViewerSubscription String Indicates whether the viewer is watching, not watching, or ignoring updates from this repository.

The allowed values are IGNORED, SUBSCRIBED, UNSUBSCRIBED.

RepositoryViewerHasStarred Bool Indicates whether the currently authenticated viewer has starred this repository.
RepositoryViewerDefaultCommitEmail String The email address the viewer used for their last commit in this repository.
RepositoryViewerDefaultMergeMethod String The last merge method used by the viewer or the default merge method for the repository (for example, 'MERGE', 'SQUASH', 'REBASE').
RepositoryViewerPossibleCommitEmails String A list of email addresses the viewer can use for commits in this repository.
RepositoryViewerCanAdminister Bool Indicates whether the viewer has administrative permissions on this repository.
RepositoryViewerCanSubscribe Bool Indicates whether the viewer can change their subscription status for this repository.
RepositoryViewerCanUpdateTopics Bool Indicates whether the viewer can update the topics associated with this repository.
RepositoryCodeOfConductId String The unique identifier for the repository's Code of Conduct.
RepositoryCodeOfConductName String The formal name of the Code of Conduct associated with this repository.
RepositoryCodeOfConductBody String The full text of the repository's Code of Conduct.
RepositoryCodeOfConductKey String The unique key representing the repository's Code of Conduct.
RepositoryCodeOfConductUrl String The full HTTP URL for accessing the repository's Code of Conduct.
RepositoryCodeOfConductResourcePath String The relative HTTP path for accessing the repository's Code of Conduct.
RepositoryDefaultBranchRefId String The unique identifier for the default branch reference of the repository.
RepositoryDefaultBranchRefName String The name of the default branch of the repository (for example, 'main', 'master').
RepositoryInteractionAbilityLimit String The current interaction restrictions enabled on this repository, such as limiting interactions to collaborators only.
RepositoryInteractionAbilityOrigin String The origin or reason for the currently active interaction restrictions on this repository.
RepositoryInteractionAbilityExpiresAt Datetime The expiration date and time for the currently active interaction restrictions on this repository.
RepositoryLatestReleaseId String The unique identifier for the latest release in this repository.
RepositoryLatestReleaseName String The title of the latest release in this repository.
RepositoryLicenseId String The unique identifier for the license associated with this repository.
RepositoryLicenseKey String The key representing the license associated with this repository (for example, 'MIT', 'GPL-3.0').
RepositoryLanguageId String The unique identifier for the repository's primary programming language.
RepositoryLanguageName String The name of the repository's primary programming language.
RepositoryLanguageColor String The color associated with the repository's primary programming language, often used for visualizations.
RepositoryPushedAt Datetime The date and time when the repository was last pushed to.
RepositoryArchivedAt Datetime The date and time when the repository was archived.
RepositoryCreatedAt Datetime The date and time when the repository was created.
RepositoryUpdatedAt Datetime The date and time when the repository's details were last updated.
RepositoryPlanFeaturesCodeOwners Bool Indicates whether reviews can be automatically requested and enforced using a CODEOWNERS file in this repository.
RepositoryPlanFeaturesDraftPullRequests Bool Indicates whether pull requests can be created as drafts or converted to draft status.
RepositoryPlanFeaturesMaximumAssignees Int The maximum number of users that can be assigned to a single issue or pull request.
RepositoryPlanFeaturesMaximumManualReviewRequests Int The maximum number of manually requested reviews allowed on a pull request.
RepositoryPlanFeaturesTeamReviewRequests Bool Indicates whether teams can be requested to review pull requests.
CustomTextId String A unique identifier for the custom text field.
CustomTextDatabaseId Int The primary key of the custom text field in the database, used for internal reference.
CustomTextCreatorLogin String The username of the actor who created the custom text field.
CustomTextCreatedAt Datetime The date and time when the custom text field was created.
CustomTextUpdatedAt Datetime The date and time when the custom text field was last updated.
CustomTextText String The text value of the custom field.
CustomNumberId String A unique identifier for the custom number field.
CustomNumberDatabaseId Int The primary key of the custom number field in the database, used for internal reference.
CustomNumberCreatorLogin String The username of the actor who created the custom number field.
CustomNumberCreatedAt Datetime The date and time when the custom number field was created.
CustomNumberUpdatedAt Datetime The date and time when the custom number field was last updated.
CustomNumberNumber Double A numeric value represented as a floating-point number in the custom field.
CustomDateId String A unique identifier for the custom date field.
CustomDateDatabaseId Int The primary key of the custom date field in the database, used for internal reference.
CustomDateCreatorLogin String The username of the actor who created the custom date field.
CustomDateCreatedAt Datetime The date and time when the custom date field was created.
CustomDateUpdatedAt Datetime The date and time when the custom date field was last updated.
CustomDateDate Date The date value stored in the custom date field.
CustomSingleSelectId String A unique identifier for the custom single-select field.
CustomSingleSelectDatabaseId Int The primary key of the custom single-select field in the database, used for internal reference.
CustomSingleSelectCreatorLogin String The username of the actor who created the custom single-select field.
CustomSingleSelectCreatedAt Datetime The date and time when the custom single-select field was created.
CustomSingleSelectUpdatedAt Datetime The date and time when the custom single-select field was last updated.
CustomSingleSelectName String The name of the selected option in the custom single-select field.
CustomSingleSelectNameHTML String The HTML-rendered name of the selected option in the custom single-select field.
CustomSingleSelectDescription String A plain-text description explaining the meaning of the selected option in the custom single-select field.
CustomSingleSelectDescriptionHTML String The HTML-rendered description of the selected option in the custom single-select field.
CustomSingleSelectColor String The color associated with the selected option in the custom single-select field.
CustomSingleSelectOptionId String The unique identifier for the selected option in the custom single-select field.
CustomIterationId String A unique identifier for the custom iteration field.
CustomIterationDatabaseId Int The primary key of the custom iteration field in the database, used for internal reference.
CustomIterationCreatorLogin String The username of the actor who created the custom iteration field.
CustomIterationCreatedAt Datetime The date and time when the custom iteration field was created.
CustomIterationUpdatedAt Datetime The date and time when the custom iteration field was last updated.
CustomIterationTitle String The title of the custom iteration.
CustomIterationTitleHTML String The title of the custom iteration, rendered in HTML.
CustomIterationStartDate Date The start date for the custom iteration.
CustomIterationDuration Int The duration of the custom iteration, measured in days.
CustomIterationIterationId String The unique identifier for the iteration associated with the custom iteration field.

CData Python Connector for GitHub

ItemsView

Offers a complete and unfiltered view of all project items, facilitating comprehensive project analysis.

View-Specific Information

Select

The connector processes all filters client-side within the connector. The following query is the only one processed server-side:

SELECT * FROM [ItemsView]

Columns

Name Type References OrderBySupport Description
ItemId [KEY] String A unique identifier for the item.
FullDatabaseId Long The primary key of the item in the database, represented as a BigInt for scalability.
UpdatedAt Datetime The date and time when the item or its details were last updated.
CreatedAt Datetime The date and time when the item was created.
IsArchived Bool Indicates whether the item is archived and no longer actively managed.
Type String The type of the item, such as 'Issue', 'Pull Request', or another classification.
PullRequestState String The current state of the pull request, such as 'OPEN', 'CLOSED', or 'MERGED'.
IssueState String The current state of the issue, such as 'OPEN', 'CLOSED', or 'IN_PROGRESS'.
Reason String The reason for the current state of the issue, such as 'COMPLETED' or 'NOT_PLANNED'.
Title String The text value representing the title of the item.
Assignees String A comma-separated list of usernames assigned to the item.
Status String The name of the selected option in a single-select status field.
Labels String A comma-separated list of labels applied to the item.
Linked pull requests String A comma-separated list of pull request numbers linked to this item.
Milestone String The title of the milestone associated with this item.
Repository String The full name of the repository containing this item, including the owner's login (for example, 'owner/repository-name').
Reviewers String A comma-separated list of usernames assigned as reviewers for this item.
CustomText String A text value stored in a custom text field.
CustomNumber Double A numeric value stored in a custom number field, represented as a float.
CustomDate Date A date value stored in a custom date field.
CustomSingleSelect String The name of the selected option in a custom single-select field.
CustomIteration String The title of the iteration associated with this item.

CData Python Connector for GitHub

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with GitHub.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from GitHub, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for GitHub Stored Procedures

Name Description
GetCurrentlyAuthenticatedUser Retrieves information about the currently authenticated user in the context of a GitHub project, including roles and permissions.
GetOAuthAccessToken Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.
GetOAuthAuthorizationURL Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
RefreshOAuthAccessToken Refreshes an expired OAuth Access Token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

CData Python Connector for GitHub

GetCurrentlyAuthenticatedUser

Retrieves information about the currently authenticated user in the context of a GitHub project, including roles and permissions.

Sample


EXECUTE [Project].[GetCurrentlyAuthenticatedUser]

Result Set Columns

Name Type Description
Id String A unique identifier for the user, used internally by GitHub.
Login String The username associated with the user's GitHub account, used for login and identification.
Bio String The user's public profile biography, providing a brief personal description.
BioHTML String The user's public profile biography formatted as HTML for display purposes.
AvatarUrl String A URL pointing to the user's public avatar image, often used in profiles and comments.
Name String The full name associated with the user's public GitHub profile.
Company String The user's public profile company or organization, as provided by the user.
CompanyHTML String The user's public profile company formatted as HTML, suitable for rendering in web pages.
CreatedAt Datetime The date and time when the user's GitHub account was created.
Email String The user's public email address, visible if they have made it publicly available.
IsBountyHunter Bool Indicates whether the user is a participant in the GitHub Security Bug Bounty program.
IsCampusExpert Bool Indicates whether the user is a participant in the GitHub Campus Experts Program.
IsDeveloperProgramMember Bool Indicates whether the user is a member of the GitHub Developer Program.
IsEmployee Bool Indicates whether the user is an employee of GitHub.
IsHireable Bool Indicates whether the user has marked themselves as available for hiring opportunities.
IsSiteAdmin Bool Indicates whether the user has administrative privileges on GitHub.
IsViewer Bool Indicates whether the user is the currently authenticated viewer.
Location String The location information provided in the user's public profile, such as city or country.
PinnedItemsRemaining Integer The number of additional items this user can pin to their GitHub profile.
ProjectsUrl String The HTTP URL where the user's projects are listed.
ResourcePath String The HTTP path for accessing the user's GitHub profile.
TwitterUsername String The user's Twitter username, as provided on their GitHub profile.
UpdatedAt Datetime The date and time when the user's profile or information was last updated.
URL String The HTTP URL of the user's GitHub profile.
ViewerCanChangePinnedItems Bool Indicates whether the current viewer can modify the pinned items on this user's profile.
ViewerCanFollow Bool Indicates whether the current viewer has the ability to follow this user.
ViewerIsFollowing Bool Indicates whether this user is currently followed by the viewer.
WebsiteUrl String A URL pointing to the user's public website or blog, if provided.

CData Python Connector for GitHub

GetOAuthAccessToken

Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to GitHub.

Input

Name Type Required Description
AuthMode String False Specifies the authentication mode to use. Valid options are 'APP' for application-based authentication and 'WEB' for web-based user authentication.
Verifier String False The verifier token provided by GitHub after the user completes authorization using the URL from GetOAuthAuthorizationURL. Required only when using the 'WEB' authentication mode.
Scope String False Defines the permissions or access levels being requested from GitHub, such as 'repo' or 'user'.
CallbackUrl String False The URL where the user is redirected after authorizing the application. This URL should match the one configured in your GitHub app settings.
State String False A unique value sent with the authorization request, returned by GitHub to help your application maintain state, prevent cross-site request forgery (CSRF), and redirect the user to the appropriate resource after authentication.

Result Set Columns

Name Type Description
OAuthAccessToken String The OAuth Access Token issued by GitHub, used to authenticate API requests on behalf of the user or application.
OAuthRefreshToken String An OAuth Refresh Token that can be used to request a new access token without requiring user re-authorization.
ExpiresIn String The time remaining, in seconds, before the access token expires and must be refreshed or replaced.

CData Python Connector for GitHub

GetOAuthAuthorizationURL

Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.

Input

Name Type Required Description
CallbackUrl String False The URL where GitHub redirects the user after they have authorized your application. This should match the callback URL configured in your GitHub app settings.
Scope String False Specifies the permissions or access levels being requested, such as 'repo', 'user', or other GitHub scopes.
State String False A unique value sent with the authorization request to maintain application state and mitigate cross-site request forgery (CSRF). GitHub returns the same value, enabling your application to validate the response and redirect the user appropriately.

Result Set Columns

Name Type Description
URL String The authorization URL generated by GitHub. Users must visit this URL in their web browser to grant access to your application and receive a verifier token.

CData Python Connector for GitHub

RefreshOAuthAccessToken

Refreshes an expired OAuth Access Token to maintain continuous authenticated access to GitHub resources without requiring reauthorization from the user.

Input

Name Type Required Description
OAuthRefreshToken String True The OAuth Refresh Token received with the initial access token, used to request a new access token.

Result Set Columns

Name Type Description
OAuthAccessToken String The new OAuth Access Token to be included in requests for accessing protected resources.
OAuthRefreshToken String The new OAuth Refresh Token to be used for requesting another access token when the current one expires.
ExpiresIn String The time in seconds until the new access token expires. The default is 1440 seconds (24 minutes).

CData Python Connector for GitHub

System Tables

You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.

Schema Tables

The following tables return database metadata for GitHub:

Data Source Tables

The following tables return information about how to connect to and query the data source:

  • sys_connection_props: Returns information on the available connection properties.
  • sys_sqlinfo: Describes the SELECT queries that the connector can offload to the data source.

Query Information Tables

The following table returns query statistics for data modification queries

  • sys_identity: Returns information about batch operations or single updates.

CData Python Connector for GitHub

sys_catalogs

Lists the available databases.

The following query retrieves all databases determined by the connection string:

SELECT * FROM sys_catalogs

Columns

Name Type Description
CatalogName String The database name.

CData Python Connector for GitHub

sys_schemas

Lists the available schemas.

The following query retrieves all available schemas:

          SELECT * FROM sys_schemas
          

Columns

Name Type Description
CatalogName String The database name.
SchemaName String The schema name.

CData Python Connector for GitHub

sys_tables

Lists the available tables.

The following query retrieves the available tables and views:

          SELECT * FROM sys_tables
          

Columns

Name Type Description
CatalogName String The database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view.
TableType String The table type (table or view).
Description String A description of the table or view.
IsUpdateable Boolean Whether the table can be updated.
IsInsertable Boolean Whether the table can be inserted into.
IsDeleteable Boolean Whether rows can be deleted from the table.

CData Python Connector for GitHub

sys_tablecolumns

Describes the columns of the available tables and views.

The following query returns the columns and data types for the Repositories table:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName = 'Repositories' 

Columns

Name Type Description
CatalogName String The name of the database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view containing the column.
ColumnName String The column name.
DataTypeName String The data type name.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The storage size of the column.
DisplaySize Int32 The designated column's normal maximum width in characters.
NumericPrecision Int32 The maximum number of digits in numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The column scale or number of digits to the right of the decimal point.
IsNullable Boolean Whether the column can contain null.
Description String A brief description of the column.
Ordinal Int32 The sequence number of the column.
IsAutoIncrement String Whether the column value is assigned in fixed increments.
IsGeneratedColumn String Whether the column is generated.
IsHidden Boolean Whether the column is hidden.
IsArray Boolean Whether the column is an array.
IsReadOnly Boolean Whether the column is read-only.
IsKey Boolean Indicates whether a field returned from sys_tablecolumns is the primary key of the table.
ColumnType String The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN.
ColumnCapabilities Int32 A bit mask denoting the column's write capabilities. The value is the sum of the following: 1 if the column is required for INSERTs, 2 if the column is allowed for INSERTs, and 4 if the column is allowed for UPDATEs. A value of 0 indicates that the write capabilities of the column are unknown or that the column is read-only.

CData Python Connector for GitHub

sys_procedures

Lists the available stored procedures.

The following query retrieves the available stored procedures:

          SELECT * FROM sys_procedures
          

Columns

Name Type Description
CatalogName String The database containing the stored procedure.
SchemaName String The schema containing the stored procedure.
ProcedureName String The name of the stored procedure.
Description String A description of the stored procedure.
ProcedureType String The type of the procedure, such as PROCEDURE or FUNCTION.

CData Python Connector for GitHub

sys_procedureparameters

Describes stored procedure parameters.

The following query returns information about all of the input parameters for the RefreshOAuthAccessToken stored procedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'RefreshOAuthAccessToken' AND Direction = 1 OR Direction = 2

To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'RefreshOAuthAccessToken' AND IncludeResultColumns='True'

Columns

Name Type Description
CatalogName String The name of the database containing the stored procedure.
SchemaName String The name of the schema containing the stored procedure.
ProcedureName String The name of the stored procedure containing the parameter.
ColumnName String The name of the stored procedure parameter.
Direction Int32 An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
DataTypeName String The name of the data type.
NumericPrecision Int32 The maximum precision for numeric data. The column length in characters for character and date-time data.
Length Int32 The number of characters allowed for character data. The number of digits allowed for numeric data.
NumericScale Int32 The number of digits to the right of the decimal point in numeric data.
IsNullable Boolean Whether the parameter can contain null.
IsRequired Boolean Whether the parameter is required for execution of the procedure.
IsArray Boolean Whether the parameter is an array.
Description String The description of the parameter.
Ordinal Int32 The index of the parameter.
Values String The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated.
SupportsStreams Boolean Whether the parameter represents a file that you can pass as either a file path or a stream.
IsPath Boolean Whether the parameter is a target path for a schema creation operation.
Default String The value used for this parameter when no value is specified.
SpecificName String A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here.
IsCDataProvided Boolean Whether the procedure is added/implemented by CData, as opposed to being a native GitHub procedure.

Pseudo-Columns

Name Type Description
IncludeResultColumns Boolean Whether the output should include columns from the result set in addition to parameters. Defaults to False.

CData Python Connector for GitHub

sys_keycolumns

Describes the primary and foreign keys.

The following query retrieves the primary key for the Repositories table:

         SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Repositories' 
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
IsKey Boolean Whether the column is a primary key in the table referenced in the TableName field.
IsForeignKey Boolean Whether the column is a foreign key referenced in the TableName field.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.

CData Python Connector for GitHub

sys_foreignkeys

Describes the foreign keys.

The following query retrieves all foreign keys which refer to other tables:

         SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.
ForeignKeyType String Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key.

CData Python Connector for GitHub

sys_primarykeys

Describes the primary keys.

The following query retrieves the primary keys from all tables and views:

         SELECT * FROM sys_primarykeys
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
KeySeq String The sequence number of the primary key.
KeyName String The name of the primary key.

CData Python Connector for GitHub

sys_indexes

Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.

The following query retrieves all indexes that are not primary keys:

          SELECT * FROM sys_indexes WHERE IsPrimary='false'
          

Columns

Name Type Description
CatalogName String The name of the database containing the index.
SchemaName String The name of the schema containing the index.
TableName String The name of the table containing the index.
IndexName String The index name.
ColumnName String The name of the column associated with the index.
IsUnique Boolean True if the index is unique. False otherwise.
IsPrimary Boolean True if the index is a primary key. False otherwise.
Type Int16 An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3).
SortOrder String The sort order: A for ascending or D for descending.
OrdinalPosition Int16 The sequence number of the column in the index.

CData Python Connector for GitHub

sys_connection_props

Returns information on the available connection properties and those set in the connection string.

The following query retrieves all connection properties that have been set in the connection string or set through a default value:

SELECT * FROM sys_connection_props WHERE Value <> ''

Columns

Name Type Description
Name String The name of the connection property.
ShortDescription String A brief description.
Type String The data type of the connection property.
Default String The default value if one is not explicitly set.
Values String A comma-separated list of possible values. A validation error is thrown if another value is specified.
Value String The value you set or a preconfigured default.
Required Boolean Whether the property is required to connect.
Category String The category of the connection property.
IsSessionProperty String Whether the property is a session property, used to save information about the current connection.
Sensitivity String The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms.
PropertyName String A camel-cased truncated form of the connection property name.
Ordinal Int32 The index of the parameter.
CatOrdinal Int32 The index of the parameter category.
Hierarchy String Shows dependent properties associated that need to be set alongside this one.
Visible Boolean Informs whether the property is visible in the connection UI.
ETC String Various miscellaneous information about the property.

CData Python Connector for GitHub

sys_sqlinfo

Describes the SELECT query processing that the connector can offload to the data source.

See SQL Compliance for SQL syntax details.

Discovering the Data Source's SELECT Capabilities

Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.

NameDescriptionPossible Values
AGGREGATE_FUNCTIONSSupported aggregation functions.AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNTWhether COUNT function is supported.YES, NO
IDENTIFIER_QUOTE_OPEN_CHARThe opening character used to escape an identifier.[
IDENTIFIER_QUOTE_CLOSE_CHARThe closing character used to escape an identifier.]
SUPPORTED_OPERATORSA list of supported SQL operators.=, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BYWhether GROUP BY is supported, and, if so, the degree of support.NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
OJ_CAPABILITIESThe supported varieties of outer joins supported.NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS
OUTER_JOINSWhether outer joins are supported.YES, NO
SUBQUERIESWhether subqueries are supported, and, if so, the degree of support.NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED
STRING_FUNCTIONSSupported string functions.LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONSSupported numeric functions.ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONSSupported date/time functions.NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLESIndicates tables skipped during replication.
REPLICATION_TIMECHECK_COLUMNSA string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication.
IDENTIFIER_PATTERNString value indicating what string is valid for an identifier.
SUPPORT_TRANSACTIONIndicates if the provider supports transactions such as commit and rollback.YES, NO
DIALECTIndicates the SQL dialect to use.
KEY_PROPERTIESIndicates the properties which identify the uniform database.
SUPPORTS_MULTIPLE_SCHEMASIndicates if multiple schemas may exist for the provider.YES, NO
SUPPORTS_MULTIPLE_CATALOGSIndicates if multiple catalogs may exist for the provider.YES, NO
DATASYNCVERSIONThe CData Data Sync version needed to access this driver.Standard, Starter, Professional, Enterprise
DATASYNCCATEGORYThe CData Data Sync category of this driver.Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQLWhether enhanced SQL functionality beyond what is offered by the API is supported.TRUE, FALSE
SUPPORTS_BATCH_OPERATIONSWhether batch operations are supported.YES, NO
SQL_CAPAll supported SQL capabilities for this driver.SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONSA string value specifies the preferred cacheOptions.
ENABLE_EF_ADVANCED_QUERYIndicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side.YES, NO
PSEUDO_COLUMNSA string array indicating the available pseudo columns.
MERGE_ALWAYSIf the value is true, The Merge Mode is forcibly executed in Data Sync.TRUE, FALSE
REPLICATION_MIN_DATE_QUERYA select query to return the replicate start datetime.
REPLICATION_MIN_FUNCTIONAllows a provider to specify the formula name to use for executing a server side min.
REPLICATION_START_DATEAllows a provider to specify a replicate startdate.
REPLICATION_MAX_DATE_QUERYA select query to return the replicate end datetime.
REPLICATION_MAX_FUNCTIONAllows a provider to specify the formula name to use for executing a server side max.
IGNORE_INTERVALS_ON_INITIAL_REPLICATEA list of tables which will skip dividing the replicate into chunks on the initial replicate.
CHECKCACHE_USE_PARENTIDIndicates whether the CheckCache statement should be done against the parent key column.TRUE, FALSE
CREATE_SCHEMA_PROCEDURESIndicates stored procedures that can be used for generating schema files.

The following query retrieves the operators that can be used in the WHERE clause:

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.

Columns

Name Type Description
NAME String A component of SQL syntax, or a capability that can be processed on the server.
VALUE String Detail on the supported SQL or SQL syntax.

CData Python Connector for GitHub

sys_identity

Returns information about attempted modifications.

The following query retrieves the Ids of the modified rows in a batch operation:

         SELECT * FROM sys_identity
          

Columns

Name Type Description
Id String The database-generated Id returned from a data modification operation.
Batch String An identifier for the batch. 1 for a single operation.
Operation String The result of the operation in the batch: INSERTED, UPDATED, or DELETED.
Message String SUCCESS or an error message if the update in the batch failed.

CData Python Connector for GitHub

sys_information

Describes the available system information.

The following query retrieves all columns:

SELECT * FROM sys_information

Columns

NameTypeDescription
ProductStringThe name of the product.
VersionStringThe version number of the product.
DatasourceStringThe name of the datasource the product connects to.
NodeIdStringThe unique identifier of the machine where the product is installed.
HelpURLStringThe URL to the product's help documentation.
LicenseStringThe license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.)
LocationStringThe file path location where the product's library is stored.
EnvironmentStringThe version of the environment or rumtine the product is currently running under.
DataSyncVersionStringThe tier of CData Sync required to use this connector.
DataSyncCategoryStringThe category of CData Sync functionality (e.g., Source, Destination).

CData Python Connector for GitHub

Connection String Options

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.

For more information on establishing a connection, see Establishing a Connection.

Authentication


PropertyDescription
AuthSchemeSpecifies the type of authentication to use when connecting to GitHub.
TokenThe Personal Access Token for authenticating to GitHub.

Connection


PropertyDescription
OwnerLoginA username used for an individual user account or a login name designated for an organization account.
URLThe base URL for the GitHub environment you are connecting to.

OAuth


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to GitHub via OAuth (Custom OAuth applications only).
ScopeSpecifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshTokenSpecifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

SSL


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.

Firewall


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.

Proxy


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Logging


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Schema


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Caching


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live GitHub data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.

Miscellaneous


PropertyDescription
MaxPointsPerCallSpecifies a target limit on the complexity cost of API calls made by the driver.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
MaxThreadsSpecifies the number of concurrent requests.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to GitHub from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for GitHub

Authentication

This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.


PropertyDescription
AuthSchemeSpecifies the type of authentication to use when connecting to GitHub.
TokenThe Personal Access Token for authenticating to GitHub.
CData Python Connector for GitHub

AuthScheme

Specifies the type of authentication to use when connecting to GitHub.

Possible Values

PersonalAccessToken, OAuth

Data Type

string

Default Value

"OAuth"

Remarks

  • PersonalAccessToken: Set this to authenticate using a personal access token.
  • OAuth: Set this to authenticate using OAuth 2.0 with the authorization code grant type.

CData Python Connector for GitHub

Token

The Personal Access Token for authenticating to GitHub.

Data Type

string

Default Value

""

Remarks

The Personal Access Token for authenticating to GitHub. This token can be generated from Personal Access Tokens.

CData Python Connector for GitHub

Connection

This section provides a complete list of the Connection properties you can configure in the connection string for this provider.


PropertyDescription
OwnerLoginA username used for an individual user account or a login name designated for an organization account.
URLThe base URL for the GitHub environment you are connecting to.
CData Python Connector for GitHub

OwnerLogin

A username used for an individual user account or a login name designated for an organization account.

Data Type

string

Default Value

""

Remarks

You can set this connection property to have the connector list repositories and projects owned by a specific user or organization in GitHub.

All table default OwnerLogin filters or similar, where possible, will be set to the value of this property unless explicitly specified in the SQL query.

CData Python Connector for GitHub

URL

The base URL for the GitHub environment you are connecting to.

Data Type

string

Default Value

""

Remarks

The base URL for the GitHub environment you are connecting to. This must be set if connecting to a GitHub Enterprise Server instance or a GitHub Enterprise Cloud environment that uses a non-standard API domain. For connections to the standard GitHub service (including GitHub Enterprise Cloud accounts using the default API endpoint), this property must be left empty.

CData Python Connector for GitHub

OAuth

This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to GitHub via OAuth (Custom OAuth applications only).
ScopeSpecifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshTokenSpecifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.
CData Python Connector for GitHub

InitiateOAuth

Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.

Possible Values

OFF, REFRESH, GETANDREFRESH

Data Type

string

Default Value

"OFF"

Remarks

OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. The OAuth flow defines the method to be used for:

  • Logging in users.
  • Exchanging user credentials for an OAuth access token to be used for authentication.
  • Providing limited access to applications.

The options for initiating and maintaining OAuth access are named for the parts of that flow that the connector handles:

OFF The connector provides no automatic OAuth flow initiation. The OAuth flow is handled entirely by the user.
This means that the user must refresh the token manually, and reconnect with an updated OAuthAccessToken property when the current token expires.
GETANDREFRESH The connector handles the entire OAuth flow (both GET and REFRESH). This means that if a token already exists, the connector refreshes it when necessary; if no token currently exists, the connector obtains it by prompting the user to login.
REFRESH The user obtains the OAuth Access Token and sets up the sequence for refreshing the OAuth Access Token. (The user is never prompted to log in to authenticate.) After the user logs in, the connector handles the refresh of the OAuth Access Token.

For more information on how to set up OAuth and use this property when configuring a connection, see Establishing a Connection.

CData Python Connector for GitHub

OAuthClientId

Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.

Data Type

string

Default Value

""

Remarks

This property is required in two cases:

  • When using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration.
  • If the driver does not provide embedded OAuth credentials.

(When the driver provides embedded OAuth credentials, this value may already be provided by the connector and thus not require manual entry.)

OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.

OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.

While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for GitHub

OAuthClientSecret

Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).

Data Type

string

Default Value

""

Remarks

This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.

The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.

OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.

Notes:

  • This value should be stored securely and never exposed in public repositories, scripts, or unsecured environments.
  • Client secrets may also expire after a set period. Be sure to monitor expiration dates and rotate secrets as needed to maintain uninterrupted access.

For more information on how this property is used when configuring a connection, see Establishing a Connection

CData Python Connector for GitHub

OAuthAccessToken

Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.

Data Type

string

Default Value

""

Remarks

OAuthAccessToken is a temporary credential that authorizes access to protected resources. It is typically returned by the identity provider after the user or client application completes an OAuth authentication flow. This property is most commonly used in automated workflows or custom OAuth implementations where you want to manage token handling outside of the driver.

The OAuth access token has a server-dependent timeout, limiting user access. The timeout is set using the OAuthExpiresIn property. However, it can be reissued between requests to keep access alive as long as the user keeps working.

If InitiateOAuth is set to REFRESH, we recommend that you also set both OAuthExpiresIn and OAuthTokenTimestamp. The connector uses these properties to determine when the token expires so it can refresh most efficiently. If OAuthExpiresIn and OAuthTokenTimestamp are not specified, the connector refreshes the token immediately.

Note: Access tokens should be treated as sensitive credentials and stored securely. Avoid exposing them in logs, scripts, or configuration files that are not access-controlled.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for GitHub

OAuthSettingsLocation

Specifies the location of the settings file where OAuth values are saved.

Data Type

string

Default Value

"%APPDATA%\\CData\\GitHub Data Provider\\OAuthSettings.txt"

Remarks

Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.

You can store OAuth values in a central file for shared access to those values, in either of the following ways:

  • Set InitiateOAuth to either GETANDREFRESH or REFRESH and specify a filepath to the OAuth settings file.
  • Use memory storage to load the credentials into static memory.

The following sections provide more detail on each of these methods.

Specifying the OAuthSettingsLocation Filepath

The default OAuth setting location is %APPDATA%\\CData\\GitHub Data Provider\\OAuthSettings.txt, with %APPDATA% set to the user's configuration directory. Default values vary, depending on the user's operating system.

  • Windows (ODBC and Power BI): registry://%DSN%
  • Windows: %APPDATA%CDataGitHub Data Provider\OAuthSettings.txt
  • Mac: %APPDATA%/CData/GitHub Data Provider/OAuthSettings.txt
  • Linux: %APPDATA%/CData/GitHub Data Provider/OAuthSettings.txt

Loading Credentials Via Memory Storage

Memory locations are specified by using a value starting with memory://, followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose, but it should be unique to the user.

Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again.

To retrieve OAuth property values, query the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.

Supported Storage Types

  • memory://: Stores OAuth tokens in-memory (unique identifier, shared within same process, etc.)
  • registry://: Only supported in the Windows ODBC and Power BI editions. Stores OAuth tokens in the registry under the DSN settings. Must end in a DSN name like registry://CData Python Connector for GitHub Data Source, or registry://%DSN%.
  • %DSN%: The name of the DSN you are connecting with.
  • Default (no prefix): Stores OAuth tokens within files. The value can be either an absolute path, or a path starting with %APPDATA% or %PROGRAMFILES%.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for GitHub

CallbackURL

Identifies the URL users return to after authenticating to GitHub via OAuth (Custom OAuth applications only).

Data Type

string

Default Value

""

Remarks

If you created a custom OAuth application, the OAuth authorization server redirects the user to this URL during the authentication process. This value must match the callback URL you specified when you configured the custom OAuth application.

CData Python Connector for GitHub

Scope

Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.

Data Type

string

Default Value

""

Remarks

Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.

When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested.

When InitiateOAuth is set to either REFRESH or OFF, you can change which scopes are requested using either this property or the Scope input.

CData Python Connector for GitHub

OAuthVerifier

Specifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.

Data Type

string

Default Value

""

Remarks

For detailed instructions about how to obtain the OAuthVerifier value, see Establishing a Connection.

CData Python Connector for GitHub

OAuthRefreshToken

Specifies the OAuth refresh token used to request a new access token after the original has expired.

Data Type

string

Default Value

""

Remarks

The refresh token is used to obtain a new access token when the current one expires. It enables seamless authentication for long-running or automated workflows without requiring the user to log in again. This property is especially important in headless, CI/CD, or server-based environments where interactive authentication is not possible.

The refresh token is typically obtained during the initial OAuth exchange by calling the GetOAuthAccessToken stored procedure. After that, it can be set using this property to enable automatic token refresh, or passed to the RefreshOAuthAccessTokenproc; stored procedure if you prefer to manage the refresh manually.

When InitiateOAuth is set to REFRESH, the driver uses this token to retrieve a new access token automatically. After the first refresh, the driver saves updated tokens in the location defined by OAuthSettingsLocation, and uses those values for subsequent connections.

Note: The OAuthRefreshToken should be handled securely and stored in a trusted location. Like access tokens, refresh tokens can expire or be revoked depending on the identity provider’s policies.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for GitHub

OAuthExpiresIn

Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.

Data Type

string

Default Value

""

Remarks

The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthExpiresIn is the number of seconds the token is valid from when it was created. For example, a token generated at 2024-01-29 20:00:00 UTC that expires at 2024-01-29 21:00:00 UTC (an hour later) would have an OAuthExpiresIn value of 3600, no matter what the current time is.

To determine how long the user has before the Access Token will expire, check OAuthTokenTimestamp.

CData Python Connector for GitHub

OAuthTokenTimestamp

Displays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

Data Type

string

Default Value

""

Remarks

The OAuth access token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthTokenTimestamp is the Unix timestamp when the server created the token. For example, OAuthTokenTimestamp=1706558400 indicates the OAuthAccessToken was generated by the server at 2024-01-29 20:00:00 UTC.

CData Python Connector for GitHub

SSL

This section provides a complete list of the SSL properties you can configure in the connection string for this provider.


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.
CData Python Connector for GitHub

SSLServerCert

Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

Data Type

string

Default Value

""

Remarks

If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. You can supply any certificate that is part of the certificate chain that issued your server's certificate, including the Root CA (Certificate Authority) or any intermediate CAs. Using the Root CA can cause all certificates that are part of the same chain to be validated. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE-----
MIIChTCCAe4CAQAwDQYJKoZIhv......Qw==
-----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY-----
MIGfMA0GCSq......AQAB
-----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space- or colon-separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space- or colon-separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.

CData Python Connector for GitHub

Firewall

This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.
CData Python Connector for GitHub

FirewallType

Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.

Possible Values

NONE, TUNNEL, SOCKS4, SOCKS5

Data Type

string

Default Value

"NONE"

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

Note: By default, the connector connects to the system proxy. To disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

The following table provides port number information for each of the supported protocols.

Protocol Default Port Description
TUNNEL 80 The port where the connector opens a connection to GitHub. Traffic flows back and forth via the proxy at this location.
SOCKS4 1080 The port where the connector opens a connection to GitHub. SOCKS 4 then passes theFirewallUser value to the proxy, which determines whether the connection request should be granted.
SOCKS5 1080 The port where the connector sends data to GitHub. If the SOCKS 5 proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.

CData Python Connector for GitHub

FirewallServer

Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for GitHub

FirewallPort

Specifies the TCP port to be used for a proxy-based firewall.

Data Type

int

Default Value

0

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for GitHub

FirewallUser

Identifies the user ID of the account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for GitHub

FirewallPassword

Specifies the password of the user account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for GitHub

Proxy

This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.
CData Python Connector for GitHub

ProxyAutoDetect

Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.

Data Type

bool

Default Value

true

Remarks

When this connection property is set to True, the connector checks your system proxy settings for existing proxy server configurations (no need to manually supply proxy server details).

This connection property takes precedence over other proxy settings. If you want to configure the connector to connect to a specific proxy server, set ProxyAutoDetect to False.

On Windows, the connector reads the proxy settings from the Internet Options in the registry, specifically the registry key HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\. On Windows 10 and later, this corresponds to the Proxy Settings found in the Windows Settings.

Note that these settings apply only to the current user of the machine. If you're running an application as a service, the connector does not read your own user's settings. You must instead manually supply the proxy settings in the connector's connection properties.

On Mac, the connector reads proxy settings from the system-configured CFNetwork settings.

On Linux, this property is unsupported, and is set to False by default.

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.

CData Python Connector for GitHub

ProxyServer

Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.

Data Type

string

Default Value

""

Remarks

The connector only routes HTTP traffic through the proxy server specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server specified in your system proxy settings.

CData Python Connector for GitHub

ProxyPort

Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.

Data Type

int

Default Value

80

Remarks

The connector only routes HTTP traffic through the ProxyServer port specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server port specified in your system proxy settings.

For other proxy types, see FirewallType.

CData Python Connector for GitHub

ProxyAuthScheme

Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.

Possible Values

BASIC, DIGEST, NONE, NEGOTIATE, NTLM

Data Type

string

Default Value

"BASIC"

Remarks

Note: The connector only uses this ProxyAuthScheme when ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the authentication method specified in your system proxy settings.

Supported authentication types :

  • BASIC: The connector performs HTTP basic authentication.
  • DIGEST: The connector performs HTTP digest authentication.
  • NTLM: The connector retrieves an NTLM token.
  • NEGOTIATE: The connector retrieves an NTLM or Kerberos token based on the applicable protocol for authentication.
  • NONE: Signifies that the ProxyServer does not require authentication.

For all values other than NONE, you must also set the ProxyUser and ProxyPassword connection properties.

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.

CData Python Connector for GitHub

ProxyUser

Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyUser
BASIC The username of a user registered with the proxy server.
DIGEST The username of a user registered with the proxy server.
NEGOTIATE The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NTLM The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NONE Do not set the ProxyPassword connection property.

Note: The connector only uses this username if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the username specified in your system proxy settings.

CData Python Connector for GitHub

ProxyPassword

Specifies the password of the user specified in the ProxyUser connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyPassword
BASIC The password associated with the proxy server user specified in ProxyUser.
DIGEST The password associated with the proxy server user specified in ProxyUser.
NEGOTIATE The password associated with the Windows user account specified in ProxyUser.
NTLM The password associated with the Windows user account specified in ProxyUser.
NONE Do not set the ProxyPassword connection property.

For SOCKS 5 authentication or tunneling, see FirewallType.

Note: The connector only uses this password if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the password specified in your system proxy settings.

CData Python Connector for GitHub

ProxySSLType

Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.

Possible Values

AUTO, ALWAYS, NEVER, TUNNEL

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to the HTTP proxy specified by ProxyServer. You can set this connection property to the following values :

AUTODefault setting. If ProxyServer is set to an HTTPS URL, the connector uses the TUNNEL option. If ProxyServer is set to an HTTP URL, the component uses the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is made through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.

CData Python Connector for GitHub

ProxyExceptions

Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to explicitly configure proxy exceptions for this connection, set ProxyAutoDetect to False.

CData Python Connector for GitHub

Logging

This section provides a complete list of the Logging properties you can configure in the connection string for this provider.


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.
CData Python Connector for GitHub

Logfile

Specifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.

Data Type

string

Default Value

""

Remarks

This property specifies the location and name of the log file where the connector records its operations, including authentication events, query execution, and connection details. If the specified file does not exist, the connector creates it. Ensure that the user or the service running the connector has write access to the specified path or file. Without sufficient permissions, the log file is not created.

Sensitive information from the connection string, such as passwords and tokens, is automatically masked in the logs. However, sensitive information present in the data itself may not be masked.

If you specify a relative path for Logfile, and if the Location property is set, that directory is used as the base path for the log file.

Additional properties allow you to customize logging behavior:

CData Python Connector for GitHub

Verbosity

Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.

Data Type

string

Default Value

"1"

Remarks

This property defines the level of detail the connector includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.

The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.

When combined with the LogModules property, Verbosity can refine logging to specific categories of information.

CData Python Connector for GitHub

LogModules

Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.

Data Type

string

Default Value

""

Remarks

The connector writes details about each operation it performs into the logfile specified by the Logfile connection property.

Each of these logged operations are assigned to a themed category called a module, and each module has a corresponding short code used to labels individual connector operations as belonging to that module.

When this connection property is set to a semicolon-separated list of module codes, only operations belonging to the specified modules are written to the logfile. Note that this only affects which operations are logged moving forward and doesn't retroactively alter the existing contents of the logfile. For example: INFO;EXEC;SSL;META;

By default, logged operations from all modules are included.

You can explicitly exclude a module by prefixing it with a "-". For example: -HTTP

To apply filters to submodules, identify them with the syntax <module name>.<submodule name>. For example, the following value causes the connector to only log actions belonging to the HTTP module, and further refines it to exclude actions belonging to the Res submodule of the HTTP module: HTTP;-HTTP.Res

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for GitHub

MaxLogFileSize

Specifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.

Data Type

string

Default Value

"100MB"

Remarks

For values lower than 100 KB, the connector uses 100 KB as the minimum allowable size.

To control the total number of log files retained, use the MaxLogFileCount property in conjunction with this property. Together, these properties allow you to manage the size and retention of log files effectively.

CData Python Connector for GitHub

MaxLogFileCount

Specifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Data Type

int

Default Value

-1

Remarks

Each log file name includes the date and time for easier identification.

This property accepts the following values:

  • A value of 2 or higher sets the maximum number of log files retained.
  • A value of 1 retains only one log file. When it reaches the maximum size, the file is deleted and replaced by a new one, leaving no history beyond the current log.
  • A value of 0 or negative indicates no limit on the number of log files, and logging continues indefinitely.

To manage log file size, use the MaxLogFileSize property. The two properties work together to control the size and retention of log files in the logging folder.

CData Python Connector for GitHub

Schema

This section provides a complete list of the Schema properties you can configure in the connection string for this provider.


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .
CData Python Connector for GitHub

Location

Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.

Data Type

string

Default Value

"%APPDATA%\\CData\\GitHub Data Provider\\Schema"

Remarks

The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is %APPDATA%\\CData\\GitHub Data Provider\\Schema, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

CData Python Connector for GitHub

BrowsableSchemas

Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .

Data Type

string

Default Value

""

Remarks

Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.

CData Python Connector for GitHub

Tables

Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .

Data Type

string

Default Value

""

Remarks

Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.

If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.

CData Python Connector for GitHub

Views

Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Data Type

string

Default Value

""

Remarks

Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.

If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.

CData Python Connector for GitHub

Caching

This section provides a complete list of the Caching properties you can configure in the connection string for this provider.


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live GitHub data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.
CData Python Connector for GitHub

AutoCache

Specifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, the connector automatically caches the contents of tables targeted by SELECT queries. The content of these tables is cached to the cache database specified by the CacheConnection and CacheProvider connection properties.

See Also

For additional information, see:

  • CacheMetadata: With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from GitHub.
  • Explicitly Caching Data: This topic provides examples for using AutoCache in Offline mode.
  • CACHE Statements: You can use the CACHE statement to explicitly cache the content of any table targeted by a SELECT query.

CData Python Connector for GitHub

CacheProvider

The namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to ADO.NET providers saved in your ADO.NET global assembly cache (GAC).

CData ADO.NET providers automatically register themselves with the GAC during installation, so you don't need to do so manually.

Third-party ADO.NET providers may or may not automatically register themselves with the GAC during installation. If you want to cache to a third-party ADO.NET provider, consult the documentation for that provider to determine what steps (if any) you must take to register them with the GAC. Once they have been registered, you can supply their namespace in this connection property.

You must also set the CacheConnection connection property to provide a connection string for the specified ADO.NET provider.

The following sections show connection examples and address other requirements for several popular database providers. Refer to CacheConnection for more information on typical connection properties.

SQLite

You can use the Microsoft ADO.NET Provider for SQLite to cache to SQLite databases.

CacheProvider=Microsoft.Data.Sqlite;CacheConnection='DataSource=C:\\Users\\Public\\cache.db;'InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

MySQL

To cache to MySQL, you can use the CData ADO.NET Provider for MySQL:
Cache Provider=System.Data.CData.MySQL;Cache Connection='Server=localhost;Port=3306;Database=cache;User=root;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

SQL Server

You can use the Microsoft .NET Framework Provider for SQL Server, included in the .NET Framework, to cache to SQL Server:

Cache Provider=System.Data.SqlClient;Cache Connection="Server=MyMACHINE\MyInstance;Database=SQLCACHE;User Id=root;Password=admin";InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

Oracle

To cache to Oracle, you can use the Oracle Data Provider for .NET, as shown in the following example:

Cache Provider=Oracle.DataAccess.Client;Cache Connection='User Id=scott;Password=tiger;Data Source=ORCL';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

The Oracle Data Provider for .NET also requires the Oracle Database Client. When you download the Oracle Database Client, ensure that its bitness matches the bitness of your machine. When you install, select either the Runtime or Administrator installation type. The Instant Client is not sufficient.

PostgreSQL

To cache to PostgreSQL, you can use the CData ADO.NET Provider for PostgreSQL:
Cache Provider=System.Data.CData.PostgreSQL;Cache Connection='Server=localhost;Port=5432;Database=cache;User=postgres;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

CData Python Connector for GitHub

CacheDriver

The driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

Note: You must add the JAR file of the specified JDBC driver to the classpath. For CData JDBC drivers, you can find this JAR file in the "lib" subfolder of that driver's installation directory.

You must also set the CacheConnection connection property to provide a connection string for the specified JDBC driver.

For Linux systems and macOS, you need to create a config.ini file on the installation path of the driver (site-packages/cdata). The config.ini file has the following format (the driver and the path of the JDBC driver):

[salesforce.cpython-38-x86_64-linux-gnu.so]
CLASSPATH = /home/usrname/Downloads/lib/cdata.jdbc.postgresql.jar

Examples

The following examples show how to cache to several major databases. For more information on the JDBC URL syntax and typical connection properties, see CacheConnection.

Derby and Java DB

Java DB is the Oracle distribution of Derby. You must add the Derby JDBC driver's JAR file, derbytools.jar, to your classpath to cache to Java DB.

The Derby JDBC driver's JAR file is bundled in db-derby-10.17.1.0-bin.zip, which you can download from this page. You can find derbytools.jar in the "lib" subfolder of this zip file.

After adding derbytools.jar to the classpath, you can cache to a Java DB database as follows:

jdbc:github:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:sample';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber
To cache to an in-memory database, use a JDBC URL like the following:
jdbc:github:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:github:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

MySQL

The following is a JDBC URL for the CData JDBC Driver for MySQL:

  jdbc:github:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber
  

SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:github:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:github:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .

PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:github:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';InitiateOAuth=GETANDREFRESH;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:portNumber

CData Python Connector for GitHub

CacheConnection

Specifies the connection string for the specified cache database.

Data Type

string

Default Value

""

Remarks

The target cache database is determined by a combination of this connection property and the CacheProvider connection property. Both properties are required to use the specified cache database.

The connection string specified in this connection property is passed directly to the specified in the CacheProvider connection property. Consult the documentation for the specified for more information on its available connection properties.

Examples of common cache database settings can be found below.

SQLite

MySQL

The following are typical connection properties:

  • Server: The IP address or domain name of the server hosting the MySQL database that you want to cache to.
  • Port: The port on the specified server where your MySQL instance is running.
  • Database: The name of the MySQL database that you want to cache to. Must match the name of a MySQL database hosted on the specified server.
  • User: The username of a user registered with the selected MySQL database.
  • Password: The password associated with the specified MySQL user.

SQL Server

The following are typical SQL Server connection properties:

  • Server: The name or network address of the computer running SQL Server. To connect to a named instance instead of the default instance, specify the host name and the instance name, separated by a backslash.
  • Port: The port on the specified server where your SQL Server instance is running.
  • Database: The name of the SQL Server database you want to cache to. Must match the name of a SQL Server database hosted on the specified server.
  • Integrated Security: To use the current Windows account for authentication, set this option to True. To authenticate with User and Password instead, set this option to False.
  • User Id: The username of a user registered with the selected SQL Server database. This property is only needed if you are not using integrated security.
  • Password: The password associated with the specified SQL Server user. This property is only needed if you are not using integrated security.

Oracle

The following are typical connection properties:

  • Data Source: The connect descriptor that identifies the Oracle database. This can be a TNS connect descriptor, an Oracle Net Services name that resolves to a connect descriptor, or, after version 11g, an Easy Connect naming (the host name of the Oracle server with an optional port and service name).

  • User Id: The username of a user registered with the selected Oracle database.
  • Password: The password associated with the specified Oracle user.

PostgreSQL

The following are typical connection properties:

  • Host: The address of the server hosting the PostgreSQL database.
  • Port: The port on the specified host server where your PostgreSQL database is hosted.
  • Database: The name of the PostgreSQL database you want to cache to. Must match the name of a PostgreSQL database hosted on the specified server.
  • User name: The username of a user registered with the selected PostgreSQL database.
  • Password: The password associated with the specified user.

CData Python Connector for GitHub

CacheLocation

Specifies the path to the cache when caching to a file.

Data Type

string

Default Value

"%APPDATA%\\CData\\GitHub Data Provider"

Remarks

The CacheLocation is a simple, file-based cache.

If left unspecified, the default location is %APPDATA%\\CData\\GitHub Data Provider, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

See Also

  • AutoCache: Set to implicitly create and maintain a cache for later offline use.
  • CacheMetadata: Set to persist the GitHub catalog in CacheLocation.

CData Python Connector for GitHub

CacheTolerance

Notes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.

Data Type

int

Default Value

600

Remarks

When you execute a query for tables in the cache, the connector checks the time elapsed since the last update to the cache.

If the last update to the cache is older than the value of this connection property (measured in seconds), the connector refreshes the cache.

Otherwise, the connector returns data directly from the cache.

CData Python Connector for GitHub

Offline

Gets the data from the specified cache database instead of live GitHub data.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, all queries execute against the cache database instead of the live GitHub data.

In this mode, some SQL operations like INSERT, UPDATE, DELETE, and CACHE are disabled.

CData Python Connector for GitHub

CacheMetadata

Determines whether the provider caches table metadata to a file-based cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, as you execute queries, table metadata in the GitHub catalog is cached to the cache database specified by CacheConnection and CacheProvider, or, if those connection properties are not set, to the user's home directory.

The location of your home directory varies by platform:

PlatformHome Directory
Windows %APPDATA%\\CData\\GitHub Data Provider
Mac ~/Library/Application Support/CData/GitHub Data Provider
Unix ~/.config/CData/GitHub Data Provider

A table's metadata is retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

When there are a large number of GitHub tables and columns for the connector to retrieve during metadata discovery, the connector may take a while to list all table metadata.

You may experience slow metadata retrieval when:

  • Your GitHub instance naturally has a large table count.
  • The connector has been configured, via its connection properties, to discover more tables than it would under its default configuration.
  • You make many short-lived connections to the connector.
With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from GitHub.

When Not to Use CacheMetadata

The connector automatically persists metadata in memory for up to an hour when you first discover the metadata for a table or view, so CacheMetadata is generally not necessary.

CacheMetadata is not ideal in scenarios where you are working with volatile metadata. The first time you query a table, the connector caches its metadata to the cache database file. This cache is not dynamically updated to reflect updates to the table schema, so you must delete and rebuild the cache database file to pick up new, changed, or deleted columns.

CData Python Connector for GitHub

Miscellaneous

This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.


PropertyDescription
MaxPointsPerCallSpecifies a target limit on the complexity cost of API calls made by the driver.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
MaxThreadsSpecifies the number of concurrent requests.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to GitHub from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for GitHub

MaxPointsPerCall

Specifies a target limit on the complexity cost of API calls made by the driver.

Data Type

string

Default Value

"50"

Remarks

The connector translates your SQL queries to GitHub API calls. The GitHub API assigns a certain number of complexity points to all API calls. It limits the number of complex points worth of calls you can request under various circumstances. The connector ensures that all API calls executed consume at or below the number of complexity points set in this connection property, where possible.

The total points used per hour determine your rate limit. Generally, users have a limit of 5,000 points per hour on the GitHub platform.

CData Python Connector for GitHub

MaxRows

Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.

Data Type

int

Default Value

-1

Remarks

The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)

Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.

This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.

CData Python Connector for GitHub

MaxThreads

Specifies the number of concurrent requests.

Data Type

string

Default Value

"5"

Remarks

This property allows you to issue multiple requests simultaneously, thereby improving performance.

CData Python Connector for GitHub

Other

Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.

Data Type

string

Default Value

""

Remarks

This property allows advanced users to configure hidden properties for specialized situations, with the advice of our Support team. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. To define multiple properties, use a semicolon-separated list.

Note: It is strongly recommended to set these properties only when advised by the Support team to address specific scenarios or issues.

Caching Configuration

PropertyDescription
CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the connector.

Integration and Formatting

PropertyDescription
DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMT=TrueConverts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time).
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.

CData Python Connector for GitHub

PseudoColumns

Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.

Data Type

string

Default Value

""

Remarks

This property allows you to define which pseudocolumns the connector exposes as table columns.

To specify individual pseudocolumns, use the following format:

Table1=Column1;Table1=Column2;Table2=Column3

To include all pseudocolumns for all tables use:

*=*

CData Python Connector for GitHub

Readonly

Toggles read-only access to GitHub from the provider.

Data Type

bool

Default Value

false

Remarks

When set to True, the connector allows only SELECT queries. Attempting an INSERT, UPDATE, DELETE, or stored procedure query fails with an error message.

CData Python Connector for GitHub

RTK

Specifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.

Data Type

string

Default Value

""

Remarks

This property is typically unnecessary, as most configurations support a standard licensing mechanism.

Warning: The value of this property takes precedence over all existing licensing information. To avoid licensing errors, ensure the provided runtime key is correct.

CData Python Connector for GitHub

Timeout

Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.

Data Type

int

Default Value

60

Remarks

The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.

Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.

Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.

Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.

CData Python Connector for GitHub

UserDefinedViews

Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.

Data Type

string

Default Value

""

Remarks

UserDefinedViews allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the connector and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Repositories WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}

You can use this property to define multiple views in a single file and specify the filepath. For example:

UserDefinedViews=C:\Path\To\UserDefinedViews.json
When you specify a view in UserDefinedViews, the connector only sees that view.

For further information, see User Defined Views.

CData Python Connector for GitHub

Third Party Copyrights

LZMA from 7Zip LZMA SDK

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA2 from XZ SDK

Version 1.9 and older are in the public domain.

Xamarin.Forms

Xamarin SDK

The MIT License (MIT)

Copyright (c) .NET Foundation Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NSIS 3.10

Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

2. GRANT OF RIGHTS

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

3. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

4. COMMERCIAL DISTRIBUTION

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

AdoptOpenJDK / Adoptium Temurin JRE 17.0.18_8

Copyright (c) Eclipse Foundation AISBL. All Rights Reserved.

Apache License, Version 2.0

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

Eclipse Distribution License - v 1.0

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Eclipse Public License - v 2.0

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS "Contribution" means:

  • a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and
  • b) in the case of each subsequent Contributor:
    • i) changes to the Program, and
    • ii) additions to the Program;
    where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution "originates" from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works.
"Contributor" means any person or entity that Distributes the Program. "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions Distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.

"Derivative Works" shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.

"Modified Works" shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.

"Distribute" means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.

"Source Code" means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Secondary License" means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor.

2. GRANT OF RIGHTS

  • a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works.
  • b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
  • c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
  • d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
  • e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3).

3. REQUIREMENTS 3.1 If a Contributor Distributes the Program in any form, then:

  • a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and
  • b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license:
    • i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
    • ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
    • iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and
    • iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3.
3.2 When the Program is Distributed as Source Code:
  • a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and
  • b) a copy of this Agreement must be included with each copy of the Program.
3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices') contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.

4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version.

Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement.

Exhibit A – Form of Secondary Licenses Notice "This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}."

Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

You may add additional accurate notices of copyright ownership.

GNU Classpath

Classpath is distributed under the terms of the GNU General Public License with the following clarification and special exception.

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java languge, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.

OpenJDK Assembly Exception

The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2 only ("GPL2"), with the following clarification and special exception.

Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination.

As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle.

As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9655