tiwood / terraform-provider-azuredevops Goto Github PK
View Code? Open in Web Editor NEWThis project forked from christianbumann/terraform-provider-azuredevops
Terraform provider for Azure DevOps
License: MIT License
This project forked from christianbumann/terraform-provider-azuredevops
Terraform provider for Azure DevOps
License: MIT License
Create a data source to query Azure DevOps about existing service connections inside a project.
# Copy-paste your Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key.
data azuredevops_serviceconnections "project-service-connections" {
project_id = '09df9024-1f15-46fe-92b4-631bf6b93de2'
types = [ azurerm, docker ] # optional, if empty return all available service connections
}
N/A
Remove the requirement inside the group membership resource to specify at least one member, to be able to clear all members from a group.
Add a ConflictsWith
specification to origin_id
that creates a validation error in Terraform if a scope
is specified, because an AAD group can only be created on the organization level.
Create a new resource to create service endpoint of type azurerm
# Copy-paste your Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key.
N/A
The schema is currently invalid:
func dataGroup() *schema.Resource {
return &schema.Resource{
Read: dataSourceGroupRead,
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
ForceNew: true,
Required: true,
ValidateFunc: validation.NoZeroValues,
},
"project_id": {
Type: schema.TypeString,
ForceNew: true,
Required: true,
ValidateFunc: validation.NoZeroValues,
},
"descriptor": {
Type: schema.TypeString,
Computed: true,
},
},
}
}
ForceNew
should be removed
project_id
should be optional (for getting org-wide groups)
Add a resource provider to manage project features.
# Copy-paste your Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key.
resource "azuredevops_project_features" "my-project-features" {
project_id = "a61b60e3-fcbd-429f-ad21-7ba1358c5057"
features = {
Test = disabled
Artifacts = enabled
Board = enabled
}
}
Disable Test Plans
https://dev.azure.com/{organization}/_apis/FeatureManagement/FeatureStates/host/project/{project-id}/ms.vss-test-web.test
{
"featureId": "ms.vss-test-web.test",
"scope": {
"settingScope": "project",
"userScoped": false
},
"state": 0
}
Query feature status
https://dev.azure.com/{organization}/_apis/FeatureManagement/FeatureStatesQuery/host/project/{project-id}
{
"featureIds": ["ms.vss-work.agile", "ms.vss-code.version-control", "ms.vss-build.pipelines", "ms.vss-test-web.test", "ms.feed.feed"],
"featureStates": {},
"scopeValues": {
"project": "f6ad111f-42cb-4e2d-b22a-cd0bd6f5aebd"
}
}
We should add a retry function to the azuredevops_group
resource.
:authority: vssps.dev.azure.com
:method: POST
:path: /xxx/_apis/Graph/Groups
:scheme: https
x-tfs-fedauthredirect: Suppress
x-tfs-session: 39c99ad2-ce33-40a7-8771-6b77990c6cba
user-agent: go/go1.13.6 (darwin amd64) azure-devops-go-api/0.0.0
authorization: Basic xxx
accept: application/json;api-version=5.1-preview.1
content-type: application/json;charset=utf-8
content-length: 51
accept-encoding: gzip
{"originId":"edbb7079-7cdb-4f63-89b7-a599e827dcc5"}
:status: 400
cache-control: no-cache
pragma: no-cache
content-length: 204
content-type: application/json; charset=utf-8; api-version=5.1-preview.1
expires: -1
<snip>
{"count":180,"value":"VS860016: Could not find subject 'edbb7079-7cdb-4f63-89b7-a599e827dcc5' in the backing domain. This value came from the parameter 'originId'. Please check your input and try again."}
blocked by microsoft/azure-devops-go-api#48
# Copy-paste your Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key.
Create service connection
{
"administratorsGroup": null,
"authorization": {
"scheme": "UsernamePassword",
"parameters": {
"username": "sadfggsdfgsdfgsdfgsdfg"
}
},
"createdBy": null,
"data": {},
"description": "My Description",
"groupScopeId": null,
"name": "SonarQube - Test",
"operationStatus": null,
"readersGroup": null,
"serviceEndpointProjectReferences": [{
"description": "My Description",
"name": "SonarQube - Test",
"projectReference": {
"id": "f6ad111f-42cb-4e2d-b22a-cd0bd6f5aebd",
"name": "Test1"
}
}],
"type": "sonarqube",
"url": "https://sonarq.test.com",
"isShared": false,
"owner": "library"
}
Authorize for all pipelines
{
"resource": {
"id": "1cf33095-ac71-47ea-b84d-8d8845cab692",
"type": "endpoint",
"name": ""
},
"pipelines": [],
"allPipelines": {
"authorized": true,
"authorizedBy": null,
"authorizedOn": null
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.