Project Issue Args
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const foo = new gitlab.Project("foo", {
description: "Lorem Ipsum",
visibilityLevel: "public",
});
const welcomeIssue = new gitlab.ProjectIssue("welcomeIssue", {
project: foo.id,
title: "Welcome!",
description: pulumi.interpolate` Welcome to the ${foo.name} project!
`,
discussionLocked: true,
});
export const welcomeIssueWebUrl = data.gitlab_project_issue.web_url;
import pulumi
import pulumi_gitlab as gitlab
foo = gitlab.Project("foo",
description="Lorem Ipsum",
visibility_level="public")
welcome_issue = gitlab.ProjectIssue("welcomeIssue",
project=foo.id,
title="Welcome!",
description=foo.name.apply(lambda name: f""" Welcome to the {name} project!
"""),
discussion_locked=True)
pulumi.export("welcomeIssueWebUrl", data["gitlab_project_issue"]["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()
{
Description = "Lorem Ipsum",
VisibilityLevel = "public",
});
var welcomeIssue = new GitLab.ProjectIssue("welcomeIssue", new()
{
Project = foo.Id,
Title = "Welcome!",
Description = foo.Name.Apply(name => @$" Welcome to the {name} project!
"),
DiscussionLocked = true,
});
return new Dictionary<string, object?>
{
["welcomeIssueWebUrl"] = data.Gitlab_project_issue.Web_url,
};
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-gitlab/sdk/v6/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{
Description: pulumi.String("Lorem Ipsum"),
VisibilityLevel: pulumi.String("public"),
})
if err != nil {
return err
}
_, err = gitlab.NewProjectIssue(ctx, "welcomeIssue", &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", data.Gitlab_project_issue.Web_url)
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()
.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", data.gitlab_project_issue().web_url());
}
}
resources:
foo:
type: gitlab:Project
properties:
description: Lorem Ipsum
visibilityLevel: public
welcomeIssue:
type: gitlab:ProjectIssue
properties:
project: ${foo.id}
title: Welcome!
description: |2+
Welcome to the ${foo.name} project!
discussionLocked: true
outputs:
welcomeIssueWebUrl: ${data.gitlab_project_issue.web_url}
Import
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
Properties
The IDs of the users to assign the issue to.
Set an issue to be confidential.
Whether the issue is deleted instead of closed during destroy.
The description of an issue. Limited to 1,048,576 characters.
Whether the issue is locked for discussions or not.
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.
The ID of the epic issue.
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.
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.