Skip to main content

Contractor Code Access

You can use Indent to manage contractor and outside collaborator access to your business' GitHub repositories with GitHub Teams.

The goal#

You want to manage contractor access to GitHub repositories. Your employees and contractors both work from GitHub repositories managed by your organization. You need a way to manage access to each repository based on the contributor's job function. You also need to ensure contractors and outside collaborators only retain access for as long as they are working on your project.

How it works#

Indent lets you integrate with GitHub Teams to manage access to GitHub repositories. You can create GitHub Teams to manage access to each repo, then your employees and contractors can request access from Slack or from your Indent Dashboard. Here are some examples of how you can structure the GitHub Teams within your Organization:

Repo-specific access

Team NameRepos
docs-readRead-only access to docs repo
docs-writeWrite access to docs repo
docsFull access + CODEOWNERS in docs repo
flowchart LR Read:docs-->docs-read Write:docs-->docs-write Codeowners:docs-->docs subgraph New Teams docs-read docs-write docs end

Step 1: Sign up for Indent#

  1. Create a new Space with the Quickstart guide.
  2. Invite your team members to your Space.

Step 2: Configure your integration#

  1. Create Indent Webhooks to integrate with GitHub.
  2. When your Space is integrated with GitHub, your team members can request access to Resources from Slack.

How do I set up GitHub Teams?

Step 3: Link Slack users to GitHub#

  1. Navigate to Resources
  2. Select the user Resource you want to allow access to GitHub Teams.
  3. In the Resource page, add a new Label to the user.
    • Under Label name, enter "github/id"
    • Under Label value, enter the user's GitHub username.
    • Save the Resource.

You can also update users in bulk. Select a list of users and export the list to a CSV where you can edit the user labels.

Step 4: Manage access to GitHub Teams with Indent#

  • Once your users have access to your Space, they can request access to specific Teams from the Indent Dashboard or from Slack.
  • Reviewers grant users access to a Team for a predefined amount of time. If the access period is longer than 15 minutes, team members are automatically notified 5 minutes before access expires.
  • When a contractor finishes with a project their access will expire automatically. Or your reviewers can revoke access in Slack directly.

Congrats! You’ve just configured requesting and managing GitHub Teams access for contractors with Indent.

Share this message with your team to let them know you're using Indent to manage GitHub Teams access:

Hi everyone! We're using @Indent to manage access to cloud resources like GitHub repos and Teams. You can try requesting access by typing: /access in Slack!

Looking for something?#

How do I set up GitHub Teams?#

  1. If you don't have one already, create a new GitHub Organization.
  2. Invite your employees and contractors to the new GitHub Organization.
  3. Create Teams wtihin your new GitHub Organization and assign members to each Team.
  4. Transfer ownership of your working repositories to each Team, then configure read and write permissions for each Team.