Let Oomnitza be your single source of truth!
You'll get visibility of your users as data from GitHub is automatically transformed into consumable information and actionable insights.
Connect Oomnitza and GitHub in minutes
You'll get visibility of your GitHub users by creating configurable workflows to automate tasks such as:
-
- Workflows for getting and updating an organization
- Workflows for setting organization membership
- Workflows for blocking and unblocking users
- Workflows for managing organization invitations
- Workflows for removing users'
- Workflows for getting a SaaS user role
GitHub Set Organisation Membership
GitHub Get Organisation Membership for a User
GitHub Block User from an Organization
GitHub Unblock User from Organization
GitHub Create Organization Invitation
GitHub Cancel Organization Invitation
GitHub Remove Member from Org with username
GitHub Check User Blocked by Organization
GitHub Check Public Organization Membership for User
Before you start
Before you create workflows, you need to have added your GitHub credentials to Oomnitza and set your organization name as a global variable.
We recommend that you also create the extended integration for GitHub users.
Creating user workflows
To create a user workflow, you must complete these steps:
- Click Configuration > Workflows
- Click Add (+) and select People from the list.
- Drag and drop the API block onto the Sandbox.
- ClickEditon the API block and enter GitHub in the search field.
- Select a preset:
- To choose a preset, click the forward arrow (>).
- Select the credentials that you created in Adding your GitHub credentials to Oomnitza.
- Configure the API Block following the preset instructions below, and save your changes.
- Edit the Begin Block and add rules to trigger the workflow. For example, if you set the Actions to Schedule and add a rule so that the EmailEquals<EmployeeEmail> you can trigger a workflow to fetch a user matching a certain name on a specific date. Refer to Using the Begin block.
- Connect the Blocks.
- Save, validate, and activate your workflow.
Using the Get an Organization preset
The Get an Organization preset gets an organization details, by name. You can configure the message response by selecting Advanced Mode > Response.
You can map the entire response by placing {{response}} in the Response field and mapping it to a custom long text Oomnitza field, such as API Response. Once you have the entire response, you can then parse the JSON response values to custom Oomnitza fields as per the example below.
For further information, see GitHub Docs: Get an organization.
Using the Update an Organization preset
The Update an Organization preset updates an organization, by name.
When you select this preset you need to supply the new organization information detailed in the below table. You can refer to an existing Oomnitza field in the workflow by entering the field name in lower case, with spaces replaced with an underscore. For example:{{email}}or{{company_name}}.
| Name | Value | Details |
| Company Name | company |
The company name. |
email |
The publicly visible email address. |
|
| Description | description |
The description of the company. |
| Repository Permission |
|
Default permission level members have for organization repositories. Can be one of: |
To configure the message response, select Advanced Mode > Response as per the example in the Using the Get an Organization preset. For further information, see GitHub Docs: Update an organization.
Using the Set Organization Membership preset
The Set Organization Membership preset adds members to an organization, by username. When you select this preset you need to supply the Role of the new user. This can be either adminor member.
You can configure the message payload by selecting Advanced Mode.
- Select the Information tab. You will notice that the GitHub Username is referenced in the property
{{username}}. You can create a user integration to retrieve this information before you run this workflow. - Select the Response tab. You can map the message response as per the example in the Using the Get an Organization preset.
For further information, see GitHub Docs: Set organization membership for a user.
Using the Get Organization Membership preset
The Get Organization Membership preset gets a user's membership of an organization, by username.
You can configure the message payload by selecting Advanced Mode and following the steps in the Set Organization Membership preset. For further information, see GitHub Docs: Get organization membership for a user.
Using the Block User from an Organization preset
The Block User from an Organization preset blocks a user, by username. You can configure the message payload by selecting Advanced Mode and following the steps in the Set Organization Membership preset. For further information, see GitHub Docs: Block a user from an organization.
Warning
If successful, this workflow returns a204 No Contentresponse code.
Using the Unblock User from Organization preset
The Unblock User from Organization preset unblocks a user, by username. You can configure the message payload by selecting Advanced Mode and following the steps in the Set Organization Membership preset. For further information, see GitHub Docs: Unblock a user from an organization.
Warning
If successful, this workflow returns a204 No Contentresponse code.
Using the Create Organization Invitation preset
The Create Organization Invitation preset invites people to an organization by their email address.
The invitation information is detailed in the below table. You can refer to an existing Oomnitza field in the workflow by entering the field name in lower case, with spaces replaced with an underscore. For example:{{email}}or{{role}}.
| Name | Value | Details |
email |
Email address of the person you are inviting, which can be an existing GitHub user. |
|
| Role |
|
Choose one of the following:
|
To configure the message response, select Advanced Mode > Response as per the example in the Using the Get an Organization preset. For further information, see GitHub Docs: Create an organization invitation.
Using the Cancel Organization Invitation preset
The Cancel Organization Invitation preset cancels an organization invite, by Invitation ID.
To configure the message response, select Advanced Mode > Response as per the example in the Using the Get an Organization preset. For further information, see GitHub Docs: Cancel an organization invitation.
Warning
If successful, this workflow returns a204 No Contentresponse code
Using the Remove Member from Org with username preset
The Remove Member from Org preset removes an organization user from an organization, including removing them from all teams and access to the organization's repository, by username.
You can configure the message payload by selecting Advanced Mode and following the steps in the Set Organization Membership preset. For further information, see GitHub Docs: Remove an organization member.
Warning
If successful, this workflow returns a204 No Contentresponse code
Tip
You can use this preset to permanently remove inactive users that were identified using the GitHub Member Role preset.
Using the Check User Blocked by Organization preset
The Check User Blocked by Organization preset checks or retrieves a blocked user's account, by username. You can configure the message payload by selecting Advanced Mode and following the steps in the Set Organization Membership preset. For further information, see GitHub Docs: List users blocked by an organization.
Using the Check Public Organization Membership for User preset
The Check Public Organization Membership for User preset checks or retrieves members of an organization who choose to have their membership publicized, by username. You can configure the message payload by selecting Advanced Mode and following the steps in the Set Organization Membership preset. For further information, see GitHub Docs: List public organization members.
Reference articles for workflows
Creating SaaS user workflows
You can create a Saas User workflow in Oomnitza using the GitHub Member Role preset. As GitHub does not currently provide the Last Login date/time, the GitHub Member Role preset can be used to provide you with confirmation of users that are actively using GitHub in your environment. All users that are confirmed as being part of your GitHub integration will appear as a User in the Role column of the SaaS Users UI.
Prerequisites
Before you create a SaaS user workflow, you should have already run your extended user integration and selected User plus SaaS User to populate the software entry in the Software > SaaS menu.
To create a Saas User workflow using the GitHub Member Role preset, complete the following steps:
- Click Configuration > Workflows
- Click Add (+) and select Software SaaS Users from the list.
- Enter the name and a description of the workflow.
- Edit the Begin block by adding the rules that will trigger the workflow. For further information see SaaS User Roles.
- Click the Blocks tab, and drag and drop the SaaS User Role retrieval block onto the canvas.
- Click the Edit icon.
- Enter GitHub in the search field and choose the GitHub Member Role preset.
- Click the right arrow >.
- Enter your Credentials.
- Enter the GitHub Organization ID. You can retrieve an Organization ID using the Get an Organization preset.
- Select the Deactivate User checkbox to deactivate the SaaS user in SaaS > GitHub > Users if they are not found in your GitHub instance.
- Click SAVE.
- Connect the blocks.
- Save, validate, and activate your workflow.
To view active GitHub users in the SaaS Users UI, complete the following steps:
- Click Software from the menu.
- Select the Saas tab, and select your software entry for GitHub.
- Click Users in the side pane.
- The Role column will be populated with the user information to confirm that this user has been found in your GitHub SaaS.
Comments
0 comments
Please sign in to leave a comment.