• Overview
  • Configuration

GitHub

Automate GitHub User Management with ADManager Plus Integration

Identity provisioning

GitHub is a cloud-based platform for version control and collaboration on software development projects. Integrating GitHub with ADManager Plus allows IT teams to automate user provisioning based on changes in Active Directory. This helps business delivery teams onboard new hires and grant them with the necessary permissions to perform their tasks without any delay to ensure maximum operational efficiency from day one.

 

Add users

Automate the creation of GitHub user accounts for new employees, ensuring they have immediate access to the repositories and projects necessary for their roles.

 

Remove users

Efficiently revoke GitHub access for employees who leave the organization or change roles, ensuring that only authorized personnel have access to critical development resources.

 

Marketplace document: ADManager Plus-GitHub integration

Prerequisites:

Provide the Bearer token to retrieve desired information and perform tasks in GitHub. Refer to GitHub' API references for more details.

Privileges:

  • To import users from GitHub (inbound action): Ensure the account used for authorization has permission to read all user accounts.
  • To perform any action or query in GitHub (outbound action): Ensure the account used for authorization has permission to perform the desired action.
Note: ADManager Plus comes with a preconfigured set of APIs that helps perform basic actions with the integration. If the action you require is not available, please gather the necessary API details from GitHub API documentation to configure inbound and outbound webhooks to perform the required actions.

Authorization configuration

  • Log in to ADManager Plus and navigate to the Automation tab.
  • In the left pane, under Configuration, click Application Integrations.
  • Under Enterprise Applications, click GitHub.
  • Toggle the Enable GitHub Integration button on.
  • In the GitHub Configuration page, click Authorization.
  • Perform the Generate a Bearer token in GitHub and paste the Bearer token in the Value field.
  • Click Configure.

Inbound webhook configuration

An inbound webhook enables you to fetch user data from GitHub and send it to ADManager Plus. The attribute mapping configured in this section can be selected as the data source during automation configuration.

To configure an inbound webhook for GitHub:

  • Under Inbound Webhook, click GitHub Endpoint Configuration.
  • In the Endpoint Configuration tab, an endpoint, GitHub USERS ENDPOINT, comes preconfigured with an Endpoint URL, API Method, Headers, and Parameters fields to fetch user accounts from GitHub. If you would like to use this preconfigured endpoint, replace {organization_slug} and {project_slug} that of your GitHub instance in the Endpoint URL field. However, if you would like to use a new endpoint to import users, you can configure one using the + Add API endpoint button and filling in the required fields as per GitHub's API references. Click here to learn how.
  • Note:

    • The API key value pair is pre-configured as a header for authenticating API requests as configured during Authorization Configuration.
    • Macros: You can add macros to your endpoint configuration to dynamically change it as per your requirement using the macro chooser component.
    • Refer to GitHub's API references and configure additional headers and parameters, if required.
  • Once done, click Test & Save. A response window will display all the requested parameters that can be fetched using the API call. Click Proceed.
  • Note:

    • Refer to GitHub's API references to know the Parameters that must be configured to fetch only specific parameters.
    • You can configure multiple endpoints for Datadog using the + Add API endpoint button. Click here to learn how.
  • Click Data Source - LDAP Attribute Mapping to match endpoints and to map AD LDAP attributes with the respective attributes in GitHub.
  • Note: ADManager Plus also lets you customize attribute formats from GitHub.
  • Click + Add New Configuration and perform the following:
    • Enter the Configuration Name and Description and select the Automation Category from the drop-down menu.
    • In the Select Endpoint field, select the desired endpoint and a Primary Key that is unique to a user (e.g. employeeIdentifier).
    • Note: When multiple endpoints are configured, this attribute must hold the same value in all the endpoints.
    • In the Attribute Mapping field, select the attribute from the LDAP Attribute Name drop-down menu and map it with the respective column in GitHub.
    • If you would like to create a new custom format for this, click Format Mapping Attribute.
    • Click Save.

Outbound webhook configuration

An outbound webhook enables you to update the changes made in AD using ADManager Plus to Github, or forward required details from GitHub and synchronize them with AD. To configure an outbound webhook for GitHub:

  • Under Outbound Webhook, click GitHub Webhook Configuration.
  • Click + Add Webhook.
  • Enter a name and description for this webhook.
  • Decide on the action that has to be performed and refer to GitHub's API references for the API details such as URL, headers, parameters, and other requirements that will be needed.
  • Select the HTTP method that will enable you to perform the desired action on the endpoint from the drop-down menu.
  • Enter the endpoint URL.
  • Configure the Headers, Parameters, and Message Type in the appropriate format based on the API call that you would like to perform.
  • Click Test and Save.
  • A pop-up window will then display a list of AD users and groups to test the configured API call. Select the desired user or group over which this API request has to be tested and click OK. This will make a real-time call to the endpoint URL, and the selected objects will be modified as per the configuration.
  • The webhook response and request details will then be displayed. Verify them for the expected API behavior and click Save.
Note: The configured webhooks can be integrated into Orchestration Templates, enabling scheduled or event-driven automation to consecutively perform a sequence of actions on a group of users or on individual users. (Navigate to Management > Advanced Management > Orchestration).