This Terraform module creates documentation for GitHub repositories in Confluence using the Confluence Storage Format (XHTML).
- Creates Confluence documentation for a GitHub repository
- Includes repository details, settings, and contacts
- Automatically updates when repository details change
- Customizable page title prefix
module "github_repo_doc" {
source = "path/to/module"
repository_owner = "your-github-org"
repository_name = "your-repo-name"
confluence_parent_page_id = "1234567" # ID of parent page in Confluence
title_prefix = "GitHub Repository: " # Optional, defaults to "Repository: "
contacts = [
{
name = "Jane Doe"
email = "[email protected]"
role = "Repository Owner"
},
{
name = "John Smith"
email = "[email protected]"
role = "Maintainer"
}
]
}| Name | Version |
|---|---|
| terraform | >= 1.0.0 |
| github | >= 5.0.0 |
| confluence | >= 0.0.3 |
| Name | Version |
|---|---|
| github | >= 5.0.0 |
| confluence | >= 0.0.3 |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| repository_owner | The owner of the GitHub repository | string |
n/a | yes |
| repository_name | The name of the GitHub repository | string |
n/a | yes |
| confluence_parent_page_id | The ID of the parent Confluence page where documentation should be created | string |
n/a | yes |
| title_prefix | Prefix to add to the Confluence page title | string |
"Repository: " |
no |
| contacts | List of contacts for the repository | list(object({ name = string, email = string, role = string })) |
[] |
no |
| Name | Description |
|---|---|
| confluence_page_id | The ID of the created Confluence page |
| confluence_page_title | The title of the created Confluence page |
| confluence_page_space_key | The space key of the created Confluence page |
| confluence_page_url | The URL of the created Confluence page |
See the examples directory for complete usage examples.
- This module assumes that the GitHub and Confluence providers are already configured in the root module.
- The Confluence parent page must already exist and be specified by its ID.
- The template uses Confluence Storage Format (XHTML) to format the content.