credentials/YouTrackWebhookAuthApi.credentials.ts (53 lines of code) (raw):
import type {
ICredentialType,
INodeProperties,
} from 'n8n-workflow';
export class YouTrackWebhookAuthApi implements ICredentialType {
name = 'youTrackWebhookAuthApi';
displayName = 'YouTrack Webhook Trigger App API';
// eslint-disable-next-line n8n-nodes-base/cred-class-field-documentation-url-miscased
documentationUrl = 'https://www.jetbrains.com/help/youtrack/devportal/youtrack-rest-api.html';
properties: INodeProperties[] = [
{
displayName: 'Authentication Method',
name: 'authMethod',
type: 'options',
options: [
{
name: 'Header Auth',
value: 'headerAuth',
description: 'Authenticate using a custom header',
}
],
default: 'headerAuth',
description: 'The authentication method to use for webhook validation',
},
{
displayName: 'Header Name',
name: 'headerName',
type: 'string',
displayOptions: {
show: {
authMethod: ['headerAuth'],
},
},
default: 'X-YouTrack-Signature',
description: 'The name of the header that contains the authentication token',
required: true,
},
{
displayName: 'Authentication Token',
name: 'authToken',
type: 'string',
typeOptions: {
password: true,
},
default: '',
description: 'The secret token used to authenticate incoming webhooks. Generate a random secure token and configure it in your YouTrack app.',
required: true,
placeholder: 'e.g. my-secret-webhook-token-12345',
},
];
authenticate = undefined;
test = undefined;
icon = 'file:../../common/youtrack-logo.svg' as const;
}