Creating Teams in GitHub with Terraform

Are you tired of manually creating teams in GitHub for your organization? Do you want to automate this process and save time? Look no further! In this blog post, we will explore how to use Terraform, a popular Infrastructure as Code (IaC) tool, to create teams in GitHub automatically.

Step 1: Open Provider File and Add Terraform Code

First, open your provider file and add the following Terraform code for the GitHub provider, which will allow Terraform to interact with GitHub using an access token

provider "github" {
token = var.github_token
}

Step 2: Provide GitHub Token in Variable File

Next, in your variable file, provide the GitHub token for your organization as a default value for the variable “github_token”. Replace the token with your actual GitHub token.

variable "github_token" {
default = "g****************************"
}

Step 3: Define Team Names in Variable File

As per Terraform coding standards, in your variable file, provide the team names as a list. For example, you can define team names such as “developer”, “tester”, and “designer” as follows:

variable "team_names" {
type = list(string)
default = [
"devoloper",
"tester",
"designer",
]
}

Note: These team names are just examples, you can customize them according to your organization’s requirements

Step 4: Write Terraform Code for Creating Teams

Now, let’s write the Terraform code for creating teams in your organization. This code will use the team names defined in the variable file.

resource "github_team" "mahira_team" {
count = length(var.team_names)
name = var.team_names[count.index]

}

The “count” meta-argument is used to create multiple teams, and we are fetching the team names from the variable file using the above code.

Step 5: Add Output for Teams’ IDs

output "teams_id" {
value = [for i in github_team.mahira_team : i.id]
}

The above code will show the IDs of the created teams in the terminal when they are created.

Step 6: Perform Terraform Operations

Now, it’s time to perform the Terraform operations. First, initialize Terraform with the following command:

terraform init

Then, generate a plan with the following command:

terraform plan

Review the plan to ensure that it’s creating the teams as expected. If everything looks good, apply the changes with the following command:

terraform apply -auto-approve

Terraform will now create the teams in your GitHub organization automatically.

Step 7: Verify the Teams in GitHub

Finally, you can verify the created teams in your GitHub organization. Go to the “Teams” tab in your organization’s settings, and you should see the teams with the names and IDs defined in your Terraform code.

Conclusion

Using Terraform to automate the creation of teams in GitHub can save you time and effort, especially if you have multiple teams to create or if you need to create teams frequently. With Terraform’s declarative syntax and ability to manage infrastructure as code, you can easily define, version, and automate your GitHub team creation process. Happy automating!

--

--

Mahira Technology- Innovate. Transform. Thrive.

A leading tech consulting firm specializing in innovative solutions. Experts in cloud, DevOps, automation, data analytics & more. Trusted technology partner.