Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#2590: Add missing gitlab trigger event types #2591

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 65 additions & 41 deletions packages/nodes-base/nodes/Gitlab/GitlabTrigger.node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,69 @@ import {
gitlabApiRequest,
} from './GenericFunctions';

const GITLAB_EVENTS = [
{
name: 'Comment',
value: 'note',
description: 'Triggered when a new comment is made on commits, merge requests, issues, and code snippets.',
},
{
name: 'Confidential Issues',
value: 'confidential_issues',
description: 'Triggered on confidential issues\' events.',
},
{
name: 'Confidential Comments',
value: 'confidential_note',
description: 'Triggered when a confidential comment is made.',
},
{
name: 'Deployments',
value: 'deployment',
description: 'Triggered when a deployment starts/succeeds/fails/is cancelled.',
},
{
name: 'Issue',
value: 'issues',
description: 'Triggered when a new issue is created or an existing issue was updated/closed/reopened.',
},
{
name: 'Job',
value: 'job',
description: 'Triggered on status change of a job.',
},
{
name: 'Merge Request',
value: 'merge_requests',
description: 'Triggered when a new merge request is created, an existing merge request was updated/merged/closed or a commit is added in the source branch.',
},
{
name: 'Pipeline',
value: 'pipeline',
description: 'Triggered on status change of Pipeline.',
},
{
name: 'Push',
value: 'push',
description: 'Triggered when you push to the repository except when pushing tags.',
},
{
name: 'Release',
value: 'releases',
description: 'Release events are triggered when a release is created or updated.',
},
{
name: 'Tag',
value: 'tag_push',
description: 'Triggered when you create (or delete) tags to the repository.',
},
{
name: 'Wiki Page',
value: 'wiki_page',
description: 'Triggered when a wiki page is created, updated or deleted.',
},
];

export class GitlabTrigger implements INodeType {
description: INodeTypeDescription = {
displayName: 'GitLab Trigger',
Expand Down Expand Up @@ -104,51 +167,12 @@ export class GitlabTrigger implements INodeType {
name: 'events',
type: 'multiOptions',
options: [
...GITLAB_EVENTS,
{
name: '*',
value: '*',
description: 'Any time any event is triggered (Wildcard Event).',
},
{
name: 'Comment',
value: 'note',
description: 'Triggered when a new comment is made on commits, merge requests, issues, and code snippets.',
},
{
name: 'Issue',
value: 'issues',
description: 'Triggered when a new issue is created or an existing issue was updated/closed/reopened.',
},
{
name: 'Job',
value: 'job',
description: 'Triggered on status change of a job.',
},
{
name: 'Merge Request',
value: 'merge_requests',
description: 'Triggered when a new merge request is created, an existing merge request was updated/merged/closed or a commit is added in the source branch.',
},
{
name: 'Pipeline',
value: 'pipeline',
description: 'Triggered on status change of Pipeline.',
},
{
name: 'Push',
value: 'push',
description: 'Triggered when you push to the repository except when pushing tags.',
},
{
name: 'Tag',
value: 'tag_push',
description: 'Triggered when you create (or delete) tags to the repository.',
},
{
name: 'Wiki Page',
value: 'wiki_page',
description: 'Triggered when a wiki page is created, updated or deleted.',
},
],
required: true,
default: [],
Expand Down Expand Up @@ -206,7 +230,7 @@ export class GitlabTrigger implements INodeType {

let eventsArray = this.getNodeParameter('events', []) as string[];
if (eventsArray.includes('*')) {
eventsArray = ['note', 'issues', 'job', 'merge_requests', 'pipeline', 'push', 'tag_push', 'wiki_page'];
eventsArray = GITLAB_EVENTS.map(e => e.value);
}

const events: { [key: string]: boolean } = {};
Expand Down