{"id":15176031,"url":"https://github.com/hashicorp/terraform-provider-runscope","last_synced_at":"2025-10-01T14:31:27.617Z","repository":{"id":57532654,"uuid":"134910120","full_name":"hashicorp/terraform-provider-runscope","owner":"hashicorp","description":"Terraform runscope provider. Please note: This Terraform provider is archived per our provider archiving process: https://terraform.io/docs/internals/archiving.html","archived":true,"fork":false,"pushed_at":"2020-12-08T17:18:26.000Z","size":28061,"stargazers_count":8,"open_issues_count":11,"forks_count":25,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-01-08T13:07:40.360Z","etag":null,"topics":["runscope","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"https://www.terraform.io/docs/providers/runscope/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hashicorp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-25T22:25:18.000Z","updated_at":"2023-01-28T11:33:56.000Z","dependencies_parsed_at":"2022-09-26T18:20:43.307Z","dependency_job_id":null,"html_url":"https://github.com/hashicorp/terraform-provider-runscope","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashicorp%2Fterraform-provider-runscope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashicorp%2Fterraform-provider-runscope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashicorp%2Fterraform-provider-runscope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hashicorp%2Fterraform-provider-runscope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hashicorp","download_url":"https://codeload.github.com/hashicorp/terraform-provider-runscope/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234878294,"owners_count":18900676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["runscope","terraform","terraform-provider"],"created_at":"2024-09-27T13:00:33.740Z","updated_at":"2025-10-01T14:31:17.725Z","avatar_url":"https://github.com/hashicorp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- archived-provider --\u003e\nPlease note: This Terraform provider is archived, per our [provider archiving process](https://terraform.io/docs/internals/archiving.html). What does this mean?\n1. The code repository and all commit history will still be available.\n1. Existing released binaries will remain available on the releases site.\n1. Issues and pull requests are not being monitored.\n1. New releases will not be published.\n\nIf anyone from the community or an interested third party is willing to maintain it, they can fork the repository and [publish it](https://www.terraform.io/docs/registry/providers/publishing.html) to the Terraform Registry. If you are interested in maintaining this provider, please reach out to the [Terraform Provider Development Program](https://www.terraform.io/guides/terraform-provider-development-program.html) at *terraform-provider-dev@hashicorp.com*.\n\n---\n\n\u003c!-- /archived-provider --\u003e\n\n[![Build Status](https://travis-ci.org/ewilde/terraform-provider-runscope.svg?branch=master)](https://travis-ci.org/ewilde/terraform-provider-runscope)\n\n# Terraform Runscope Provider\n\n- Website: https://www.terraform.io\n- [![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)\n- Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)\n\n\u003cimg src=\"https://cdn.rawgit.com/hashicorp/terraform-website/master/content/source/assets/images/logo-hashicorp.svg\" width=\"600px\"\u003e\n\nThe Runscope provider is used to create and manage Runscope tests using\nthe official [Runscope API](https://www.runscope.com/docs/api)\n\n## Requirements\n\n-\t[Terraform](https://www.terraform.io/downloads.html) 0.10.x\n-\t[Go](https://golang.org/doc/install) 1.11 (to build the provider plugin)\n\n\n## Installing\n\nSee the [Plugin Basics][4] page of the Terraform docs to see how to plug this\ninto your config. Check the [releases page][5] of this repository to get releases for\nLinux, OS X, and Windows.\n\n## Usage\n\nThe following section details the use of the provider and its resources.\n\nThese docs are derived from the middleman templates that were created for the\nPR itself, and can be found in their original form [here][5].\n\n### Example Usage\n\nThe below example is an end-to-end demonstration of the setup of a basic\nrunscope test:\n\n\n### Creating a test with a step\n```hcl\nresource \"runscope_step\" \"main_page\" {\n  bucket_id      = \"${runscope_bucket.bucket.id}\"\n  test_id        = \"${runscope_test.test.id}\"\n  step_type      = \"request\"\n  url            = \"http://example.com\"\n  method         = \"GET\"\n  variables      = [\n  \t{\n  \t   name     = \"httpStatus\"\n  \t   source   = \"response_status\"\n  \t},\n  \t{\n  \t   name     = \"httpContentEncoding\"\n  \t   source   = \"response_header\"\n  \t   property = \"Content-Encoding\"\n  \t},\n  ]\n  assertions     = [\n  \t{\n  \t   source     = \"response_status\"\n       comparison = \"equal_number\"\n       value      = \"200\"\n  \t},\n  \t{\n  \t   source     = \"response_json\"\n       comparison = \"equal\"\n       value      = \"c5baeb4a-2379-478a-9cda-1b671de77cf9\",\n       property   = \"data.id\"\n  \t},\n  ],\n  headers        = [\n  \t{\n  \t\theader = \"Accept-Encoding\",\n  \t\tvalue  = \"application/json\"\n  \t},\n  \t{\n  \t\theader = \"Accept-Encoding\",\n  \t\tvalue  = \"application/xml\"\n  \t},\n  \t{\n  \t\theader = \"Authorization\",\n  \t\tvalue  = \"Bearer bb74fe7b-b9f2-48bd-9445-bdc60e1edc6a\",\n\t}\n  ]\n}\n\nresource \"runscope_test\" \"test\" {\n  bucket_id   = \"${runscope_bucket.bucket.id}\"\n  name        = \"runscope test\"\n  description = \"This is a test test...\"\n}\n\nresource \"runscope_bucket\" \"bucket\" {\n  name      = \"terraform-provider-test\"\n  team_uuid = \"dfb75aac-eeb3-4451-8675-3a37ab421e4f\"\n}\n```\n\n## Argument Reference\n\nThe following arguments are supported:\n\n* `bucket_id` - (Required) The id of the bucket to associate this step with.\n* `test_id` - (Required) The id of the test to associate this step with.\n* `step_type` - (Required) The type of step.\n * [request](#request-steps)\n * pause\n * condition\n * ghost\n * subtest\n\n### Request steps\nWhen creating a `request` type of step the additional arguments also apply:\n\n* `method` - (Required) The HTTP method for this request step.\n* `variables` - (Optional) A list of variables to extract out of the HTTP response from this request. Variables documented below.\n* `assertions` - (Optional) A list of assertions to apply to the HTTP response from this request. Assertions documented below.\n* `headers` - (Optional) A list of headers to apply to the request. Headers documented below.\n* `body` - (Optional) A string to use as the body of the request.\n\nVariables (`variables`) supports the following:\n\n* `name` - (Required) Name of the variable to define.\n* `property` - (Required) The name of the source property. i.e. header name or json path\n* `source` - (Required) The variable source, for list of allowed values see: https://www.runscope.com/docs/api/steps#assertions\n\nAssertions (`assertions`) supports the following:\n\n* `source` - (Required) The assertion source, for list of allowed values see: https://www.runscope.com/docs/api/steps#assertions\n* `property` - (Optional) The name of the source property. i.e. header name or json path\n* `comparison` - (Required) The assertion comparison to make i.e. `equals`, for list of allowed values see: https://www.runscope.com/docs/api/steps#assertions\n* `value` - (Optional) The value the `comparison` will use\n\n**Example Assertions**\n\nStatus Code == 200\n\n```json\n\"assertions\": [\n    {\n        \"source\": \"response_status\",\n        \"comparison\": \"equal_number\",\n        \"value\": 200\n    }\n]\n```\n\nJSON element 'address' contains the text \"avenue\"\n\n\n```json\n\"assertions\": [\n    {\n        \"source\": \"response_json\",\n        \"property\": \"address\",\n        \"comparison\": \"contains\",\n        \"value\": \"avenue\"\n    }\n]\n```\n\nResponse Time is faster than 1 second.\n\n\n```json\n\"assertions\": [\n    {\n        \"source\": \"response_time\",\n        \"comparison\": \"is_less_than\",\n        \"value\": 1000\n    }\n]\n```\n\nThe `headers` list supports the following:\n\n* `header` - (Required) The name of the header\n* `value` - (Required) The name header value\n\n## Attributes Reference\n\nThe following attributes are exported:\n\n* `id` - The ID of the step.\n\n\n[1]: https://github.com/hashicorp/terraform/pull/14221\n[2]: https://www.runscope.com/docs/api\n[3]: https://www.terraform.io/docs/plugins/basics.html\n[4]: https://github.com/ewilde/terraform-provider-runscope/releases\n[5]: website/source/docs/providers/runscope\n\n# Developing\n\n## Building The Provider\n\nClone repository to: `$GOPATH/src/github.com/terraform-providers/terraform-provider-runscope`\n\n```sh\n$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers\n$ git clone git@github.com:terraform-providers/terraform-provider-runscope\n```\n\nEnter the provider directory and build the provider\n\n```sh\n$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-runscope\n$ make build\n```\n\n## Using the provider\n\nSee [examples](examples/)\n\nSee [runscope providers documentation](https://www.terraform.io/docs/providers/runscope/index.html)\n\n## Developing the Provider\n\nIf 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`.\n\nTo compile the provider, run `make build`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory.\n\n```sh\n$ make build\n...\n$ $GOPATH/bin/terraform-provider-runscope\n...\n```\n\n## Running the integration tests\n\n`make TF_ACC=1 RUNSCOPE_TEAM_ID=xxx RUNSCOPE_ACCESS_TOKEN=xxx RUNSCOPE_INTEGRATION_DESC=\"Slack: #test1 channel, send message on all test runs\"`\n\n\n| Environment variables           | Description                             |\n|:----------------|:----------------------------------------|\n| TF_ACC| `1` runs acceptance tests, do not set to skip acceptance tests |\n| RUNSCOPE_TEAM_ID | Runscope [team uuid](https://www.runscope.com/docs/api/teams)|\n| RUNSCOPE_ACCESS_TOKEN | Runscope [access token](https://www.runscope.com/applications/create) |\n| RUNSCOPE_INTEGRATION_DESC | Description that matches a pre-existing runscope integration associated with your account  |\n\n## Vendoring / dependency management\nDependencies are managed using [Go Modules](https://github.com/golang/go/wiki/Modules)\n\n### Add or update a dependency\n\n```\n$ GO111MODULE=on go get \u003cmodule\u003e@\u003cversion\u003e\n$ GO111MODULE=on go mod tidy\n```\n\nFor the time being we will continue to vendor\n```\n$ GO111MODULE=on go mod vendor\n```\n\n## Releasing\nReleases are automatically setup to go out from the master branch after a build is made on master with a tag.\n\nTo perform a release simply create a tag:\n` git tag -a v0.0.2 -m \"Release message\"`\n\nThen push your tag:\n`git push origin v0.0.2`\n\n\nThat's it, the build will now run and create a new release on [github](https://github.com/form3tech/ewilde/terraform-provider-runscope) :\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashicorp%2Fterraform-provider-runscope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhashicorp%2Fterraform-provider-runscope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhashicorp%2Fterraform-provider-runscope/lists"}