wakatime-client v2.7.0
wakatime-client
A NodeJS client for the WakaTime API.
Installation
npm install wakatime-client --saveAPI
- Create Instance Using API Key
getUsergetMegetTeamsgetMyTeamsgetUserAgentsgetMyUserAgentsgetTeamMembersgetMyTeamMembersgetTeamMemberSummarygetMyTeamMemberSummarygetUserSummarygetMySummarygetUserStatsgetMyStatsgetProjectsgetMyProjectsgetLeadersgetHeartbeatsgetMyHeartbeatsgetGoalsgetMyGoalsgetDurationsgetMyDurationsgetCommitsgetMyCommits
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,
});