import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties, } from 'n8n-workflow'; export class GithubApi implements ICredentialType { name = 'githubApi'; displayName = 'GitHub API'; documentationUrl = 'github'; properties: INodeProperties[] = [ { displayName: 'Github Server', name: 'server', type: 'string', default: 'https://api.github.com', description: 'The server to connect to. Only has to be set if Github Enterprise is used.', }, { displayName: 'User', name: 'user', type: 'string', default: '', }, { displayName: 'Access Token', name: 'accessToken', type: 'string', typeOptions: { password: true }, default: '', }, ]; authenticate: IAuthenticateGeneric = { type: 'generic', properties: { headers: { Authorization: '=token {{$credentials?.accessToken}}', }, }, }; test: ICredentialTestRequest = { request: { baseURL: '={{$credentials?.server}}', url: '/user', method: 'GET', }, }; }