Post to Dev.to Action

Description

Post draft contents on Dev.to.


// setup and request credentials
let credential = Credential.create("Devto", "Enter your Dev.to username and API key.");

credential.addTextField("username", "Username");
credential.addPasswordField("api_key", "Dev.to API Key");
credential.authorize();

const key = credential.getValue("api_key");
const username = credential.getValue("username");

// make post
let endpoint = `https://dev.to/api/articles`;

// configure post details
// for more information, see:
// https://developers.forem.com/api
let data = {"article":
	{
	"title": draft.displayTitle,
	"body_markdown": draft.content,
	"tags": draft.tags,
	"published": "false",
	}
};

// create and post HTTP request
var http = HTTP.create();

var response = http.request({
	"url": endpoint,
	"method": "POST",
	"data": data,
	"headers": {
		"Content-Type": "application/json",
		"api-key": key,
	}
});

Object.keys(response.responseText);

var tadCon = new TadConsole("/Library/Scripts/tadcon.json");

tadCon.TA_addEntry(response.responseText);

tadCon.TA_saveLog();


// log result post URL and copy to clipboard
console.log(response.responseText);
app.setClipboard(response.responseText);
draft.setTemplateTag("devdata", response.responseText);

/*
else {
	console.log("Dev.to Error: " + response.error);
	context.fail();
}
*/