748 lines
18 KiB
JSON
748 lines
18 KiB
JSON
{
|
|
"name": "Github",
|
|
"key": "github",
|
|
"iconUrl": "{BASE_URL}/apps/github/assets/favicon.svg",
|
|
"docUrl": "https://automatisch.io/docs/github",
|
|
"primaryColor": "000000",
|
|
"supportsConnections": true,
|
|
"fields": [
|
|
{
|
|
"key": "oAuthRedirectUrl",
|
|
"label": "OAuth Redirect URL",
|
|
"type": "string",
|
|
"required": true,
|
|
"readOnly": true,
|
|
"value": "{WEB_APP_URL}/app/github/connections/add",
|
|
"placeholder": null,
|
|
"description": "When asked to input an OAuth callback or redirect URL in Github OAuth, enter the URL above.",
|
|
"docUrl": "https://automatisch.io/docs/github#oauth-redirect-url",
|
|
"clickToCopy": true
|
|
},
|
|
{
|
|
"key": "consumerKey",
|
|
"label": "Client ID",
|
|
"type": "string",
|
|
"required": true,
|
|
"readOnly": false,
|
|
"value": null,
|
|
"placeholder": null,
|
|
"description": null,
|
|
"docUrl": "https://automatisch.io/docs/github#client-id",
|
|
"clickToCopy": false
|
|
},
|
|
{
|
|
"key": "consumerSecret",
|
|
"label": "Client Secret",
|
|
"type": "string",
|
|
"required": true,
|
|
"readOnly": false,
|
|
"value": null,
|
|
"placeholder": null,
|
|
"description": null,
|
|
"docUrl": "https://automatisch.io/docs/github#client-secret",
|
|
"clickToCopy": false
|
|
}
|
|
],
|
|
"authenticationSteps": [
|
|
{
|
|
"step": 1,
|
|
"type": "mutation",
|
|
"name": "createConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "{key}"
|
|
},
|
|
{
|
|
"name": "formattedData",
|
|
"value": null,
|
|
"properties": [
|
|
{
|
|
"name": "consumerKey",
|
|
"value": "{fields.consumerKey}"
|
|
},
|
|
{
|
|
"name": "consumerSecret",
|
|
"value": "{fields.consumerSecret}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 2,
|
|
"type": "mutation",
|
|
"name": "createAuthData",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{createConnection.id}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 3,
|
|
"type": "openWithPopup",
|
|
"name": "openAuthPopup",
|
|
"arguments": [
|
|
{
|
|
"name": "url",
|
|
"value": "{createAuthData.url}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 4,
|
|
"type": "mutation",
|
|
"name": "updateConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{createConnection.id}"
|
|
},
|
|
{
|
|
"name": "formattedData",
|
|
"value": null,
|
|
"properties": [
|
|
{
|
|
"name": "oauthVerifier",
|
|
"value": "{openAuthPopup.code}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 5,
|
|
"type": "mutation",
|
|
"name": "verifyConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{createConnection.id}"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"reconnectionSteps": [
|
|
{
|
|
"step": 1,
|
|
"type": "mutation",
|
|
"name": "resetConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{connection.id}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 2,
|
|
"type": "mutation",
|
|
"name": "updateConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{connection.id}"
|
|
},
|
|
{
|
|
"name": "formattedData",
|
|
"value": null,
|
|
"properties": [
|
|
{
|
|
"name": "consumerKey",
|
|
"value": "{fields.consumerKey}"
|
|
},
|
|
{
|
|
"name": "consumerSecret",
|
|
"value": "{fields.consumerSecret}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 3,
|
|
"type": "mutation",
|
|
"name": "createAuthData",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{connection.id}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 4,
|
|
"type": "openWithPopup",
|
|
"name": "openAuthPopup",
|
|
"arguments": [
|
|
{
|
|
"name": "url",
|
|
"value": "{createAuthData.url}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 5,
|
|
"type": "mutation",
|
|
"name": "updateConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{connection.id}"
|
|
},
|
|
{
|
|
"name": "formattedData",
|
|
"value": null,
|
|
"properties": [
|
|
{
|
|
"name": "oauthVerifier",
|
|
"value": "{openAuthPopup.code}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step": 6,
|
|
"type": "mutation",
|
|
"name": "verifyConnection",
|
|
"arguments": [
|
|
{
|
|
"name": "id",
|
|
"value": "{connection.id}"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"triggers": [
|
|
{
|
|
"name": "New repository",
|
|
"key": "newRepository",
|
|
"description": "Triggers when a new repository is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New organization",
|
|
"key": "newOrganization",
|
|
"description": "Triggers when a new organization is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New branch",
|
|
"key": "newBranch",
|
|
"description": "Triggers when a new branch is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New notification",
|
|
"key": "newNotification",
|
|
"description": "Triggers when a new notification is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": false,
|
|
"variables": false,
|
|
"description": "If blank, we will retrieve all notifications.",
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New pull request",
|
|
"key": "newPullRequest",
|
|
"description": "Triggers when a new pull request is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New watcher",
|
|
"key": "newWatcher",
|
|
"description": "Triggers when a new watcher is added to a repo",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New milestone",
|
|
"key": "newMilestone",
|
|
"description": "Triggers when a new milestone is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New commit comment",
|
|
"key": "newCommitComment",
|
|
"description": "Triggers when a new commit comment is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New label",
|
|
"key": "newLabel",
|
|
"description": "Triggers when a new label is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New collaborator",
|
|
"key": "newCollaborator",
|
|
"description": "Triggers when a new collaborator is added to a repo",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New release",
|
|
"key": "newRelease",
|
|
"description": "Triggers when a new release is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New commit",
|
|
"key": "newCommit",
|
|
"description": "Triggers when a new commit is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": true,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"label": "Head",
|
|
"key": "head",
|
|
"type": "dropdown",
|
|
"description": "Branch to pull commits from. If unspecified, will use the repository's default branch (usually main or develop).",
|
|
"required": false,
|
|
"variables": false,
|
|
"dependsOn": ["parameters.repo"],
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listBranches"
|
|
},
|
|
{
|
|
"name": "parameters.repo",
|
|
"value": "{parameters.repo}"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "New issue",
|
|
"key": "newIssue",
|
|
"description": "Triggers when a new issue is created",
|
|
"substeps": [
|
|
{
|
|
"key": "chooseConnection",
|
|
"name": "Choose connection"
|
|
},
|
|
{
|
|
"key": "chooseTrigger",
|
|
"name": "Set up a trigger",
|
|
"arguments": [
|
|
{
|
|
"label": "Repo",
|
|
"key": "repo",
|
|
"type": "dropdown",
|
|
"required": false,
|
|
"variables": false,
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listRepos"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"label": "Which types of issues should this trigger on?",
|
|
"key": "issueType",
|
|
"type": "dropdown",
|
|
"description": "Defaults to any issue you can see.",
|
|
"required": true,
|
|
"variables": false,
|
|
"value": "all",
|
|
"options": [
|
|
{
|
|
"label": "Any issue you can see",
|
|
"value": "all"
|
|
},
|
|
{
|
|
"label": "Only issues assigned to you",
|
|
"value": "assigned"
|
|
},
|
|
{
|
|
"label": "Only issues created by you",
|
|
"value": "created"
|
|
},
|
|
{
|
|
"label": "Only issues you're mentioned in",
|
|
"value": "mentioned"
|
|
},
|
|
{
|
|
"label": "Only issues you're subscribed to",
|
|
"value": "subscribed"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Label",
|
|
"key": "label",
|
|
"type": "dropdown",
|
|
"description": "Only trigger on issues when this label is added.",
|
|
"required": false,
|
|
"variables": false,
|
|
"dependsOn": ["parameters.repo"],
|
|
"source": {
|
|
"type": "query",
|
|
"name": "getData",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"value": "listLabels"
|
|
},
|
|
{
|
|
"name": "parameters.repo",
|
|
"value": "{parameters.repo}"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"key": "testStep",
|
|
"name": "Test trigger"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|