UNPKG

@pulumi/azuredevops

Version:

A Pulumi package for creating and managing Azure DevOps.

181 lines 7.92 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkitemtrackingprocessGroup = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Manages a group within a page and section for a work item type. * * ## Example Usage * * ### Basic Group * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuredevops from "@pulumi/azuredevops"; * * const example = new azuredevops.WorkitemtrackingprocessProcess("example", { * name: "example-process", * parentProcessTypeId: "adcc42ab-9882-485e-a3ed-7678f01f66bc", * }); * const exampleWorkitemtrackingprocessWorkitemtype = new azuredevops.WorkitemtrackingprocessWorkitemtype("example", { * processId: example.id, * name: "example", * description: "Example work item type", * color: "#FF5733", * icon: "icon_clipboard", * }); * const exampleWorkitemtrackingprocessGroup = new azuredevops.WorkitemtrackingprocessGroup("example", { * processId: example.id, * workItemTypeReferenceName: exampleWorkitemtrackingprocessWorkitemtype.referenceName, * pageId: exampleWorkitemtrackingprocessWorkitemtype.pages.apply(pages => pages[0].id), * sectionId: exampleWorkitemtrackingprocessWorkitemtype.pages.apply(pages => pages[0].sections?.[0]?.id), * label: "Custom Group", * }); * ``` * * ### Group with Controls * * This example creates a group with multiple controls, including an HTML field control (System.Description) which can only be added when creating the group. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuredevops from "@pulumi/azuredevops"; * * const example = new azuredevops.WorkitemtrackingprocessGroup("example", { * processId: exampleAzuredevopsWorkitemtrackingprocessProcess.id, * workItemTypeReferenceName: exampleAzuredevopsWorkitemtrackingprocessWorkitemtype.referenceName, * pageId: exampleAzuredevopsWorkitemtrackingprocessWorkitemtype.pages[0].id, * sectionId: exampleAzuredevopsWorkitemtrackingprocessWorkitemtype.pages[0].sections[0].id, * label: "Details Group", * controls: [ * { * id: "System.Description", * label: "Description", * }, * { * id: "System.Title", * label: "Title", * }, * ], * }); * ``` * * ### Group with Contribution Control (Extension) * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuredevops from "@pulumi/azuredevops"; * * const multivalue = new azuredevops.Extension("multivalue", { * publisherId: "ms-devlabs", * extensionId: "vsts-extensions-multivalue-control", * }); * const example = new azuredevops.WorkitemtrackingprocessGroup("example", { * processId: exampleAzuredevopsWorkitemtrackingprocessProcess.id, * workItemTypeReferenceName: exampleAzuredevopsWorkitemtrackingprocessWorkitemtype.referenceName, * pageId: exampleAzuredevopsWorkitemtrackingprocessWorkitemtype.pages[0].id, * sectionId: exampleAzuredevopsWorkitemtrackingprocessWorkitemtype.pages[0].sections[0].id, * label: "Extension Group", * controls: [{ * id: "ms-devlabs.vsts-extensions-multivalue-control.multivalue-form-control", * isContribution: true, * contribution: { * contributionId: "ms-devlabs.vsts-extensions-multivalue-control.multivalue-form-control", * height: 50, * inputs: { * FieldName: "System.Tags", * Values: "Option1;Option2;Option3", * }, * }, * }], * }, { * dependsOn: [multivalue], * }); * ``` * * ## Relevant Links * * - [Azure DevOps Service REST API 7.1 - Groups](https://learn.microsoft.com/en-us/rest/api/azure/devops/processes/groups?view=azure-devops-rest-7.1) * * ## Import * * Groups can be imported using the complete resource id `process_id/work_item_type_reference_name/page_id/section_id/group_id`, e.g. * * ```sh * $ pulumi import azuredevops:index/workitemtrackingprocessGroup:WorkitemtrackingprocessGroup example 00000000-0000-0000-0000-000000000000/MyProcess.CustomWorkItemType/page-id/section-id/group-id * ``` */ class WorkitemtrackingprocessGroup extends pulumi.CustomResource { /** * Get an existing WorkitemtrackingprocessGroup resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, state, opts) { return new WorkitemtrackingprocessGroup(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of WorkitemtrackingprocessGroup. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === WorkitemtrackingprocessGroup.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["controls"] = state?.controls; resourceInputs["label"] = state?.label; resourceInputs["order"] = state?.order; resourceInputs["pageId"] = state?.pageId; resourceInputs["processId"] = state?.processId; resourceInputs["sectionId"] = state?.sectionId; resourceInputs["visible"] = state?.visible; resourceInputs["workItemTypeReferenceName"] = state?.workItemTypeReferenceName; } else { const args = argsOrState; if (args?.label === undefined && !opts.urn) { throw new Error("Missing required property 'label'"); } if (args?.pageId === undefined && !opts.urn) { throw new Error("Missing required property 'pageId'"); } if (args?.processId === undefined && !opts.urn) { throw new Error("Missing required property 'processId'"); } if (args?.sectionId === undefined && !opts.urn) { throw new Error("Missing required property 'sectionId'"); } if (args?.workItemTypeReferenceName === undefined && !opts.urn) { throw new Error("Missing required property 'workItemTypeReferenceName'"); } resourceInputs["controls"] = args?.controls; resourceInputs["label"] = args?.label; resourceInputs["order"] = args?.order; resourceInputs["pageId"] = args?.pageId; resourceInputs["processId"] = args?.processId; resourceInputs["sectionId"] = args?.sectionId; resourceInputs["visible"] = args?.visible; resourceInputs["workItemTypeReferenceName"] = args?.workItemTypeReferenceName; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(WorkitemtrackingprocessGroup.__pulumiType, name, resourceInputs, opts); } } exports.WorkitemtrackingprocessGroup = WorkitemtrackingprocessGroup; /** @internal */ WorkitemtrackingprocessGroup.__pulumiType = 'azuredevops:index/workitemtrackingprocessGroup:WorkitemtrackingprocessGroup'; //# sourceMappingURL=workitemtrackingprocessGroup.js.map