action lgtm_add_project { label: "Add a project to LGTM" description: "LGTM administrators can add a new project to LGTM by providing a repository URL. By default, LGTM tries to build and analyze the project in the same way as for projects added through the user interface. If at least one language is successfully analyzed, and the repository doesn't already exist on LGTM, a new project is created. If the project already exists but your API call triggers a successful analysis of additional languages, LGTM adds those languages to the project.\n\nYou can configure how LGTM processes the project using query parameters to:\n * Specify the languages to analyze.\n * Create a new project in [sparse mode](https://help.semmle.com/lgtm-enterprise/user/help/analysis-faqs.html#what-is-sparse-analysis).\n * Create a new project in [upload mode](https://help.semmle.com/lgtm-enterprise/user/help/analysis-faqs.html#what-is-upload-analysis) to analyze externally-generated databases. Each database represents a snapshot of the codebase. \n Use this option when you want to upload databases that were generated by the CodeQL CLI (or the QL command-line tools).\n The version of the command line used to generate the database\n must be the same version as LGTM Enterprise. \n\nWith any of these options, you can also include an `lgtm.yml` in the body of the request to [customize extraction](https://lgtm.com/help/lgtm/customizing-code-extraction).\n" provider: lgtm method: POST path: "/projects" encoding: json input: { type: "object" properties: { commit: { type: "string" } date: { type: "string" format: "date-time" } language: { type: "array" items: { type: "string" } } mode: { type: "string" enum: ["full", "sparse", "upload"] } repository: { type: "string" format: "uri" } "worker-label": { type: "array" items: { type: "string" } } } required: ["repository"] additionalProperties: false } output: { type: "object" required: ["task-type"] properties: { id: { type: "integer" format: "int64" description: "The identifier for the operation." } status: { type: "string" description: "Status of the operation." enum: ["pending", "done"] } "task-result": { type: "object" } "task-result-url": { type: "string" description: "The URL for the result of the task. For some operations, included only on completion." } "task-type": { type: "string" enum: ["analysis", "codereview", "queryjob"] } uploads: { type: "object" } } } }