wakatime-client v2.7.0
wakatime-client
A NodeJS
client for the WakaTime
API.
Installation
npm install wakatime-client --save
API
- Create Instance Using API Key
getUser
getMe
getTeams
getMyTeams
getUserAgents
getMyUserAgents
getTeamMembers
getMyTeamMembers
getTeamMemberSummary
getMyTeamMemberSummary
getUserSummary
getMySummary
getUserStats
getMyStats
getProjects
getMyProjects
getLeaders
getHeartbeats
getMyHeartbeats
getGoals
getMyGoals
getDurations
getMyDurations
getCommits
getMyCommits
Create Instance Using API Key
import { WakaTimeClient } from 'wakatime-client';
const client = new WakaTimeClient('some api key');
getUser
Get details for user
const userDetails = await client.getUser('some user id');
getMe
Get details for user associated with API key
const myUserDetails = await client.getMe();
getTeams
Get teams for user
const teams = await client.getTeams('some user id');
getMyTeams
Get teams for user associated with API key
const myTeams = await client.getMyTeams();
getUserAgents
Get User Agents
(or plugins) for user
const userAgents = await client.getUserAgents('some user id');
getMyUserAgents
Get User Agents
(or plugins) for user associated with API key
const myUserAgents = await client.getMyUserAgents();
getTeamMembers
Get team members for specified user and team
const teamMembers = await client.getTeamMembers({ userId: 'some user id', teamId: 'some team id' });
getMyTeamMembers
Get team members for user associated with API key and specified team
const myTeamMembers = await client.getMyTeamMembers('some team id');
getTeamMemberSummary
Get summary for team member
Required Parameters
const teamMemberSummary = await client.getTeamMemberSummary({
userId: 'some user id',
teamId: 'some team id',
teamMemberId: 'some team member id',
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
});
With Optional Parameters
const teamMemberSummary = await client.getTeamMemberSummary({
userId: 'some user id',
teamId: 'some team id',
teamMemberId: 'some team member id',
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
projectName: 'some project name',
branchNames: ['some branch', 'some other branch', 'some other other branch'],
});
getMyTeamMemberSummary
Get summary for team member for user associated with API key
Required Parameters
const myTeamMemberSummary = await client.getMyTeamMemberSummary({
teamId: 'some team id',
teamMemberId: 'some team member id',
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
});
With Optional Parameters
const myTeamMemberSummary = await client.getMyTeamMemberSummary({
teamId: 'some team id',
teamMemberId: 'some team member id',
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
projectName: 'some project name',
branchNames: ['some branch', 'some other branch', 'some other other branch'],
});
getUserSummary
Get summary for user
Required Parameters
const summary = await client.getUserSummary({
userId: 'some user id',
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
})
With Optional Parameters
const summary = await client.getUserSummary({
userId: 'some user id',
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
projectName: 'some project name',
branchNames: ['some branch', 'some other branch', 'some other other branch'],
})
getMySummary
Get summary for user associated with API key
Required Parameters
const summary = await client.getMySummary({
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
})
With Optional Parameters
const summary = await client.getMySummary({
dateRange: {
startDate: 'some start date',
endDate: 'some end date',
},
projectName: 'some project name',
branchNames: ['some branch', 'some other branch', 'some other other branch'],
})
getUserStats
Get stats for user
Required Parameters
import { RANGE } from 'wakatime-client';
// I assume you have instantiated the client
const stats = await client.getUserStats({
userId: 'some user id',
range: RANGE.PAST_7_DAYS,
});
With Optional Parameters
import { RANGE } from 'wakatime-client';
// I assume you have instantiated the client
const stats = await client.getUserStats({
userId: 'some user id',
range: RANGE.PAST_7_DAYS,
timeout: 'some timeout',
useWritesOnly: true,
projectName: 'some project name',
});
getMyStats
Get stats for user associated with API key
Required Parameters
import { RANGE } from 'wakatime-client';
// I assume you have instantiated the client
const myStats = await client.getMyStats({ range: RANGE.PAST_7_DAYS });
With Optional Parameters
import { RANGE } from 'wakatime-client';
// I assume you have instantiated the client
const myStats = await client.getMyStats({
range: RANGE.PAST_7_DAYS,
timeout: 'some timeout',
useWritesOnly: true,
projectName: 'some project name',
});
getProjects
Get projects for user
const projects = await client.getProjects('some user id');
getMyProjects
Get projects for user associated with API key
const myProjects = await client.getMyProjects();
getLeaders
Get Leaders
Leaders, regardless of language
const leaders = await client.getLeaders();
JavaScript Leaders on Page 2
const leaders = await client.getLeaders({ language: 'JavaScript', pageNumber: 2 });
getHeartbeats
Get heartbeats for user on a specified date
const heartbeats = await client.getHeartbeats({ userId: 'some user id', date: 'some date' });
getMyHeartbeats
Get heartbeats for user associated with API key on a specified date
const myHeartbeats = await client.getMyHeartbeats('some date');
getGoals
Get goals for user
const goals = await client.getGoals('some user id');
getMyGoals
Get goals for user associated with API key
const myGoals = await client.getMyGoals();
getDurations
Get durations for user
Required Parameters
const durations = await client.getDurations({ userId: 'some user id', date: 'some date' });
With Optional Parameters
const durations = await client.getDurations({
userId: 'some user id',
date: 'some date',
projectName: 'some project name',
branchNames: ['some branch', 'some other branch', 'some other other branch'],
});
getMyDurations
Get durations for user associated with API key
Required Parameters
const myDurations = await client.getMyDurations({ date: 'some date' });
With Optional Parameters
const myDurations = await client.getMyDurations({
date: 'some date',
projectName: 'some project name',
branchNames: ['some branch', 'some other branch', 'some other other branch'],
});
getCommits
Get commits for user
Required Parameters
const commits = await client.getCommits({
userId: 'some user id',
projectName: 'some project name',
});
With Optional Parameters
const commits = await client.getCommits({
userId: 'some user id',
projectName: 'some project name',
authorName: 'jaebaebae',
pageNumber: 2,
});
getMyCommits
Get commits for user associated with API key
Required Parameters
const myCommits = await client.getMyCommits({ projectName: 'some project name' });
With Optional Parameters
const myCommits = await client.getMyCommits({
projectName: 'some project name',
authorName: 'jaebaebae',
pageNumber: 2,
});