Files
terraform-provider-bitbucke…/README.md
Gavin Bunney 8f7985c4e5 Updated README
2019-10-08 12:31:07 -07:00

4.3 KiB

Bitbucket Server Terraform Provider

Build Status

This terraform provider allows management of bitbucket server resources.

Note: The bundled terraform bitbucket provider works for bitbucket cloud - this provider is for bitbucket server only!

Using the provider

Download a binary for your system from the release page and remove the -os-arch details so you're left with terraform-provider-bitbucketserver. Use chmod +x to make it executable and then either place it at the root of your Terraform folder or in the Terraform plugin folder on your system.

Quick Start

provider "bitbucketserver" {
  server   = "https://mybitbucket.example.com"
  username = "admin"
  password = "password"
}

resource "bitbucketserver_project" "test" {
  key         = "TEST"
  name        = "test-01"
  description = "Test project"
}

resource "bitbucketserver_repository" "test" {
  project     = bitbucketserver_project.test.key
  name        = "test-01"
  description = "Test repository"
}

Provider Configuration

The provider supports parameters to determine the bitbucket server and admin user/password to use.

provider "bitbucketserver" {
  server   = "https://mybitbucket.example.com"
  username = "admin"
  password = "password"
}

You can also specify these parameters through the BITBUCKET_SERVER, BITBUCKER_USERNAME and BITBUCKET_PASSWORD environment variables.

Create a Bitbucket Project

resource "bitbucketserver_project" "test" {
  key         = "TEST"
  name        = "test-01"
  description = "Test project"
  avatar      = "data:(content type, e.g. image/png);base64,(data)"
}
  • key - Required. Project key to set
  • name - Required. Name of the project.
  • description - Optional. Description of the project.
  • avatar - Optional. Avatar to use containing base64-encoded image data. Format: data:(content type, e.g. image/png);base64,(data)

Import Project

$ terraform import bitbucketserver_project.test TEST

Create a Bitbucket Repository

resource "bitbucketserver_repository" "test" {
  name        = "test-01"
  description = "Test repository"
}
  • name - Required. Name of the project.
  • slug - Optional. Slug to use for the repository. Calculated if not defined.
  • description - Optional. Description of the repository.
  • forkable - Optional. Enable/disable forks of this repository. Default true
  • public - Optional. Determine if this repository is public. Default false

Attributes

Additional to the above, the following attributes are emitted:

  • clone_ssh - URL for SSH cloning of the repository.
  • clone_https - URL for HTTPS cloning of the repository.

Import Repository

$ terraform import bitbucketserver_repository.test TEST/test-01

Development Guide

Requirements

  • Terraform 0.10.x
  • Go 1.11 (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/gavinbunney/terraform-provider-bitbucketserver

$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone git@github.com:gavinbunney/terraform-provider-bitbucketserver

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/gavinbunney/terraform-provider-bitbucketserver
$ make build

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make bin
...
$ $GOPATH/bin/terraform-provider-bitbucketserver
...

In order to test the provider, you can simply run make test.

$ make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

$ make testacc