filter
default

Find commits that match the specified query.

Changed on
post/filter/commits

Request

Request body

accountinteger required

Session account ID.

date_fromstring date required

Commits must be made later than or equal to this date.

date_tostring date required

Commits must be made earlier than or equal to this date.

timezoneinteger

Local time zone offset in minutes, used to adjust date_from and date_to.

inRepositoryID[] required

Set of repositories. An empty list raises a bad response 400. Duplicates are automatically ignored.

with_authorDeveloperID[]

A set of developers. An empty list disables the filter and includes everybody. Duplicates are automatically ignored.

with_committerDeveloperID[]

A set of developers. An empty list disables the filter and includes everybody. Duplicates are automatically ignored.

property'bypassing_prs' | 'everything' | 'no_pr_merges' required

Main trait of the commits - the core of the filter.

  • bypassing_prs: select commits that were pushed without creating a PR
  • everything: select all the commits matched by the filters
  • no_pr_merges: select all the commits but PR merges by noreply@github.com
only_default_branchboolean

Consider only commits that are accessible from the head of the default branch. For example, if your workflow includes PR-ing feature branches, you rebase and merge them and don't delete afterward, bypassing_prs will report the commits in those feature branches unless you set only_default_branch to true.

Example request

{
  "account": 1,
  "date_from": "2020-01-23",
  "date_to": "2020-05-23",
  "in": [
    "{1}",
    "github.com/athenianco/athenian-webapp"
  ],
  "property": "bypassing_prs"
}

Response

Commits that satisfy the specified filters grouped by date.

Example response

{
  "include": {
    "users": {
      "github.com/gkwillie": {
        "avatar": "https://avatars0.githubusercontent.com/u/60340680?v=4"
      }
    }
  },
  "data": [
    {
      "repository": "github.com/athenianco/athenian-api",
      "hash": "79f0bccb856b35ef08ec93da2ff5585da4d2e50e",
      "author": {
        "login": "github.com/gkwillie",
        "name": "Groundskeeper Willie",
        "email": "bot@athenian.co",
        "timestamp": "2020-02-25T14:27:21Z",
        "timezone": 1
      },
      "committer": {
        "login": "github.com/gkwillie",
        "name": "Groundskeeper Willie",
        "email": "bot@athenian.co",
        "timestamp": "2020-02-25T14:27:21Z",
        "timezone": 1
      },
      "message": "Bump version: 0.0.42 → 0.0.43",
      "size_added": 1,
      "size_removed": 1,
      "files_changed": 1
    },
    {
      "repository": "github.com/athenianco/athenian-api",
      "hash": "0d13a3e021fe4219915ba97ea07e465e429a621f",
      "author": {
        "login": "github.com/gkwillie",
        "name": "Groundskeeper Willie",
        "email": "bot@athenian.co",
        "timestamp": "2020-03-20T10:06:49Z",
        "timezone": 1
      },
      "committer": {
        "login": "github.com/gkwillie",
        "name": "Groundskeeper Willie",
        "email": "bot@athenian.co",
        "timestamp": "2020-03-20T10:06:49Z",
        "timezone": 1
      },
      "message": "Bump version: 0.0.78 → 0.0.79",
      "size_added": 1,
      "size_removed": 1,
      "files_changed": 1
    }
  ]
}

Changes

    • breaking

      the /////// response property's maxLength was unset from 100 for the response status

    • breaking

      the /////// response property's minLength was decreased from 1 to 0 for the response status

    • info

      the /////// response's property pattern ^([^'\s]| ){1,100}$ was added for the status