Linkish

All in one bookmarking manager

Integrate the Linkish API with the GitHub API

Setup the Linkish API trigger to run a workflow which integrates with the GitHub API. Pipedream's integration platform allows you to integrate Linkish and GitHub remarkably fast. Free for developers.

New Branch (Instant) from the GitHub API

Emit new events when a new branch is created

 
Try it
New Card in Column (Classic Projects) from the GitHub API

Emit new event when a (classic) project card is created or moved to a specific column. For Projects V2 use New Issue with Status trigger. More information here

 
Try it
New Collaborator (Instant) from the GitHub API

Emit new events when collaborators are added to a repo

 
Try it
New Commit (Instant) from the GitHub API

Emit new events on new commits to a repo or branch

 
Try it
New Commit Comment (Instant) from the GitHub API

Emit new events on new commit comments

 
Try it
Create Issue with the GitHub API

Create a new issue in a Gihub repo. See docs here

 
Try it
Search Issues and Pull Requests with the GitHub API

Find issues and pull requests by state and keyword. See docs here

 
Try it
Create Issue Comment with the GitHub API

Create a new comment in a issue. See docs here

 
Try it
Get Issue Assignees with the GitHub API

Get assignees for an issue in a Gihub repo. See docs here

 
Try it
Get Repository with the GitHub API

Get specific repository. See docs here

 
Try it

Connect Linkish

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
module.exports = defineComponent({
  props: {
    linkish: {
      type: "app",
      app: "linkish",
    }
  },
  async run({steps, $}) {
    const axios = require('axios');
    let access_token = "";
    
    // Card details
    let type = "link", // either "link" or "text"
    		url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ", // required if "type" is "link"
    		title = "", // card title, if empty it will be scraped from "url"
    		description = "", // card description, if empty it will be scraped from "url"
    		thumbnail = "", // preview image URL, if empty it will be scraped from "url"
    		parent = "", // collections[index].id recieved from get-collection API
    		tags = []; // an array of strings, items can also have comma separated strings
    
    // Get access token based on the linkish API key
    return await axios({
    	method  : "POST", 
    	url: "https://api.linkish.io/get-token",
    	data : JSON.stringify({
    		"api_key": this.linkish.$auth.api_key
    	}),
    	headers: {
    		"Content-Type": "application/json",
    		"Accept": "application/json",
    	}
    }).then(async (response) => {
    
    	// Get collections based on the access token
    	access_token = response.data.token;
    	return await axios({
    		method  : "GET",
    		url: "https://api.linkish.io/get-collections",
    		headers: {
    			"Authorization": `Bearer ${access_token}`,
    		}
    	})
    
    }).then((response) => {
    
    	// Return the data as the step export
    	return response.data;
    
    }).then(async (collections) => {
    
    	// Change parent collection ID here or keep it empty for adding links to root collection
    	parent = collections[0].id;
    
    	// Save link in linkish dashboard
    	return await axios({
    		method  : "POST",
    		url: "https://api.linkish.io/save-link",
    		data : JSON.stringify({
    			"type": type,
    			"url": url,
    			"title": title,
    			"desc": description,
    			"thumbnail": thumbnail,
    			"parent": parent,
    			"tags": tags,
    		}),
    		headers: {
    			"Authorization": `Bearer ${access_token}`,
    			"Content-Type": "application/json",
    			"Accept": "application/json",
    		}
    	})
    
    }).then((response) => {
    
    	// Return the data as the step export
    	return response.data
    
    })
  },
})

Connect GitHub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    github: {
      type: "app",
      app: "github",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.github.com/user`,
      headers: {
        Authorization: `Bearer ${this.github.$auth.oauth_access_token}`,
      },
    })
  },
})