
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.
Requirements
Installation
terraform {
required_providers {
atlassian = {
source = "lbajsarowicz/atlassian"
version = "~> 0.1"
}
}
}
Note: Terraform and OpenTofu resolve lbajsarowicz/atlassian to their respective registries automatically. Lock files will differ between the two tools because the signing chains are different.
Authentication
| 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"
}
Using 1Password CLI
op run --env-file=.env -- terraform plan
Quick Start
resource "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"
}
Resources
| 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 Sources
| 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 |
Development
Build
make build
Install locally (dev_overrides)
make install
Then add to ~/.terraformrc or ~/.tofurc:
provider_installation {
dev_overrides {
"registry.terraform.io/lbajsarowicz/atlassian" = "<output of: make install>"
}
direct {}
}
Run tests
make test # Unit tests
make testacc # Acceptance tests (requires ATLASSIAN_* env vars)
make testintegration # Integration tests against real Jira
make lint # Lint
Generate documentation
go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs@v0.24.0
tfplugindocs generate
Contributing
- 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 test and make lint
- Open a pull request
If you find this provider useful, consider sponsoring my work so I can continue maintaining and improving it.
License
GPL-3.0-or-later. See LICENSE for details.