ProjectIssue

class ProjectIssue : KotlinCustomResource

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

Properties

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

The IDs of the users to assign the issue to.

Link copied to clipboard
val authorId: Output<Int>

The ID of the author of the issue. Use gitlab.User data source to get more information about the user.

Link copied to clipboard
val closedAt: Output<String>

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

Link copied to clipboard
val closedByUserId: Output<Int>

The ID of the user that closed the issue. Use gitlab.User data source to get more information about the user.

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

Set an issue to be confidential.

Link copied to clipboard
val createdAt: Output<String>

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>?

Whether the issue is deleted instead of closed during destroy.

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

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

Link copied to clipboard

Whether the issue is locked for discussions or not.

Link copied to clipboard

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 downvotes: Output<Int>

The number of downvotes the issue has received.

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

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

Link copied to clipboard
val epicId: Output<Int>

ID of the epic to add the issue to. Valid values are greater than or equal to 0.

Link copied to clipboard
val epicIssueId: Output<Int>

The ID of the epic issue.

Link copied to clipboard
val externalId: Output<String>

The external ID of the issue.

Link copied to clipboard

The human-readable time estimate of the issue.

Link copied to clipboard

The human-readable total time spent of the issue.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val iid: Output<Int>

The internal ID of the project's issue.

Link copied to clipboard
val issueId: Output<Int>

The instance-wide ID of the issue.

Link copied to clipboard
val issueLinkId: Output<Int>

The ID of the issue link.

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

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

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

The labels of an issue.

Link copied to clipboard
val links: Output<Map<String, String>>

The links of the issue.

Link copied to clipboard
val mergeRequestsCount: Output<Int>

The number of merge requests associated with the 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>?

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 movedToId: Output<Int>

The ID of the issue that was moved to.

Link copied to clipboard
val project: Output<String>

The name or ID of the project.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val references: Output<Map<String, String>>

The references of the issue.

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

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

Link copied to clipboard
val subscribed: Output<Boolean>

Whether the authenticated user is subscribed to the issue or not.

Link copied to clipboard

The task completion status. It's always a one element list.

Link copied to clipboard
val timeEstimate: Output<Int>

The time estimate of the issue.

Link copied to clipboard
val title: Output<String>

The title of the issue.

Link copied to clipboard
val totalTimeSpent: Output<Int>

The total time spent of the issue.

Link copied to clipboard
val updatedAt: Output<String>

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

Link copied to clipboard
val upvotes: Output<Int>

The number of upvotes the issue has received.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val userNotesCount: Output<Int>

The number of user notes on the issue.

Link copied to clipboard
val webUrl: Output<String>

The web URL of the issue.

Link copied to clipboard
val weight: Output<Int>

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