All Posts By

prestonscibek

Application Program Interface: The Hidden Brain behind your Application

By Development3 Comments
You have a genius idea. You map your brilliant plan, create a beautiful design, and hire a developer or two to build out your site. Your application looks amazing! Here is a typical and simple web architecture.

screen-shot-2017-07-24-at-3-23-30-pm
As you release your first version of the product, a potential customer  says, “Hey, how can I integrate with your application?” or “Will this work with Salesforce?” Now you realize you have no way of manipulating data behind the scenes.  You can’t integrate other services quickly or let customers embed your services in their application. You missed the key component, your Application Program Interface (API).

In a well-architected application, the API is the brain of your application. It is hidden but remains crucial to the success of your product. It lets many different users, companies, and applications use your platform securely.

screen-shot-2017-07-24-at-3-25-30-pmWhat is It?

An API is a software-to-software interface, not a user interface. It is for this reason that no one ever talks about APIs. Users might never know an API exists, but without it, your system is not flexible enough to meet more modern requirements.

What Does it Do?

The API is a middle layer between the user interface and the database. Like the brain of the application, it contains the business logic. Are you logging on to a site? The API ensures your credentials are valid. Purchasing an item? The API determines if the item is available, if you have the necessary funds, and it will adjust the values after the purchase. Here is an example:

api-photo
Prefer videos? Check out this youtube video from MuleSoft Videos. We highly recommend it!

How does this pertain to me?

As a product owner, it is important that you know that your API serves as highly scalable and flexible communication point that lets the world interact with your product. This flexibility enables you to scale your development teams, improve performance, and most importantly, provide your organization with additional revenue streams.

Need help establishing an API in your application? Don’t hesitate to email us at info@bytelion.com

 

Tracking Late Tickets On JIRA + Slack

By Tips & Tutorials, ToolsNo Comments

Sprints are short for a reason. With that said, it is easy for tickets to pile up in the testing column. Actually, tickets can pile up in any JIRA column quite easily. If the QA team is small, this is even more likely to happen. A simple daily report/scrum can help avoid the chaos of a crowded JIRA column.

Reasons For Monitoring JIRA Columns

  • Allows the QA team to test the tickets that have been ready to test the longest.
  • Shows the Product Owner what is ready for approval.
  • Allows the team to see what is in progress.

With a simple Python script, it is easy to post into Slack the tickets in any column on the JIRA board. The report is easy to modify, and can include many features. Utilizing AWS Lambda, and the Bytelion sample code, https://github.com/Bytelion/JiraChecker/blob/master/how_long_ticket_been_ready_to_test.py, will provide a very easy report setup.

 

How To Setup The JIRA Monitor

Download the sample code, and then replace the values found inside the curly braces {}, with the string you desire. Example: {your team name here}.atlassian.net changes to bytelion.atlassian.net

  1. First, create a Slack webhook integration. If one does not already exist, visit our first article on integrating Slack. Then, see step 1 of that article to learn how.
  2. Then, set up an AWS Lambda, and then paste the modified sample code into said lambda.
  3. Finally, using AWS CloudWatch, create a daily schedule for when the report should be run.

Sample Features

  • How long has the ticket been there.
  • Who moved the ticket.
  • What is blocking that ticket.

Integrating Basecamp 2 and Slack

By AWS, Tips & Tutorials

In the world of software development, it is hard to keep track of everything and everyone. This is especially with many teams having remote developers. Two popular tools to help keep teams synced, are Slack and Basecamp. Slack allows teams to quickly chat and share files. Basecamp helps with longer chats, as well as providing a calendar feature. Because Slack is the goto software, most team members will always have Slack open. While Basecamp provides the ability to email the team, not everyone checks messages these messages. Additionally, checking the Basecamp calendar every day to see who is out can be annoying. The solution: Integrate Slack with Basecamp. This is rather simple to do, and results in a message being posted to Slack. The message contains absences for today and tomorrow.

Steps:

  1. Create a Slack Webhook
    1. Goto https://yourslackteamname.slack.com/apps/A0F7XDUAZ-incoming-webhooks and install the app.
    2. Once installed go back to the same url if not already there, and select “Add Configuration”.
    3. Under “Choose a channel”, select any channel, and then select “Add incoming webhooks integration”.
    4. Note the url under “webhook url”, you will need this later.
  2. Gather Your Basecamp 2 ID, and Project ID
    1. Go to main page of your Basecamp project: usually https://basecamp.com/12345/projects/6789
    2. The first set of numbers is your Basecamp 2 ID and the second set is your Project ID. These values will be needed later.
  3. Generate an Auth token for Basecamp
    1. Using Postman “GET” the following URL: https://basecamp.com/Basecamp 2 ID/api/v1/projects.json
    2. Under Authorization select “Type: Basic Auth” and enter your username and password
    3. Run the Query, then under Request Headers copy the value under “Authorization: Basic ValueToCopy”
  4. Create a AWS Lambda function, and paste the code found in https://github.com/bytelion/basecamp_to_slack/blob/master/lambda_function.py
  5. In the code replace the following:
    1. YourEmailHere with Your Email
    2. YourAuthHere with the value copied from step 3
    3. YourBaseCampIDHere with Basecamp 2 Id from step 2
    4. YourBaseCampProjectIdHere with Project ID from step 2
    5. YourSlackHookURLHere with the webhook url found in step 1
    6. @YourNameHere with @ your slack name
    7. #YourChannelHere with #the channel you want the notification posted in
  6. Configure a Cloudwatch scheduled event to trigger your lambda function at the time you want to receive the slack message

Basecamp message format:

  • Post needs the following in the title: the word “out” in any case, and either mm/dd or m/d.
  • Examples:
    • JOE OUT | 07/07
    • Steve out | 07/07
    • Smith out | 7/7
    • John will be out on 7/7
  • If the post is on the calendar then no specification is need in the title.
  • For absences spanning multiple days.
    • Post the message on the calendar.
    • Put each specific day in the message title.