azuredevops.BranchPolicyWorkItemLinking
Explore with Pulumi AI
Require associations between branches and a work item within Azure DevOps.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azuredevops from "@pulumi/azuredevops";
const example = new azuredevops.Project("example", {name: "Example Project"});
const exampleGit = new azuredevops.Git("example", {
projectId: example.id,
name: "Example Repository",
initialization: {
initType: "Clean",
},
});
const exampleBranchPolicyWorkItemLinking = new azuredevops.BranchPolicyWorkItemLinking("example", {
projectId: example.id,
enabled: true,
blocking: true,
settings: {
scopes: [
{
repositoryId: exampleGit.id,
repositoryRef: exampleGit.defaultBranch,
matchType: "Exact",
},
{
repositoryId: exampleGit.id,
repositoryRef: "refs/heads/releases",
matchType: "Prefix",
},
{
matchType: "DefaultBranch",
},
],
},
});
import pulumi
import pulumi_azuredevops as azuredevops
example = azuredevops.Project("example", name="Example Project")
example_git = azuredevops.Git("example",
project_id=example.id,
name="Example Repository",
initialization={
"init_type": "Clean",
})
example_branch_policy_work_item_linking = azuredevops.BranchPolicyWorkItemLinking("example",
project_id=example.id,
enabled=True,
blocking=True,
settings={
"scopes": [
{
"repository_id": example_git.id,
"repository_ref": example_git.default_branch,
"match_type": "Exact",
},
{
"repository_id": example_git.id,
"repository_ref": "refs/heads/releases",
"match_type": "Prefix",
},
{
"match_type": "DefaultBranch",
},
],
})
package main
import (
"github.com/pulumi/pulumi-azuredevops/sdk/v3/go/azuredevops"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := azuredevops.NewProject(ctx, "example", &azuredevops.ProjectArgs{
Name: pulumi.String("Example Project"),
})
if err != nil {
return err
}
exampleGit, err := azuredevops.NewGit(ctx, "example", &azuredevops.GitArgs{
ProjectId: example.ID(),
Name: pulumi.String("Example Repository"),
Initialization: &azuredevops.GitInitializationArgs{
InitType: pulumi.String("Clean"),
},
})
if err != nil {
return err
}
_, err = azuredevops.NewBranchPolicyWorkItemLinking(ctx, "example", &azuredevops.BranchPolicyWorkItemLinkingArgs{
ProjectId: example.ID(),
Enabled: pulumi.Bool(true),
Blocking: pulumi.Bool(true),
Settings: &azuredevops.BranchPolicyWorkItemLinkingSettingsArgs{
Scopes: azuredevops.BranchPolicyWorkItemLinkingSettingsScopeArray{
&azuredevops.BranchPolicyWorkItemLinkingSettingsScopeArgs{
RepositoryId: exampleGit.ID(),
RepositoryRef: exampleGit.DefaultBranch,
MatchType: pulumi.String("Exact"),
},
&azuredevops.BranchPolicyWorkItemLinkingSettingsScopeArgs{
RepositoryId: exampleGit.ID(),
RepositoryRef: pulumi.String("refs/heads/releases"),
MatchType: pulumi.String("Prefix"),
},
&azuredevops.BranchPolicyWorkItemLinkingSettingsScopeArgs{
MatchType: pulumi.String("DefaultBranch"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureDevOps = Pulumi.AzureDevOps;
return await Deployment.RunAsync(() =>
{
var example = new AzureDevOps.Project("example", new()
{
Name = "Example Project",
});
var exampleGit = new AzureDevOps.Git("example", new()
{
ProjectId = example.Id,
Name = "Example Repository",
Initialization = new AzureDevOps.Inputs.GitInitializationArgs
{
InitType = "Clean",
},
});
var exampleBranchPolicyWorkItemLinking = new AzureDevOps.BranchPolicyWorkItemLinking("example", new()
{
ProjectId = example.Id,
Enabled = true,
Blocking = true,
Settings = new AzureDevOps.Inputs.BranchPolicyWorkItemLinkingSettingsArgs
{
Scopes = new[]
{
new AzureDevOps.Inputs.BranchPolicyWorkItemLinkingSettingsScopeArgs
{
RepositoryId = exampleGit.Id,
RepositoryRef = exampleGit.DefaultBranch,
MatchType = "Exact",
},
new AzureDevOps.Inputs.BranchPolicyWorkItemLinkingSettingsScopeArgs
{
RepositoryId = exampleGit.Id,
RepositoryRef = "refs/heads/releases",
MatchType = "Prefix",
},
new AzureDevOps.Inputs.BranchPolicyWorkItemLinkingSettingsScopeArgs
{
MatchType = "DefaultBranch",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azuredevops.Project;
import com.pulumi.azuredevops.ProjectArgs;
import com.pulumi.azuredevops.Git;
import com.pulumi.azuredevops.GitArgs;
import com.pulumi.azuredevops.inputs.GitInitializationArgs;
import com.pulumi.azuredevops.BranchPolicyWorkItemLinking;
import com.pulumi.azuredevops.BranchPolicyWorkItemLinkingArgs;
import com.pulumi.azuredevops.inputs.BranchPolicyWorkItemLinkingSettingsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Project("example", ProjectArgs.builder()
.name("Example Project")
.build());
var exampleGit = new Git("exampleGit", GitArgs.builder()
.projectId(example.id())
.name("Example Repository")
.initialization(GitInitializationArgs.builder()
.initType("Clean")
.build())
.build());
var exampleBranchPolicyWorkItemLinking = new BranchPolicyWorkItemLinking("exampleBranchPolicyWorkItemLinking", BranchPolicyWorkItemLinkingArgs.builder()
.projectId(example.id())
.enabled(true)
.blocking(true)
.settings(BranchPolicyWorkItemLinkingSettingsArgs.builder()
.scopes(
BranchPolicyWorkItemLinkingSettingsScopeArgs.builder()
.repositoryId(exampleGit.id())
.repositoryRef(exampleGit.defaultBranch())
.matchType("Exact")
.build(),
BranchPolicyWorkItemLinkingSettingsScopeArgs.builder()
.repositoryId(exampleGit.id())
.repositoryRef("refs/heads/releases")
.matchType("Prefix")
.build(),
BranchPolicyWorkItemLinkingSettingsScopeArgs.builder()
.matchType("DefaultBranch")
.build())
.build())
.build());
}
}
resources:
example:
type: azuredevops:Project
properties:
name: Example Project
exampleGit:
type: azuredevops:Git
name: example
properties:
projectId: ${example.id}
name: Example Repository
initialization:
initType: Clean
exampleBranchPolicyWorkItemLinking:
type: azuredevops:BranchPolicyWorkItemLinking
name: example
properties:
projectId: ${example.id}
enabled: true
blocking: true
settings:
scopes:
- repositoryId: ${exampleGit.id}
repositoryRef: ${exampleGit.defaultBranch}
matchType: Exact
- repositoryId: ${exampleGit.id}
repositoryRef: refs/heads/releases
matchType: Prefix
- matchType: DefaultBranch
Relevant Links
Create BranchPolicyWorkItemLinking Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BranchPolicyWorkItemLinking(name: string, args: BranchPolicyWorkItemLinkingArgs, opts?: CustomResourceOptions);
@overload
def BranchPolicyWorkItemLinking(resource_name: str,
args: BranchPolicyWorkItemLinkingArgs,
opts: Optional[ResourceOptions] = None)
@overload
def BranchPolicyWorkItemLinking(resource_name: str,
opts: Optional[ResourceOptions] = None,
project_id: Optional[str] = None,
settings: Optional[BranchPolicyWorkItemLinkingSettingsArgs] = None,
blocking: Optional[bool] = None,
enabled: Optional[bool] = None)
func NewBranchPolicyWorkItemLinking(ctx *Context, name string, args BranchPolicyWorkItemLinkingArgs, opts ...ResourceOption) (*BranchPolicyWorkItemLinking, error)
public BranchPolicyWorkItemLinking(string name, BranchPolicyWorkItemLinkingArgs args, CustomResourceOptions? opts = null)
public BranchPolicyWorkItemLinking(String name, BranchPolicyWorkItemLinkingArgs args)
public BranchPolicyWorkItemLinking(String name, BranchPolicyWorkItemLinkingArgs args, CustomResourceOptions options)
type: azuredevops:BranchPolicyWorkItemLinking
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args BranchPolicyWorkItemLinkingArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args BranchPolicyWorkItemLinkingArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args BranchPolicyWorkItemLinkingArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BranchPolicyWorkItemLinkingArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BranchPolicyWorkItemLinkingArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var branchPolicyWorkItemLinkingResource = new AzureDevOps.BranchPolicyWorkItemLinking("branchPolicyWorkItemLinkingResource", new()
{
ProjectId = "string",
Settings = new AzureDevOps.Inputs.BranchPolicyWorkItemLinkingSettingsArgs
{
Scopes = new[]
{
new AzureDevOps.Inputs.BranchPolicyWorkItemLinkingSettingsScopeArgs
{
MatchType = "string",
RepositoryId = "string",
RepositoryRef = "string",
},
},
},
Blocking = false,
Enabled = false,
});
example, err := azuredevops.NewBranchPolicyWorkItemLinking(ctx, "branchPolicyWorkItemLinkingResource", &azuredevops.BranchPolicyWorkItemLinkingArgs{
ProjectId: pulumi.String("string"),
Settings: &azuredevops.BranchPolicyWorkItemLinkingSettingsArgs{
Scopes: azuredevops.BranchPolicyWorkItemLinkingSettingsScopeArray{
&azuredevops.BranchPolicyWorkItemLinkingSettingsScopeArgs{
MatchType: pulumi.String("string"),
RepositoryId: pulumi.String("string"),
RepositoryRef: pulumi.String("string"),
},
},
},
Blocking: pulumi.Bool(false),
Enabled: pulumi.Bool(false),
})
var branchPolicyWorkItemLinkingResource = new BranchPolicyWorkItemLinking("branchPolicyWorkItemLinkingResource", BranchPolicyWorkItemLinkingArgs.builder()
.projectId("string")
.settings(BranchPolicyWorkItemLinkingSettingsArgs.builder()
.scopes(BranchPolicyWorkItemLinkingSettingsScopeArgs.builder()
.matchType("string")
.repositoryId("string")
.repositoryRef("string")
.build())
.build())
.blocking(false)
.enabled(false)
.build());
branch_policy_work_item_linking_resource = azuredevops.BranchPolicyWorkItemLinking("branchPolicyWorkItemLinkingResource",
project_id="string",
settings={
"scopes": [{
"match_type": "string",
"repository_id": "string",
"repository_ref": "string",
}],
},
blocking=False,
enabled=False)
const branchPolicyWorkItemLinkingResource = new azuredevops.BranchPolicyWorkItemLinking("branchPolicyWorkItemLinkingResource", {
projectId: "string",
settings: {
scopes: [{
matchType: "string",
repositoryId: "string",
repositoryRef: "string",
}],
},
blocking: false,
enabled: false,
});
type: azuredevops:BranchPolicyWorkItemLinking
properties:
blocking: false
enabled: false
projectId: string
settings:
scopes:
- matchType: string
repositoryId: string
repositoryRef: string
BranchPolicyWorkItemLinking Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BranchPolicyWorkItemLinking resource accepts the following input properties:
- Project
Id string - The ID of the project in which the policy will be created.
- Settings
Pulumi.
Azure Dev Ops. Inputs. Branch Policy Work Item Linking Settings - Configuration for the policy. This block must be defined exactly once.
- Blocking bool
- A flag indicating if the policy should be blocking. Defaults to
true
. - Enabled bool
- A flag indicating if the policy should be enabled. Defaults to
true
.
- Project
Id string - The ID of the project in which the policy will be created.
- Settings
Branch
Policy Work Item Linking Settings Args - Configuration for the policy. This block must be defined exactly once.
- Blocking bool
- A flag indicating if the policy should be blocking. Defaults to
true
. - Enabled bool
- A flag indicating if the policy should be enabled. Defaults to
true
.
- project
Id String - The ID of the project in which the policy will be created.
- settings
Branch
Policy Work Item Linking Settings - Configuration for the policy. This block must be defined exactly once.
- blocking Boolean
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled Boolean
- A flag indicating if the policy should be enabled. Defaults to
true
.
- project
Id string - The ID of the project in which the policy will be created.
- settings
Branch
Policy Work Item Linking Settings - Configuration for the policy. This block must be defined exactly once.
- blocking boolean
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled boolean
- A flag indicating if the policy should be enabled. Defaults to
true
.
- project_
id str - The ID of the project in which the policy will be created.
- settings
Branch
Policy Work Item Linking Settings Args - Configuration for the policy. This block must be defined exactly once.
- blocking bool
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled bool
- A flag indicating if the policy should be enabled. Defaults to
true
.
- project
Id String - The ID of the project in which the policy will be created.
- settings Property Map
- Configuration for the policy. This block must be defined exactly once.
- blocking Boolean
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled Boolean
- A flag indicating if the policy should be enabled. Defaults to
true
.
Outputs
All input properties are implicitly available as output properties. Additionally, the BranchPolicyWorkItemLinking resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing BranchPolicyWorkItemLinking Resource
Get an existing BranchPolicyWorkItemLinking resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: BranchPolicyWorkItemLinkingState, opts?: CustomResourceOptions): BranchPolicyWorkItemLinking
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
blocking: Optional[bool] = None,
enabled: Optional[bool] = None,
project_id: Optional[str] = None,
settings: Optional[BranchPolicyWorkItemLinkingSettingsArgs] = None) -> BranchPolicyWorkItemLinking
func GetBranchPolicyWorkItemLinking(ctx *Context, name string, id IDInput, state *BranchPolicyWorkItemLinkingState, opts ...ResourceOption) (*BranchPolicyWorkItemLinking, error)
public static BranchPolicyWorkItemLinking Get(string name, Input<string> id, BranchPolicyWorkItemLinkingState? state, CustomResourceOptions? opts = null)
public static BranchPolicyWorkItemLinking get(String name, Output<String> id, BranchPolicyWorkItemLinkingState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Blocking bool
- A flag indicating if the policy should be blocking. Defaults to
true
. - Enabled bool
- A flag indicating if the policy should be enabled. Defaults to
true
. - Project
Id string - The ID of the project in which the policy will be created.
- Settings
Pulumi.
Azure Dev Ops. Inputs. Branch Policy Work Item Linking Settings - Configuration for the policy. This block must be defined exactly once.
- Blocking bool
- A flag indicating if the policy should be blocking. Defaults to
true
. - Enabled bool
- A flag indicating if the policy should be enabled. Defaults to
true
. - Project
Id string - The ID of the project in which the policy will be created.
- Settings
Branch
Policy Work Item Linking Settings Args - Configuration for the policy. This block must be defined exactly once.
- blocking Boolean
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled Boolean
- A flag indicating if the policy should be enabled. Defaults to
true
. - project
Id String - The ID of the project in which the policy will be created.
- settings
Branch
Policy Work Item Linking Settings - Configuration for the policy. This block must be defined exactly once.
- blocking boolean
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled boolean
- A flag indicating if the policy should be enabled. Defaults to
true
. - project
Id string - The ID of the project in which the policy will be created.
- settings
Branch
Policy Work Item Linking Settings - Configuration for the policy. This block must be defined exactly once.
- blocking bool
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled bool
- A flag indicating if the policy should be enabled. Defaults to
true
. - project_
id str - The ID of the project in which the policy will be created.
- settings
Branch
Policy Work Item Linking Settings Args - Configuration for the policy. This block must be defined exactly once.
- blocking Boolean
- A flag indicating if the policy should be blocking. Defaults to
true
. - enabled Boolean
- A flag indicating if the policy should be enabled. Defaults to
true
. - project
Id String - The ID of the project in which the policy will be created.
- settings Property Map
- Configuration for the policy. This block must be defined exactly once.
Supporting Types
BranchPolicyWorkItemLinkingSettings, BranchPolicyWorkItemLinkingSettingsArgs
- Scopes
List<Pulumi.
Azure Dev Ops. Inputs. Branch Policy Work Item Linking Settings Scope> - Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
- Scopes
[]Branch
Policy Work Item Linking Settings Scope - Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
- scopes
List<Branch
Policy Work Item Linking Settings Scope> - Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
- scopes
Branch
Policy Work Item Linking Settings Scope[] - Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
- scopes
Sequence[Branch
Policy Work Item Linking Settings Scope] - Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
- scopes List<Property Map>
- Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
BranchPolicyWorkItemLinkingSettingsScope, BranchPolicyWorkItemLinkingSettingsScopeArgs
- Match
Type string - The match type to use when applying the policy. Supported values are
Exact
(default),Prefix
orDefaultBranch
. - Repository
Id string - The repository ID. Needed only if the scope of the policy will be limited to a single repository. If
match_type
isDefaultBranch
, this should not be defined. - Repository
Ref string - The ref pattern to use for the match when
match_type
other thanDefaultBranch
. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.
- Match
Type string - The match type to use when applying the policy. Supported values are
Exact
(default),Prefix
orDefaultBranch
. - Repository
Id string - The repository ID. Needed only if the scope of the policy will be limited to a single repository. If
match_type
isDefaultBranch
, this should not be defined. - Repository
Ref string - The ref pattern to use for the match when
match_type
other thanDefaultBranch
. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.
- match
Type String - The match type to use when applying the policy. Supported values are
Exact
(default),Prefix
orDefaultBranch
. - repository
Id String - The repository ID. Needed only if the scope of the policy will be limited to a single repository. If
match_type
isDefaultBranch
, this should not be defined. - repository
Ref String - The ref pattern to use for the match when
match_type
other thanDefaultBranch
. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.
- match
Type string - The match type to use when applying the policy. Supported values are
Exact
(default),Prefix
orDefaultBranch
. - repository
Id string - The repository ID. Needed only if the scope of the policy will be limited to a single repository. If
match_type
isDefaultBranch
, this should not be defined. - repository
Ref string - The ref pattern to use for the match when
match_type
other thanDefaultBranch
. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.
- match_
type str - The match type to use when applying the policy. Supported values are
Exact
(default),Prefix
orDefaultBranch
. - repository_
id str - The repository ID. Needed only if the scope of the policy will be limited to a single repository. If
match_type
isDefaultBranch
, this should not be defined. - repository_
ref str - The ref pattern to use for the match when
match_type
other thanDefaultBranch
. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.
- match
Type String - The match type to use when applying the policy. Supported values are
Exact
(default),Prefix
orDefaultBranch
. - repository
Id String - The repository ID. Needed only if the scope of the policy will be limited to a single repository. If
match_type
isDefaultBranch
, this should not be defined. - repository
Ref String - The ref pattern to use for the match when
match_type
other thanDefaultBranch
. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.
Import
Azure DevOps Branch Policies can be imported using the project ID and policy configuration ID:
$ pulumi import azuredevops:index/branchPolicyWorkItemLinking:BranchPolicyWorkItemLinking example 00000000-0000-0000-0000-000000000000/0
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure DevOps pulumi/pulumi-azuredevops
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azuredevops
Terraform Provider.