Action

Post to Dev.to

Posted by David Blue, Last update about 2 years ago - Unlisted

Post draft contents on Dev.to.

Steps

  • includeAction

    name
    TAD
  • script

    // 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();
    }
    */
  • insertText

    template
    ```json
    [[devdata]]
    ```

Options

  • After Success Nothing
    Notification Info
    Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.