Integration Mattermost
The gitlab.IntegrationMattermost
resource allows to manage the lifecycle of a project integration with Mattermost. Upstream API: GitLab REST API docs
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";
const awesomeProject = new gitlab.Project("awesome_project", {
name: "awesome_project",
description: "My awesome project.",
visibilityLevel: "public",
});
const mattermost = new gitlab.IntegrationMattermost("mattermost", {
project: awesomeProject.id,
webhook: "https://webhook.com",
username: "myuser",
pushEvents: true,
pushChannel: "push_chan",
});
import pulumi
import pulumi_gitlab as gitlab
awesome_project = gitlab.Project("awesome_project",
name="awesome_project",
description="My awesome project.",
visibility_level="public")
mattermost = gitlab.IntegrationMattermost("mattermost",
project=awesome_project.id,
webhook="https://webhook.com",
username="myuser",
push_events=True,
push_channel="push_chan")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using GitLab = Pulumi.GitLab;
return await Deployment.RunAsync(() =>
{
var awesomeProject = new GitLab.Project("awesome_project", new()
{
Name = "awesome_project",
Description = "My awesome project.",
VisibilityLevel = "public",
});
var mattermost = new GitLab.IntegrationMattermost("mattermost", new()
{
Project = awesomeProject.Id,
Webhook = "https://webhook.com",
Username = "myuser",
PushEvents = true,
PushChannel = "push_chan",
});
});
package main
import (
"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 {
awesomeProject, err := gitlab.NewProject(ctx, "awesome_project", &gitlab.ProjectArgs{
Name: pulumi.String("awesome_project"),
Description: pulumi.String("My awesome project."),
VisibilityLevel: pulumi.String("public"),
})
if err != nil {
return err
}
_, err = gitlab.NewIntegrationMattermost(ctx, "mattermost", &gitlab.IntegrationMattermostArgs{
Project: awesomeProject.ID(),
Webhook: pulumi.String("https://webhook.com"),
Username: pulumi.String("myuser"),
PushEvents: pulumi.Bool(true),
PushChannel: pulumi.String("push_chan"),
})
if err != nil {
return err
}
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.IntegrationMattermost;
import com.pulumi.gitlab.IntegrationMattermostArgs;
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 awesomeProject = new Project("awesomeProject", ProjectArgs.builder()
.name("awesome_project")
.description("My awesome project.")
.visibilityLevel("public")
.build());
var mattermost = new IntegrationMattermost("mattermost", IntegrationMattermostArgs.builder()
.project(awesomeProject.id())
.webhook("https://webhook.com")
.username("myuser")
.pushEvents(true)
.pushChannel("push_chan")
.build());
}
}
resources:
awesomeProject:
type: gitlab:Project
name: awesome_project
properties:
name: awesome_project
description: My awesome project.
visibilityLevel: public
mattermost:
type: gitlab:IntegrationMattermost
properties:
project: ${awesomeProject.id}
webhook: https://webhook.com
username: myuser
pushEvents: true
pushChannel: push_chan
Import
Starting in Terraform v1.5.0 you can use an import block to import gitlab_integration_mattermost
. For example: terraform import { to = gitlab_integration_mattermost.example id = "see CLI command below for ID" } Import using the CLI is supported using the following syntax: You can import a gitlab_integration_mattermost.mattermost state using the project ID, e.g.
$ pulumi import gitlab:index/integrationMattermost:IntegrationMattermost mattermost 1
Properties
Branches to send notifications for. Valid options are "all", "default", "protected", and "defaultandprotected".
The name of the channel to receive confidential issue events notifications.
Enable notifications for confidential issues events.
The name of the channel to receive confidential note events notifications.
Enable notifications for confidential note events.
The name of the channel to receive issue events notifications.
Enable notifications for issues events.
The name of the channel to receive merge request events notifications.
Enable notifications for merge requests events.
The name of the channel to receive note events notifications.
Enable notifications for note events.
Send notifications for broken pipelines.
The name of the channel to receive pipeline events notifications.
Enable notifications for pipeline events.
The name of the channel to receive push events notifications.
Enable notifications for push events.
The name of the channel to receive tag push events notifications.
Enable notifications for tag push events.
The name of the channel to receive wiki page events notifications.
Enable notifications for wiki page events.