with Odoo and Semgrep?
Returns a list of findings for a specified deployment. See the documentation
Returns a list of projects for a given deployment slug. See the documentation
import xmlrpc from 'xmlrpc';
export default defineComponent({
props: {
odoo: {
type: "app",
app: "odoo",
}
},
async run({ steps, $ }) {
const url = this.odoo.$auth.server_url;
const db = this.odoo.$auth.db;
const username = this.odoo.$auth.username;
const password = this.odoo.$auth.password;
// Create clients for common and object endpoints
const common = xmlrpc.createSecureClient(`${url}/xmlrpc/2/common`);
const models = xmlrpc.createSecureClient(`${url}/xmlrpc/2/object`);
// Using async/await with promises
async function getFields() {
try {
// Authenticate and get uid
const uid = await new Promise((resolve, reject) => {
common.methodCall('authenticate', [db, username, password, {}], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
// Get fields
const results = await new Promise((resolve, reject) => {
models.methodCall('execute_kw', [
db,
uid,
password,
'res.partner',
'fields_get',
[],
{ 'attributes': ['string', 'help', 'type'] }
], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
return results;
} catch (error) {
throw new Error(error);
}
}
return await getFields();
},
})
The Semgrep API enables developers to integrate powerful static code analysis within their workflows on Pipedream. Semgrep scans codebases for bugs, security issues, and code standards, making it a vital tool for maintaining code quality. On Pipedream, you can automate code reviews, enforce coding standards, and trigger alerts or actions based on scan results. By connecting Semgrep to Pipedream, you can streamline your CI/CD pipelines, notify teams of critical issues, and even auto-fix problems under certain conditions.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
semgrep: {
type: "app",
app: "semgrep",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://semgrep.dev/api/v1/deployments`,
headers: {
Authorization: `Bearer ${this.semgrep.$auth.api_token}`,
},
})
},
})