Automating a conference submission workflow: integrating the solution

Registering a Trello webhook

  1. An API key, which is unique per account. The fun part is, it cannot be reset. Don’t leak it, or you’ll be sorry!
  2. A token, which is should be generated for each application. To generate a token, follow instructions on the relevant page. Required parameters are the following:
  • The scopes: read, write, etc.
  • The application name
  • An expiration date
  • The board’s ID. In order to get it, append .json at the end of the board's URL to display its JSON representation. The ID is among the first few parameters:
  1. Finally, send a POST request similar to the following:

Preparing for the webhook

fun routes(runtimeService: RuntimeService) = router {
val handler = TriggerHandler(runtimeService)
POST ("/trigger", handler :: post)
HEAD ("/trigger", handler :: head)
}
class TriggerHandler(private val runtimeService: RuntimeService) {
fun post(request: ServerRequest): ServerResponse {
// Starts the workflow instance
}
fun head(request: ServerRequest) = ServerResponse.ok().build()
}

Google permissions

Creating a Google service account

  1. Go to the service account page in the Google Cloud console
  2. Create or select a project
  3. Fill in the required fields
  4. Select the newly-created account, click on Edit and then on Create Key. Download the key and store it in an safe place, as it contains the credentials necessary to authenticate oneself as the created service account.

Configuring permissions

  1. First, one should give the project permissions to use the API. In the context of the project the service account was created in, open the left menu. Go to . Select Google Calendar API, and in the opening page, click on Enable. Repeat for Google Calendar API.
  2. Then, one should give delegation access to one’s own calendar. In Calendar, locate the menu:My calendars list, then click on the associated menu, and on Settings and sharing. Find the section, and add the service account with access level Manage changes to events.
    For Google Sheets, share the document with the service account.
  3. If the option is grayed out, it means the domain administrator didn’t allow it. If you’re the administrator of your own domain, go to the Google administration console. Then, click on . Click on Sharing settings. Select , and Share all information, and outsiders can change calendars. This allows to give accounts outside the organization — such as service accounts — write access.

Conclusion

--

--

--

Dev Advocate for Apache APISIX. Former developer and architect. Still teaching, learning and blogging.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

The First Signs of Alcoholic Liver Damage Are Not in the Liver

Codewars Shortest Word

Cloud agnostic secure delivery of a website on Akamai Edge Platform using Terraform — PART I

HackTheLib: an analysis of the first two years

An Overview: Functions

Internationalization on a Flutter app

Three ‘laws’ governing changes to scrum

Create AWS EC2 instance with SSH access via GitHub CI/CD Actions and Terraform Cloud.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nicolas Fränkel

Nicolas Fränkel

Dev Advocate for Apache APISIX. Former developer and architect. Still teaching, learning and blogging.

More from Medium

Designing and implementing a multi-cloud architecture

Why Every Company Needs DevOps

Implementing the Indexes Element for Your Quick App

Application Security Ain’t Complicated

User Inputs