2.7.0 • Published 3 years ago

wakatime-client v2.7.0

Weekly downloads
2,547
License
MIT
Repository
github
Last release
3 years ago

Greenkeeper badge Build Status npm npm

wakatime-client

A NodeJS client for the WakaTime API.

Installation

npm install wakatime-client --save

API

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,
});
2.7.0

3 years ago

2.6.0

4 years ago

2.5.0

4 years ago

2.4.0

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.4

4 years ago

2.0.3

5 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago