Terraform/OpenTofu provider for managing Atlassian Cloud (Jira + Confluence) configuration as infrastructure as code. Supports projects, permission schemes, workflows, issue types, custom fields, screens, roles, and Confluence spaces — with full import and drift detection.
View on Terraform Registry — full documentation, installation instructions, and version history.
terraform {
required_providers {
atlassian = {
source = "lbajsarowicz/atlassian"
version = "~> 0.1"
}
}
}Note: Terraform and OpenTofu resolve
lbajsarowicz/atlassianto their respective registries automatically. Lock files will differ between the two tools because the signing chains are different.
| Attribute | Environment Variable | Description |
|---|---|---|
url |
ATLASSIAN_URL |
Atlassian Cloud instance URL (e.g., https://mysite.atlassian.net) |
user |
ATLASSIAN_USER |
Account email for API authentication |
token |
ATLASSIAN_TOKEN |
API token |
Provider configuration takes precedence over environment variables.
provider "atlassian" {
url = "https://mysite.atlassian.net"
user = "admin@example.com"
token = "your-api-token"
}op run --env-file=.env -- terraform planresource "atlassian_jira_project" "my_project" {
key = "MYPROJ"
name = "My Project"
project_type_key = "software"
lead_account_id = "5a1234abc"
}
data "atlassian_jira_project" "existing" {
key = "EXIST"
}| Resource | Description |
|---|---|
atlassian_jira_group |
Jira group |
atlassian_jira_project |
Jira project |
atlassian_jira_permission_scheme |
Permission scheme |
atlassian_jira_permission_scheme_grant |
Permission scheme grant |
atlassian_jira_project_permission_scheme |
Project ↔ permission scheme association |
atlassian_jira_issue_type |
Issue type |
atlassian_jira_issue_type_scheme |
Issue type scheme |
atlassian_jira_project_issue_type_scheme |
Project ↔ issue type scheme association |
atlassian_jira_project_role |
Project role |
atlassian_jira_project_role_actor |
Project role actor (user/group) |
atlassian_jira_custom_field |
Custom field |
atlassian_jira_status |
Workflow status |
atlassian_jira_workflow |
Workflow |
atlassian_jira_workflow_scheme |
Workflow scheme |
atlassian_jira_project_workflow_scheme |
Project ↔ workflow scheme association |
atlassian_jira_screen |
Screen |
atlassian_jira_screen_tab |
Screen tab |
atlassian_jira_screen_tab_field |
Screen tab field |
atlassian_jira_screen_scheme |
Screen scheme |
atlassian_jira_issue_type_screen_scheme |
Issue type screen scheme |
atlassian_jira_project_issue_type_screen_scheme |
Project ↔ issue type screen scheme association |
atlassian_confluence_space |
Confluence space |
atlassian_confluence_space_permission |
Confluence space permission |
| Data Source | Description |
|---|---|
atlassian_jira_group |
Look up a Jira group by name |
atlassian_jira_project |
Look up a Jira project by key |
atlassian_jira_permission_scheme |
Look up a permission scheme by name |
atlassian_jira_issue_type |
Look up an issue type by name |
atlassian_jira_issue_type_scheme |
Look up an issue type scheme by name |
atlassian_jira_project_role |
Look up a project role by name |
atlassian_jira_custom_field |
Look up a custom field by name |
atlassian_jira_status |
Look up a workflow status by name |
atlassian_jira_workflow |
Look up a workflow by name |
atlassian_jira_workflow_scheme |
Look up a workflow scheme by name |
atlassian_jira_screen |
Look up a screen by name |
atlassian_jira_screen_scheme |
Look up a screen scheme by name |
atlassian_jira_issue_type_screen_scheme |
Look up an issue type screen scheme by name |
atlassian_confluence_space |
Look up a Confluence space by key |
make buildmake installThen add to ~/.terraformrc or ~/.tofurc:
provider_installation {
dev_overrides {
"registry.terraform.io/lbajsarowicz/atlassian" = "<output of: make install>"
}
direct {}
}make test # Unit tests
make testacc # Acceptance tests (requires ATLASSIAN_* env vars)
make testintegration # Integration tests against real Jira
make lint # Lintgo install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs@v0.24.0
tfplugindocs generate- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes with tests
- Use conventional commits — PR titles are enforced (
feat:,fix:,docs:, etc.) - Run
make testandmake lint - Open a pull request
If you find this provider useful, consider sponsoring my work so I can continue maintaining and improving it.
GPL-3.0-or-later. See LICENSE for details.