Fork me on GitHub

MavensMate projects have the following structure:

/myproject
    /apex-scripts
    /config
        .settings
        .org_metadata
    /debug
        /checkpoints
        /logs
    /src

new_project

Creates a new project in the directory specified in the plugin's mm_workspace setting. For example: /Users/username/workspaces/mavensmate/myproject

{
    "project_name"  : "myproject",
    "username"      : "[email protected]",
    "password"      : "foo123"
    "package"       : [
        "ApexClass"     : "*",
        "ApexComponent" : ["MyComponent1", "MyComponent2"]
    ]
}       

edit_project

Modifies the contents of the project

{
    "project_name"  : "myproject",
    "package"       : [
        "ApexClass"     : "*",
        "ApexComponent" : ["MyComponent1", "MyComponent2"]
    ]
}       

compile_project

Sends the entire project for compilation to the server

Request

{
    "project_name"  : "myproject"
}       

Response

{
  "Messages": [
    {
      "changed": false,
      "created": false,
      "deleted": false,
      "fileName": "unpackaged/classes/BES_addAttachmentsController.cls",
      "fullName": "BES_addAttachmentsController",
      "problem": "Page CommunitiesSelfRegConfirm does not exist",
      "problemType": "Error",
      "success": false
    }
  ],
  "id": "09Sd0000000MvQCEA0",
  "runTestResult": {
    "numFailures": "0",
    "numTestsRun": "0",
    "totalTime": "0.0"
  },
  "success": false
}

clean_project

Reverts a project to server state based on package.xml

Request

{
    "project_name"  : "myproject"
}       

Response

{
    "body"      : "Project Cleaned Successfully",
    "body_type" : "text",
    "success"   : true,
    "time"      : "11.677914142608643"
}

index_metadata

Indexes project metadata to .org_metadata file

Request

{
    "project_name"  : "myproject"
}       

Response

{   
    "body"      : "Project metadata indexed successfully",
    "body_type" : "text",
    "success"   : true,
    "time"      : "21.63456678390503"
}

update_credentials

Updates Salesforce.com credentials associated to a project.

Request

{
    "project_name"  : "myproject",
    "username"      : "[email protected]",
    "password"      : "password123",
    "org_type"      : "developer"
}       

Response

{
    "body"      : "Your credentials were updated successfully",
    "body_type" : "text",
    "success"   : true,
    "time"      : "7.218096017837524"
}