diff --git a/README.md b/README.md index d3042eb..b54260a 100644 --- a/README.md +++ b/README.md @@ -45,22 +45,45 @@ See [User Guide](https://gavinbunney.github.io/terraform-provider-bitbucketserve - [Terraform](https://www.terraform.io/downloads.html) 0.12.x - [Go](https://golang.org/doc/install) 1.11 (to build the provider plugin) +### Building The Provider + +Clone repository to: `$GOPATH/src/github.com/gavinbunney/terraform-provider-bitbucketserver` + +```sh +$ 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 + +```sh +$ 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](http://www.golang.org) installed on your machine (version 1.11+ is *required*). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#GOPATH), as well as adding `$GOPATH/bin` to your `$PATH`. -Then clone the repository [Terraform provider bitbucket](https://github.com/gavinbunney/terraform-provider-bitbucketserver) - To compile the provider, run `make build`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory. +```sh +$ make bin +... +$ $GOPATH/bin/terraform-provider-bitbucketserver +... +``` + In order to test the provider, you can simply run `make test`. ```sh $ make test ``` -In order to run the full suite of Acceptance tests, run `make testacc-bitbucket`. Alternatively, you can run the -`scripts/start-docker-compose.sh` to start the Bitbucket docker container, run `make testacc` and then call -`scripts/stop-docker-compose.sh` when done running tests. +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 if not running locally. +*Note:* Acceptance tests create real resources, and often cost money to run. + +```sh +$ make testacc +``` diff --git a/bitbucket/data_plugin_test.go b/bitbucket/data_plugin_test.go index 9bbb436..265525b 100644 --- a/bitbucket/data_plugin_test.go +++ b/bitbucket/data_plugin_test.go @@ -7,7 +7,6 @@ import ( ) func TestAccBitbucketDataPlugin_notifyer(t *testing.T) { - t.Skip("Skipping testing in CI environment") config := ` resource "bitbucketserver_plugin" "test" { key = "nl.stefankohler.stash.stash-notification-plugin" diff --git a/bitbucket/resource_group.go b/bitbucket/resource_group.go index 318ec20..bb875e3 100644 --- a/bitbucket/resource_group.go +++ b/bitbucket/resource_group.go @@ -2,10 +2,8 @@ package bitbucket import ( "fmt" - "net/url" - "strings" - "github.com/hashicorp/terraform/helper/schema" + "net/url" ) func resourceGroup() *schema.Resource { @@ -39,9 +37,9 @@ func resourceGroupCreate(d *schema.ResourceData, m interface{}) error { groupName := d.Get("name").(string) importIfExists := d.Get("import_if_exists").(bool) var newResource = true - _, err := client.Post(fmt.Sprintf("/rest/api/1.0/admin/groups?name=%s", url.QueryEscape(groupName)), nil) + response, err := client.Post(fmt.Sprintf("/rest/api/1.0/admin/groups?name=%s", url.QueryEscape(groupName)), nil) if err != nil { - if importIfExists && strings.Contains(err.Error(), "API Error: 409") { + if importIfExists && response.StatusCode == 409 { newResource = false } else { return err diff --git a/bitbucket/resource_plugin_config_test.go b/bitbucket/resource_plugin_config_test.go index 4ed9db9..734d4bd 100644 --- a/bitbucket/resource_plugin_config_test.go +++ b/bitbucket/resource_plugin_config_test.go @@ -7,7 +7,6 @@ import ( ) func TestAccBitbucketPluginConfig(t *testing.T) { - t.Skip("Skipping testing in CI environment") config := ` resource "bitbucketserver_plugin" "test" { key = "de.codecentric.atlassian.oidc.bitbucket-oidc-plugin" diff --git a/bitbucket/resource_plugin_test.go b/bitbucket/resource_plugin_test.go index 8ab559c..17c9512 100644 --- a/bitbucket/resource_plugin_test.go +++ b/bitbucket/resource_plugin_test.go @@ -7,7 +7,6 @@ import ( ) func TestAccBitbucketPlugin_install(t *testing.T) { - t.Skip("Skipping testing in CI environment") config := ` resource "bitbucketserver_plugin" "test" { key = "com.plugin.commitgraph.commitgraph" diff --git a/docusaurus/docs/resource_group.md b/docusaurus/docs/resource_group.md index 8a6684d..7a005c6 100644 --- a/docusaurus/docs/resource_group.md +++ b/docusaurus/docs/resource_group.md @@ -16,6 +16,7 @@ resource "bitbucketserver_group" "browncoats" { ## Argument Reference * `name` - Required. Group to create. +* `import_if_exists` - Optional. Import groups that already exist in bitbucket into the terraform state file. ## Import diff --git a/version.env b/version.env deleted file mode 100644 index 38c5c7f..0000000 --- a/version.env +++ /dev/null @@ -1,10 +0,0 @@ -#We use semantic versioning: -#version x.y.z -#x is an api version and if breaking api changes are introduced this should change, otherwise it remains constant -#y is a new feature version and this only changes if new features are changed but bugs are not fixed -#z is a patch version that changes if a bug is fixed for a previous feature version. -# See https://semver.org/ for more information - -#To use this file call `source version.env` from a bash terminal - -export BITBUCKET_PROVIDER_VERSION=1.4.0 \ No newline at end of file