{ "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" } ] } ] }