Modular webhooks, JSON examples

Commit (SVN)

{
  "trigger": "commit",
  "payload": {
    "type": "SubversionCommit",
    "id": 42,
    "message": "Commit message.",
    "branch": null,
    "author": {
      "name": "user",
      "email": "user@example.org"
    },
    "beanstalk_user": {
      "type": "Owner",
      "id": 42,
      "login": "username",
      "email": "user@example.org",
      "name": "Name Surname"
    },
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "SubversionRepository"
    },
    "changed_files": {
      "added": [
        "trunk/USAGE.md"
      ],
      "deleted": [],
      "modified": [
        "trunk/README"
      ],
      "copied": []
    },
    "changed_dirs": {
      "added": [
        "trunk/test"
      ],
      "deleted": [],
      "modified": [],
      "copied": []
    },
    "changeset_url": "https://subdomain.beanstalkapp.com/repository-name/changesets/42",
    "committed_at": "2014/08/18 14:36:42 +0000"
  }
}

Push (Git)

{
  "trigger": "push",
  "payload": {
    "type": "GitPush",
    "before": "xxxxxxxx",
    "after": "yyyyyyyy",
    "branch": "branch-name",
    "ref": "refs/heads/branch-name",
    "repository": {
      "id": 42,
      "name": "repo",
      "title": "repo",
      "type": "GitRepository"
    },
    "beanstalk_user": {
      "type": "Owner",
      "id": 42,
      "login": "username",
      "email": "user@example.org",
      "name": "Name Surname"
    },
    "commits": [
      {
        "type": "GitCommit",
        "id": "ffffffff",
        "message": "Important changes.",
        "branch": "branch-name",
        "author": {
          "name": "Name Surname",
          "email": "user@example.org"
        },
        "beanstalk_user": {
          "type": "Owner",
          "id": 42,
          "login": "username",
          "email": "user@example.org",
          "name": "Name Surname"
        },
        "changed_files": {
          "added": [
            "NEWFILE"
          ],
          "deleted": [
            "Gemfile"
          ],
          "modified": [
            "README.md"
          ],
          "copied": [
          ]
        },
        "changeset_url": "https://subdomain.beanstalkapp.com/repository-name/changesets/ffffffff",
        "committed_at": "2014/08/18 13:30:29 +0000",
        "parents": [
          "afafafaf"
        ]
      }
    ]
  }
}

Comment (SVN)

{
  "trigger": "comment",
  "payload": {
    "type": "Comment",
    "id": 42,
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "SubversionRepository"
    },
    "author": {
      "type": "Owner",
      "id": 42,
      "login": "username",
      "email": "user@example.org",
      "name": "Name Surname"
    },
    "origin": {
      "type": "Changeset",
      "revision": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "file_path": null,
      "line_num_left": null,
      "line_num_right": null
    },
    "body": "Comment text.",
    "rendered_body": "<p>Comment text.</p>\n",
    "created_at": "2014/08/18 20:22:17 +0000"
  }
}

Comment (Git)

{
  "trigger": "comment",
  "payload": {
    "type": "Comment",
    "id": 42,
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "GitRepository"
    },
    "author": {
      "type": "Owner",
      "id": 42,
      "login": "username",
      "email": "user@example.org",
      "name": "Name Surname"
    },
    "origin": {
      "type": "Changeset",
      "revision": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "file_path": null,
      "line_num_left": null,
      "line_num_right": null
    },
    "body": "Comment text.",
    "rendered_body": "<p>Comment text.</p>\n",
    "created_at": "2014/08/18 21:26:54 +0000"
  }
}

deploy (SVN)

{
  "trigger": "deploy",
  "payload": {
    "type": "Deployment",
    "id": 42,
    "state": "failed",
    "deployed_at": null,
    "comment": "Deployment description.",
    "deploy_from_scratch": false,
    "retries": 0,
    "revision": "42",
    "user": {
      "type": "Owner",
      "id": 42,
      "login": "username",
      "email": "user@example.org",
      "name": "Name Surname"
    },
    "environment": {
      "type": "DeploymentEnvironment",
      "id": 42,
      "name": "env",
      "automatic": false,
      "servers": [
        {
          "type": "Server",
          "id": 42,
          "name": "Server Name",
          "protocol": "heroku",
          "remote_path": "/",
          "repository_path": "/trunk"
        }
      ]
    },
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "SubversionRepository"
    }
  }
}

deploy (Git)

{
  "trigger": "deploy",
  "payload": {
    "type": "Deployment",
    "id": 42,
    "state": "success",
    "deployed_at": "2014/08/18 23:54:43 +0000",
    "comment": "Deployment description.",
    "deploy_from_scratch": false,
    "retries": 0,
    "revision": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "user": {
      "type": "Owner",
      "id": 42,
      "login": "username",
      "email": "user@example.org",
      "name": "Name Surname"
    },
    "environment": {
      "type": "DeploymentEnvironment",
      "id": 42,
      "name": "prod",
      "branch": "master",
      "automatic": false,
      "servers": [
        {
          "type": "Server",
          "id": 42,
          "name": "server-name",
          "protocol": "shell",
          "remote_path": "~/",
          "repository_path": "/"
        }
      ]
    },
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "GitRepository"
    }
  }
}

create_branch (SVN)

{
  "trigger": "create_branch",
  "payload": {
    "type": "SubversionBranch",
    "repository": {
      "id": 931,
      "name": "repository-name",
      "title": "Repository Name",
      "type": "SubversionRepository"
    },
    "path": "branches/branch-name/",
    "name": "branch-name"
  }
}

