GitHub

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

  • https://docs.worklytics.co/psoxy/sources/github

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, eg for user alice@acme.com, the GitHub username would be alice_acme. The following rules would instruct the pseudonymization service to perform the equilvalent 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 value exposed in the User.email field in the GitHub API is the public email address for the user. Typically this is an alias, such as {username}@no-reply.github.com, such that it is not useful for identifying the user in other systems. But if it is not, Worklytics will attempt to link it to your 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