GitHub

GitHub is currently supported as a data source via the Worklytics Pseudonymization Proxy.

Linking GitHub Accounts to Other Data Sources

GitHub users are identified by usernames, which for cloud editions of GitHub are not related to the organization-issued email for an employee. Additionally, some customers connect both on-prem and cloud versions of GitHub to Worklytics, creating the possibility that a given user should be associated with an identity in both systems.

GITHUB_USERNAME / GITHUB_USERNAME_ALT in HRIS data

Our recommended approach, if you have GitHub Username readily available in your HRIS data, is to provide it to Worklytics in your HRIS snapshot data.

Alternatively, if the GitHub Usernames are deterministically derived from the email address, you can configure the Pseudonymization Proxy to add the GITHUB_USERNAME column to your HRIS data when it processes it. The common case of this is that the GitHub username is derived from the mailbox portion of the email address, e.g. for user alice@acme.com, the GitHub username would be alice_acme. The following rules would instruct the pseudonymization service to perform the equivalent transform, and then pseudonymize the result and add it to your HRIS data:

custom_bulk_connector_rules = {
  hris = {
    "columnsToPseudonymize": [
      "employee_id",
      "employee_email",
      "manager_id"
    ]
    "columnsToPseudonymizeIfPresent": [
      "manager_email"
    ]
    fieldsToTransform: {
      "employee_email": {
        newName: "GITHUB_USERNAME"
        transforms: [
          {
            filter : "(.*)@.*"
          },
          {
            formatString: "%s_acme"
          },
          {
            pseudonymize: true
          }
        ]
      }
    }
  }
}

Other scenarios are also possible; please contact Worklytics support for assistance.

GitHub User.email

The User.email field in the GitHub API exposes the public email address associated with the user. Typically, this is an alias like {username}@no-reply.github.com, which does not facilitate user identification across other systems. However, if a standard email address is provided instead, Worklytics will attempt to link it to other data sources.

NameID in SAML

If your organization uses SAML to authenticate users for membership in your GitHub organization, we will attempt to use the NameID value associated with each user as an email address to link across data sources. (Many organizations provide email address the NameID in SAML payloads to authenticate their users into 3rd party systems)

See:

https://docs.github.com/en/enterprise-cloud@latest/admin/managing-iam/iam-configuration-reference/saml-configuration-reference#saml-attributes

Last updated