create_branch (Git)

{
  "trigger": "create_branch",
  "payload": {
    "type": "GitBranch",
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Name",
      "type": "GitRepository"
    },
    "path": "refs/heads/branch-name",
    "name": "branch-name"
  }
}

delete_branch (SVN)

{
  "trigger": "delete_branch",
  "payload": {
    "type": "SubversionBranch",
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "SubversionRepository"
    },
    "path": "branches/branch-name/",
    "name": "branch-name"
  }
}

delete_branch (Git)

{
  "trigger": "delete_branch",
  "payload": {
    "type": "GitBranch",
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "GitRepository"
    },
    "path": "refs/heads/feature",
    "name": "feature"
  }
}

create_tag (SVN)

{
  "trigger": "create_tag",
  "payload": {
    "type": "SubversionTag",
    "repository": {
      "id": 931,
      "name": "repository-name",
      "title": "Repository Name",
      "type": "SubversionRepository"
    },
    "path": "tags/tag-name/",
    "name": "tag-name"
  }
}

create_tag (Git)

{
  "trigger": "create_tag",
  "payload": {
    "type": "GitTag",
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Name",
      "type": "GitRepository"
    },
    "path": "refs/tags/tag-name",
    "name": "tag-name"
  }
}

delete_tag (SVN)

{
  "trigger": "delete_tag",
  "payload": {
    "type": "SubversionTag",
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "SubversionRepository"
    },
    "path": "tags/tag-name",
    "name": "tag-name"
  }
}

delete_tag (Git)

{
  "trigger": "delete_tag",
  "payload": {
    "type": "GitTag",
    "repository": {
      "id": 42,
      "name": "repository-name",
      "title": "Repository Title",
      "type": "GitRepository"
    },
    "path": "refs/tags/tag-name",
    "name": "tag-name"
  }
}

request_code_review (Git)

{
  "trigger": "request_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 925,
    "event": "create",
    "created_at": "2015-01-13 15:28:39 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 12,
      "name": "git-repo",
      "title": "Awesome Git Repo",
      "type": "GitRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 14,
      "source_branch": "master",
      "target_branch": "fix-all-the-things",
      "description": "Awesome branch that fixes everything",
      "state": "new"
    }
  }
}

request_code_review (SVN)

{
  "trigger": "request_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 925,
    "event": "create",
    "created_at": "2015-01-13 15:28:39 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 12,
      "name": "svn-repo",
      "title": "Awesome SVN repo",
      "type": "SubversionRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 14,
      "source_branch": "trunk",
      "target_branch": "branches/fix-all-the-things",
      "description": "Awesome branch that fixes everything",
      "state": "new"
    }
  }
}

cancel_code_review (Git)

{
  "trigger": "cancel_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 930,
    "event": "cancel",
    "created_at": "2015-01-13 15:47:05 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 15,
      "name": "git-repo",
      "title": "git-repo",
      "type": "GitRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 15,
      "source_branch": "master",
      "target_branch": "branch-1",
      "description": "test",
      "state": "cancelled"
    }
  }
}

cancel_code_review (SVN)

{
  "trigger": "cancel_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 930,
    "event": "cancel",
    "created_at": "2015-01-13 15:47:05 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 15,
      "name": "svn-repo",
      "title": "svn-repo",
      "type": "SubversionRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 15,
      "source_branch": "trunk",
      "target_branch": "branches/branch-1",
      "description": "test",
      "state": "cancelled"
    }
  }
}

reopen_code_review (Git)

{
  "trigger": "reopen_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 929,
    "event": "reopen",
    "created_at": "2015-01-13 15:47:04 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 15,
      "name": "git-repo",
      "title": "git-repo",
      "type": "GitRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 15,
      "source_branch": "master",
      "target_branch": "branch-1",
      "description": "test",
      "state": "cancelled"
    }
  }
}

reopen_code_review (SVN)

{
  "trigger": "reopen_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 929,
    "event": "reopen",
    "created_at": "2015-01-13 15:47:04 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 15,
      "name": "svn-repo",
      "title": "svn-repo",
      "type": "SubversionRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 15,
      "source_branch": "trunk",
      "target_branch": "branches/branch-1",
      "description": "test",
      "state": "cancelled"
    }
  }
}

approve_code_review (Git)

{
  "trigger": "approve_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 928,
    "event": "approve",
    "created_at": "2015-01-13 15:44:13 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 15,
      "name": "git-repo",
      "title": "git-repo",
      "type": "GitRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 15,
      "source_branch": "master",
      "target_branch": "branch-1",
      "description": "test",
      "state": "approved"
    }
  }
}

approve_code_review (SVN)

{
  "trigger": "approve_code_review",
  "payload": {
    "type": "CodeReviewEvent",
    "id": 928,
    "event": "approve",
    "created_at": "2015-01-13 15:44:13 UTC",
    "user": {
      "type": "Owner",
      "id": 1,
      "login": "ilya",
      "email": "ilya@example.com",
      "name": "Ilya Sabanin"
    },
    "repository": {
      "id": 15,
      "name": "svn-repo",
      "title": "svn-repo",
      "type": "SubversionRepository"
    },
    "code_review": {
      "type": "CodeReview",
      "id": 15,
      "source_branch": "trunk",
      "target_branch": "branches/branch-1",
      "description": "test",
      "state": "approved"
    }
  }
}

Still need help? Contact Us Contact Us