ProjectIssueArgs

data class ProjectIssueArgs(val assigneeIds: Output<List<Int>>? = null, val confidential: Output<Boolean>? = null, val createdAt: Output<String>? = null, val deleteOnDestroy: Output<Boolean>? = null, val description: Output<String>? = null, val discussionLocked: Output<Boolean>? = null, val discussionToResolve: Output<String>? = null, val dueDate: Output<String>? = null, val epicIssueId: Output<Int>? = null, val iid: Output<Int>? = null, val issueType: Output<String>? = null, val labels: Output<List<String>>? = null, val mergeRequestToResolveDiscussionsOf: Output<Int>? = null, val milestoneId: Output<Int>? = null, val project: Output<String>? = null, val state: Output<String>? = null, val title: Output<String>? = null, val updatedAt: Output<String>? = null, val weight: Output<Int>? = null) : ConvertibleToJava<ProjectIssueArgs>

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const foo = new gitlab.Project("foo", {
name: "example project",
description: "Lorem Ipsum",
visibilityLevel: "public",
});
const welcomeIssue = new gitlab.ProjectIssue("welcome_issue", {
project: foo.id,
title: "Welcome!",
description: pulumi.interpolate` Welcome to the ${foo.name} project!
`,
discussionLocked: true,
});
export const welcomeIssueWebUrl = webUrl;
import pulumi
import pulumi_gitlab as gitlab
foo = gitlab.Project("foo",
name="example project",
description="Lorem Ipsum",
visibility_level="public")
welcome_issue = gitlab.ProjectIssue("welcome_issue",
project=foo.id,
title="Welcome!",
description=foo.name.apply(lambda name: f""" Welcome to the {name} project!
"""),
discussion_locked=True)
pulumi.export("welcomeIssueWebUrl", web_url)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var foo = new GitLab.Project("foo", new()
{
Name = "example project",
Description = "Lorem Ipsum",
VisibilityLevel = "public",
});
var welcomeIssue = new GitLab.ProjectIssue("welcome_issue", new()
{
Project = foo.Id,
Title = "Welcome!",
Description = foo.Name.Apply(name => @$" Welcome to the {name} project!
"),
DiscussionLocked = true,
});
return new Dictionary<string, object?>
{
["welcomeIssueWebUrl"] = webUrl,
};
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-gitlab/sdk/v8/go/gitlab"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
foo, err := gitlab.NewProject(ctx, "foo", &gitlab.ProjectArgs{
Name: pulumi.String("example project"),
Description: pulumi.String("Lorem Ipsum"),
VisibilityLevel: pulumi.String("public"),
})
if err != nil {
return err
}
_, err = gitlab.NewProjectIssue(ctx, "welcome_issue", &gitlab.ProjectIssueArgs{
Project: foo.ID(),
Title: pulumi.String("Welcome!"),
Description: foo.Name.ApplyT(func(name string) (string, error) {
return fmt.Sprintf(" Welcome to the %v project!\n\n", name), nil
}).(pulumi.StringOutput),
DiscussionLocked: pulumi.Bool(true),
})
if err != nil {
return err
}
ctx.Export("welcomeIssueWebUrl", webUrl)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gitlab.Project;
import com.pulumi.gitlab.ProjectArgs;
import com.pulumi.gitlab.ProjectIssue;
import com.pulumi.gitlab.ProjectIssueArgs;
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 foo = new Project("foo", ProjectArgs.builder()
.name("example project")
.description("Lorem Ipsum")
.visibilityLevel("public")
.build());
var welcomeIssue = new ProjectIssue("welcomeIssue", ProjectIssueArgs.builder()
.project(foo.id())
.title("Welcome!")
.description(foo.name().applyValue(name -> """
Welcome to the %s project!
", name)))
.discussionLocked(true)
.build());
ctx.export("welcomeIssueWebUrl", webUrl);
}
}
resources:
foo:
type: gitlab:Project
properties:
name: example project
description: Lorem Ipsum
visibilityLevel: public
welcomeIssue:
type: gitlab:ProjectIssue
name: welcome_issue
properties:
project: ${foo.id}
title: Welcome!
description: |2+
Welcome to the ${foo.name} project!
discussionLocked: true
outputs:
welcomeIssueWebUrl: ${webUrl}

Import

Starting in Terraform v1.5.0 you can use an import block to import gitlab_project_issue. For example: terraform import { to = gitlab_project_issue.example id = "see CLI command below for ID" } Import using the CLI is supported using the following syntax: You can import this resource with an id made up of {project-id}:{issue-id}, e.g.

$ pulumi import gitlab:index/projectIssue:ProjectIssue welcome_issue 42:1

Constructors

Link copied to clipboard
constructor(assigneeIds: Output<List<Int>>? = null, confidential: Output<Boolean>? = null, createdAt: Output<String>? = null, deleteOnDestroy: Output<Boolean>? = null, description: Output<String>? = null, discussionLocked: Output<Boolean>? = null, discussionToResolve: Output<String>? = null, dueDate: Output<String>? = null, epicIssueId: Output<Int>? = null, iid: Output<Int>? = null, issueType: Output<String>? = null, labels: Output<List<String>>? = null, mergeRequestToResolveDiscussionsOf: Output<Int>? = null, milestoneId: Output<Int>? = null, project: Output<String>? = null, state: Output<String>? = null, title: Output<String>? = null, updatedAt: Output<String>? = null, weight: Output<Int>? = null)

Properties

Link copied to clipboard
val assigneeIds: Output<List<Int>>? = null

The IDs of the users to assign the issue to.

Link copied to clipboard
val confidential: Output<Boolean>? = null

Set an issue to be confidential.

Link copied to clipboard
val createdAt: Output<String>? = null

When the issue was created. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z. Requires administrator or project/group owner rights.

Link copied to clipboard
val deleteOnDestroy: Output<Boolean>? = null

Whether the issue is deleted instead of closed during destroy.

Link copied to clipboard
val description: Output<String>? = null

The description of an issue. Limited to 1,048,576 characters.

Link copied to clipboard
val discussionLocked: Output<Boolean>? = null

Whether the issue is locked for discussions or not.

Link copied to clipboard
val discussionToResolve: Output<String>? = null

The ID of a discussion to resolve. This fills out the issue with a default description and mark the discussion as resolved. Use in combination with mergerequesttoresolvediscussions_of.

Link copied to clipboard
val dueDate: Output<String>? = null

The due date. Date time string in the format YYYY-MM-DD, for example 2016-03-11.

Link copied to clipboard
val epicIssueId: Output<Int>? = null

The ID of the epic issue.

Link copied to clipboard
val iid: Output<Int>? = null

The internal ID of the project's issue.

Link copied to clipboard
val issueType: Output<String>? = null

The type of issue. Valid values are: issue, incident, test_case.

Link copied to clipboard
val labels: Output<List<String>>? = null

The labels of an issue.

Link copied to clipboard

The IID of a merge request in which to resolve all issues. This fills out the issue with a default description and mark all discussions as resolved. When passing a description or title, these values take precedence over the default values.

Link copied to clipboard
val milestoneId: Output<Int>? = null

The global ID of a milestone to assign issue. To find the milestone_id associated with a milestone, view an issue with the milestone assigned and use the API to retrieve the issue's details.

Link copied to clipboard
val project: Output<String>? = null

The name or ID of the project.

Link copied to clipboard
val state: Output<String>? = null

The state of the issue. Valid values are: opened, closed.

Link copied to clipboard
val title: Output<String>? = null

The title of the issue.

Link copied to clipboard
val updatedAt: Output<String>? = null

When the issue was updated. Date time string, ISO 8601 formatted, for example 2016-03-11T03:45:40Z.

Link copied to clipboard
val weight: Output<Int>? = null

The weight of the issue. Valid values are greater than or equal to 0.

Functions

Link copied to clipboard
open override fun toJava(): ProjectIssueArgs