Full transcript
Start
Intros
1:39Hello.
1:40Oh, hi.
1:41Oh, hi. Hello everyone. Good morning.
1:44Good day. See some people already
1:46uh in the in the starting blocks to
1:50for the live stream to get started.
1:51Yeah, it actually took me a while. I had
1:53a
1:54So, I'm always monitoring live stream
1:55before we get started.
1:57And I forgot to close the tab from
1:58probably yesterday, which was uh the
2:00page. And I could hear the live stream.
2:02It was like, "Where is that coming
2:03from?" So, I had to go through all my
2:04pages and try to find where it was
2:06coming from. But, yeah. We here now.
2:08Um welcome everyone. My name is Arlemi.
2:11I'm a developer advocate at Postman, and
2:13I'm based in London. And I'm here with
2:15uh
2:16Joyce.
2:18A.k.a. petinya_gray on Twitter. If you
2:20want to If you want to follow.
2:22Who are you, Joyce? Hi everyone. I'm
2:25also in developer relations at Postman,
2:26and I'm based in San Francisco. So, it's
2:28really dark here.
2:30It's like virtually
2:32morning night.
2:34What time is it 8:00 a.m. somewhere?
2:37Uh yes, 8:00 a.m. Very good. Let's start
2:40fast, guys. Quit the chit-chat. Let's
2:42get started. Chop, chop.
2:46Um
2:47Well, I have some uh
2:48Oh, wait. I don't need to highlight
2:49them. They're on the side. Uh let's
2:51start fast. Well, um
2:54Compared to other live streams that
2:55we've done, you may have seen the title
2:56of this one, which is deploy, monitor,
2:58and test an API in 10 minutes.
3:00Um so, we'll do
3:02uh
3:03First, we do the usual. We do in case
3:04you missed it, etc. Then, we take 10
3:06minutes,
3:07do or at least try to do what we've uh
3:11what we've
3:12uh said we would do. So, deploy, test,
3:14and uh monitor an API in less than 10
3:16minutes. And then,
3:18uh we'll switch to probably the
3:19giveaway.
3:21And uh just explore some other um
3:25things you can do with Postman. So,
3:27giveaway, if you're not aware of it, let
3:29me just put that here because you still
3:31have some time to do it.
3:33Um if you go on Twitter,
3:36tweet using these hashtags of Postman
3:38favorites. Oh. Um
3:40and you can enter a giveaway that again
3:42we'll do in in about like half an hour.
3:45Um
3:46So, obviously, the reason for this
3:48hashtag is that you need to let us know
3:49what's your like favorite Postman
3:50feature. So, I've seen some uh just like
3:53a few minutes back, which were the
3:54collection runner or like monitors or
3:57code generation, etc.
3:59Um so, yeah.
4:00If you're uh if you're interested in
4:02that, what you can win is the little
4:04bobblehead that you can see behind uh
4:06Joyce on the table. Not the not the big
4:08helmet, the bobblehead.
4:13That one.
4:16It's pretty cool.
4:18So, yeah.
4:19Um
4:21Go ahead, tweet us, and we'll uh we'll
4:23do the giveaway there. But, before
4:25friends are here. There's Try My Lumpia.
4:27There's Willie Gear. So many of our
4:29friends. Yeah.
4:31Some uh
4:32some names I haven't seen in a little
4:34while.
4:35Yeah. Don't don't shame them, Arlemi.
4:37No. It's It's very good. I'm very happy
4:39to see them.
4:40Um so, before we get started, let's do
4:42uh let's do in case you missed it. Let
4:45me share my screen.
4:46missed it. See, we haven't had that in a
ICYMI new releases
4:48while as well.
4:49Well, we've had a lot of new releases,
4:51though.
4:52Yeah. Um
4:54let's do that way so we can see
4:56everything. So,
4:58um
5:00We actually uh saw quite a few things
5:02last week. So, some changes to the
5:03flows, etc.
5:05And uh we talked about the gRPC support
5:07again.
5:08This week um and when I say this week,
5:10it was this morning, there was this new
5:11release.
5:12Um
5:13where you can actually see and we'll
5:15talk about all these integrations today.
5:17Uh all these integrations you can add to
5:18monitor your APIs directly in Postman.
5:20So, what we've done
5:21um is that now directly from the
5:23interface,
5:24uh you can add new integrations uh to
5:27your to your APIs. So, you can do um
5:29analytics, incident and integration and
5:31internal messaging tools directly from
5:33uh that interface. So, that interface
5:35being
5:36uh let me see if I can
5:38find one.
5:42Oof, that is Woah, there was a ton of
5:43like uh tool tools down there.
5:47That That entire tab is um brand new or
5:49the not the tab, but all the different
5:51So, you have to go To find it, you need
5:53to go in the API builder, which is that
5:55little side of Postman on on the on the
5:57left-hand side.
5:58Open an API, then you have uh these
6:01different tabs for documentation, tests,
6:03etc. And in the monitoring tab,
6:05um you have all of these tools. And
6:06yeah, we'll go we'll go through all of
6:08them.
6:09All of them? Not probably all of them.
6:11Some of them. Okay. Um
6:14But, yeah. That's Now, you can integrate
6:15with all this. So, that's the that's the
6:17menus. There's a a couple of bug fixes.
6:18I don't think we need to uh go through
6:20all this. But, in case you faced a
6:22couple bugs with Postman, those they're
6:23probably fixed now. So,
6:25uh there's that as well. Is there
6:27anything else we need to mention? That's
6:29pretty huge. I mean, the last Every week
6:32we do this weekly stream,
6:34there's just been like so much new
6:36stuff.
6:39Is John's work alias here? My light is
6:40changing in a very cool programmatic
6:42fashion. And he's the only one that
6:44changes my light.
6:47Um
6:49I see already some question.
6:51Um
6:53So, something about some new fittings.
6:55So, let's wait and watch. Yeah, that's
6:56It sounds like the the way to do it.
6:57Wait and watch. Uh John's work alias is
6:59over here. Probably changing uh Joyce's
7:01light color.
7:02Thank you.
7:04So, if you're interested in that uh and
7:05if you want to play along, you can check
7:07our previous live streams. Or I think
7:08Joyce, you might have a blog that
7:10explains how to do that.
7:11To change the light? Yeah. Yeah. I'll
7:14drop a link to the workspace. It's
7:15pretty self-explanatory. You just turn
7:17the JSON body to whatever hex code you
7:20want.
7:24Are you going to search?
7:25This one.
7:25Very nice.
7:27If you search for turn on the light in
7:29Joyce's kitchen,
7:31um you'll find
7:33that collection. And I'll drop a link.
7:36And you can just go ahead and uh
7:38And yeah, just change the change the
7:39color of the light. But, yeah. That
7:41being said, uh let's stop sharing my
7:44screen.
What are we doing today?
7:46And I guess get ready for uh get ready
7:50for what we're going to do. So,
7:53What are we going to do? Good news for
7:54me is that I'm not going to do anything,
7:56and Joyce is going to do everything. Um
7:59I
8:00have somehow planned
8:02what I'm planning for her to go through.
8:05Uh but, we'll see how that goes.
8:07The point being, we want to We kind of
8:08want to show um
8:10how it would work to go from just having
8:13an API specification
8:15or an API definition, actually. Uh and
8:18go all the way from
8:20that to having something that is
8:21deployed
8:22that you can test and monitor using
8:24Postman.
8:27In 10 minutes.
8:29Okay.
8:29that sound?
8:30I'm fine. You're the one that's telling
8:32me what to do. Uh you had me log into a
8:34couple systems so I'm not fumbling with
8:36my authentication, but um
8:39I mean, this the pressure's on you, bud.
8:44Well, the I guess it Should I Should I
8:46actually start a
8:48start a timer on my phone?
8:49No. Okay, so here's the thing. People in
8:51the audience, do you want us to go speed
8:53run right off the bat and just do it
8:55and then talk about it later? Or do you
8:57want us to kind of like talk through the
8:58different areas? So, it'd be great um
9:01either way if you want us to
9:04go fast or if you want us to actually
9:05explain what we're doing. Let us know in
9:07the comments. Otherwise, it'll be up to
9:10Arlemi to choose, I suppose.
9:12Okay, so we have a talk-through vote.
9:14That's what we'll be.
9:16Silence. No talking.
9:19No, that's probably that's probably fair
9:20that to we can uh we can talk through
9:22what we want to do. Um to be fair, I'm
9:24going to say it is it is doable in 10
9:26minutes because I only had 10 minutes to
9:28prepare the live stream, and I did. And
9:29I did it in 10 minutes. Uh but, yeah, we
9:31can talk through it. So, let's let's
9:32have Joyce share her screen.
9:35Uh I've seen it done in 20 minutes.
9:37Okay, we we'll do in less than 20
9:38anyway. Um
9:41If you can do it in five rather than 10,
9:43that's a
9:44That's a challenge. I'll do it in five.
9:47Yeah, we'll probably do it
9:47do it three-minute TikTok.
9:50Probably we probably won't be able to do
9:52it to do five. Uh so, I see mostly
9:54people like wanting us to explain.
9:56That's good.
9:57For what?
9:59Just FYI, I'm going to remove the chat
10:01from the screen so you won't be able to
10:02see the messages. I'll see them.
10:06I'm removing them so we can see the the
10:07screen.
10:08My screen, yeah. in
10:10taking the whole space.
10:12Yeah, cuz there's a lot of things to
10:14show. But keep your messages coming. I'm
10:16seeing them. I'll like them.
10:19Like this one which I already like. Even
10:21instant noodles aren't that fast.
Create a GitHub repository
10:24So yeah, cool. All right. So
10:26one thing to get started
10:29is
10:30not Postman. What?
10:32One thing that I asked Joyce to do is to
10:33create a GitHub or to log in to GitHub.
10:37You didn't ask me to do anything.
10:38No, so go on GitHub and that's going to
10:40be actually your starting point. So we
10:42want to
10:43That's a nice profile.
10:44Gosh, my face is huge.
10:46Okay,
10:46you can probably zoom out a bit. Oh, am
10:49I zoomed in that hard? You're pretty
10:51zoomed in, yeah. Oh. Oh, okay, there.
10:53Okay. So we start by creating a repo.
10:58Just an empty repo and we'll use that
10:59for the remainder of the stream. So
11:01let's say you're in the context where
11:02you have you're working with a team. You
11:04might be using GitHub or you might be
11:06using another Git like Bitbucket etc.
11:08So call it um
11:10maybe a live stream live stream demo.
11:14Something like that. And let's just add
11:15a let's just add a read me to it.
11:19Okay, we can make it public. And that's
11:21all we need. We just need a an empty
11:22space and that's what we're going to use
11:23to store our API specification. We'll
11:26use it to our API definition we'll use
11:27it to store our collections etc. And
11:30we're not going to do all that manually.
11:32You'll see later how we're going to
11:33integrate with Postman and it's just
11:34going to take care of all the the back
11:36and forth between the two.
11:37Um that's cool.
11:39Starting point we have a GitHub
11:40repository.
11:42Now let's
11:44let's pull up an API definition. So if
11:47you've seen the title title mentions
11:49deploying monitoring and testing. It
11:51doesn't mention designing. Designing is
11:53probably
11:54Oh, tricky. It's probably where it would
11:55take the longest where you have to
11:57actually write your own definition like
11:59define your your endpoints, security
12:01schemes etc. So let's just take one
12:03that's existing so you can go on the API
Create an OpenAPI specification
12:05network.
12:07Okay. Search for Spacecamp. So we should
12:11have one in Spacecamp.
12:12Um
12:13if you don't know what Spacecamp is it's
12:14like an instructional series that we do.
12:17And if you do for Postman Spacecamp on
12:19Google you can find like plenty of
12:21long video about like introduction for
12:24testers, introduction for developers
12:25etc. Okay. But what we're interested in
12:28is
12:30is the API stub at the left.
12:34There's a couple of things in there.
12:36We could pick either actually but I know
12:39I did mine with the exploratory video so
12:40we can pick that one.
12:45I'll just restart. Google copy paste
12:46change copyright text but yeah.
12:50Just create everything and then
12:52you just have to
12:54just have to give it to someone else.
12:57Okay, which one? Do you want the draft
12:59or the V1 of your API? Let's take the
13:02V1.
13:03So you can open that. Go to the
13:04definition tab. Okay, so I'm it's
13:07version one definition tab. Yeah, so we
13:10have chance to work at this. He's giving
13:11some advices to anyone else who wants to
13:13change the the light behind Joyce.
13:16And we have Yiannis Doukas says hello
13:17everyone. Are you not entertained?
13:21So yeah, so that's a that's an API
13:23definition. Let's copy that actually and
13:26bring it to uh
13:28bring it to your own workspace so you
13:29can You have it copied? Yeah. Yep. So
13:32let's go to your workspace in Postman. I
13:34don't know which one you Should I create
13:36a Can it be public or
13:39Um
13:40it Oh, we might have
13:42work in the public one cuz there's like
13:43integrations and stuff.
13:44Okay, so I'll create a new workspace.
13:50We'll call this one live stream demo. I
13:53don't know why I put the dash in there.
13:54You don't need it.
13:57But yeah.
13:58Okay, and I'll make it I'll make it a
14:00team one. Yep. Okay. Yep.
14:03Okay.
14:04So new workspace, let's add an API in
14:06there.
14:08Okay.
14:11What happens when you see this? Do you
14:13do it or can you see this? This little
14:15toast. I'll just close it. Okay. Yeah, I
14:16usually just close it.
14:18Until one day I'm actually opening
14:19Postman and I don't have anything in my
14:21mind that I can just update it.
14:23Let's give it a version. One, right? V1.
14:26one for example. It it doesn't matter.
14:28It's going to be mostly for you so you
14:29can leave that to default. Was it open
14:31API version three? I didn't remember.
14:34Three?
14:34Yep. YAML? Yep. I clearly did not see
14:37what I was copying and pasting.
14:41Okay, so now I have it here.
14:44Yep.
14:46This is the boilerplate.
14:48I'll hopefully it's still on my
14:49clipboard. Yep, there it is. Whoops.
14:53Nice. Okay, so we have we have that
14:55setting.
14:56So we have our new API definition. It's
14:58in Postman. It's in your new API.
Connect Postman with GitHub repository
15:00Now let's
15:02sync with GitHub, right? Like we created
15:04that GitHub repository.
15:06We might be in a context where other
15:08people are in your team and using that
15:09same repository. So let's go
15:11in the connect repository
15:13tab that you see there.
15:15And you can see there's other ones,
15:16right? They are mentioned you could
15:17connect to other things. We actually
15:18added Azure DevOps recently.
15:19Oh, yeah. That's new.
15:22Yeah, but you it could be GitLab. It
15:23could be Bitbucket. And if you were on
15:25an enterprise plan you would see GitHub
15:27Enterprise,
15:28Bitbucket Server and GitLab Enterprise.
15:31I think it's called.
15:32You'd see some more things but I'm not
15:34on an enterprise team right now so this
15:36is um
15:37Oh, should I just do GitHub? Well
15:39Yeah, let's do this.
15:40So I have a repo already.
15:42I'm leaving. I need to do my
15:44authorization.
15:46I'm authorized. Blah blah blah. Close
15:48the tab and continue. Yep. Okay.
15:52So you can choose which version you want
15:53to sync. You can choose the GitHub
15:56organization. So let's find your live
15:57stream.
15:59I don't remember exactly how you called
16:00it but You called it something. I think
16:03it's live stream demo but it's it's
16:05searching for it. Okay.
16:09Okay, right here.
16:11Cool. So we can use the main branch
16:14as main and we can use the same one for
16:16development. We don't
16:18spend too much
16:18I didn't create another branch. Okay.
16:21So if you were like working in a in a
16:23team with like a proper development
16:24setting you probably have two different
16:25branches.
16:26You'd push your changes to like a
16:30develop branch and then merge to
16:33main etc. Cuz hopefully your team's not
16:35letting you push directly to main.
16:37Okay.
16:39Cool. So collection directory, we're
16:42going to create collections later on to
16:43monitor etc.
16:45So we leave that to default and we let
16:47the we let Postman create a a specific
16:49folder for the collections. Okay. So
16:52yeah, connect repository. All right.
16:56Connected. Blah blah blah. Sync changes
16:58between the connected version and wait
17:00and the repository it said.
17:03Okay. Oh, okay.
17:06You don't push to main.
17:08Fix later, yeah.
17:10So here you can see actually what's
17:12happening. Oops.
17:14Um
17:16your there's nothing the the the main
17:19the remote branch is not in advance.
17:20There's nothing to pull
17:22and you're not
17:24your current setup is not ahead of the
17:27main either. There's zero changes to
17:29pull and zero changes to push. If you
17:31look at your repository on GitHub
17:37and you
17:39Now you can see The new directory? Yeah,
17:42with your schema in there. The
17:44exploratory, nice.
17:46Cool.
17:47Good stuff.
17:49But for now we haven't done anything of
17:50the three things that we said we would
17:52do. That was that was tough. That was
17:53tough.
17:55Um which are deploy, monitor and test.
17:58You keep reading it to see what we're
17:59going I go like wait, what are we
Deploy the API, or
18:01supposed to do? I guess let's deploy cuz
18:03why not? And I know
18:06probably like a month back when we did
18:07live stream we looked at the server side
18:09code and
18:10um There's a you can actually deploy
18:13directly from Postman. So you can see
18:14that deployments tab there. You can you
18:16can click on that. Oh, if we were Yeah,
18:20with the AWS API Gateway.
18:21Um
18:23I tried that.
18:25There's a few reasons for which I do not
18:26want to do it now because it's in the
18:29AWS account that we share with the rest
18:31of Postman.
18:32And I'd rather not like
18:34share any of these tokens.
18:36Um so let's do differently. We'll just
18:38publish on our own end. But just so you
18:40know, you could deploy to AWS through
18:42here.
18:43We've actually released a a new version
18:45of that couple of weeks back. So if you
18:47look at the release notes or
18:49like blogs you'll find a a new
18:51description of how to how to set up your
18:54AWS API Gateway.
18:57So let's
18:58Is it because I said gateway again? You
19:00add an extra syllable to that word.
19:03Is it gateway?
19:04Gateway. Gateway. Yeah. Okay, cool.
19:09So let's go to the right hand side
19:10there.
19:11Um and go for the little code sign.
Generate server-side code
19:15Okay, so code generation here? Yep. So I
19:18see someone asking is it being recorded?
19:21It is
19:22100% being recorded. You can find it in
19:24the summary on LinkedIn or on YouTube.
19:27Um
19:27Cool. So yeah.
19:29It is recorded and you can come back to
19:31it later. You can watch it at half time
19:32cuz we're going so blazingly fast.
19:35Um
19:37Let's pick a language and framework. So
19:39that's going to generate like the server
19:40side code. So I usually go with Node.js
19:42because that's what I've
19:43used mostly in my life. Um so yeah,
19:47let's pick that one.
19:48adventurous some? Should we do like some
19:50random You're the one who's doing No,
19:52no, no, no, no, no,
19:53let's stick with no.
19:55Okay, okay.
19:56Um and we don't want it to only generate
19:59the roots in the face. We actually want
20:00it to generate everything. So, like all
20:02the all the server boilerplate.
20:04Um so, yeah, once you've done that, you
20:06can click generate code. Okay.
20:09Oh, no, am I going to have to unzip a
20:11file?
20:12You might have to. Um
20:14you have some you got this.
20:17Unfortunately, it doesn't show the the
20:19emoji, but Yes, please help us. Don't
20:21worry, my voice is very scary at half
20:23speed. Um
20:25I don't know what to do with that
20:26information. Gateway.
20:30Uh cool. So, you have that. Um let's
20:32unzip it somewhere.
20:34And we'll just I
20:39So, you can go
20:40Back.
20:41open your downloads in
20:43your other screen just in case you have
20:44I don't know I don't know if it's fine.
20:46Okay, I think it's okay.
20:48So, right click on it.
20:51Uh 7-Zip and extract to
20:54Okay.
20:55Extract to exploratory video in the
20:57gist. The one with the yeah, this one.
20:59Okay, so I'm unzipping that file.
21:01Cool.
21:02Um
21:04Now we can upload that to GitHub as
21:06well, right? Like we said GitHub is
21:08going to be our uh main source of truth
21:10uh for like working with the development
21:12team, etc. So, let's go back to GitHub.
21:16And you can do add file
21:18at the top there.
21:19And upload files. Aha.
21:22And you can just drag and drop the
21:24the content of the folder you just
21:26extracted.
21:29Yep. So, double click in it.
21:32Click that. No, no. I yeah.
21:35Sorry, how do I undo?
21:37Uh you can yeah.
21:38X out of these. Yeah, yeah.
21:40I don't even.
21:43What? So, go back to the folder, but
21:45open the folder.
21:47Okay.
21:48And then take all these. Oh, you can't
21:51just do a directory?
21:53Well, the thing is if you do a
21:54directory, it's going to Wait, does this
21:56work? Yep, yep, yep, of course.
21:58It's going to upload it as a directory
22:00in your repo as well, and it doesn't
22:02look I see. You want it at the root
22:04level. Okay.
22:05Yeah, yep. So, what did I just do?
22:08You added the Add that server
22:11side gener- code
22:14generated by Postman.
22:18Yeah. Cool. Let's come up with a
22:20description. Just kidding.
22:23Extended enough.
22:27Okay. Uh okay.
22:29Um let's have a look at Postman and see
Pull changes from repository
22:31if now it says there's some changes on
22:33the
22:36Oh.
22:37Probably doesn't because it's not on the
22:39schema.
22:41I
22:42Yeah, it it's fine.
22:43refresh? I think it does I think it
22:45requires Does it? Well, I don't know.
22:47Uh no, no, I think it's just because
22:49it's the Okay.
22:51Like it's uh actually it is saying
22:52something.
22:53Yeah, I was playing with this the other
22:54day.
22:56So, this means this down arrow means
22:57there's something to pull from the
23:00remote. There's one commit to pull from
23:02the remote, and I just made one commit
23:04on the GitHub.
23:05Should I pull it?
23:07Yeah,
23:07you could pull it. Uh it shouldn't
23:09change much cuz you haven't changed the
23:13You haven't changed the schema, right?
23:14You want to change the
23:15nothing, but I want
23:17to be at the same commit hashtag as
23:20GitHub. Got it. Okay, so nothing will
23:21change
23:23in Postman. Yep.
23:27I I don't like that. Okay.
23:30Is it your OCD that's going to kick in?
23:32Okay.
23:33Um and now you wanted to you said you
23:34wanted to deploy using Heroku?
Try to deploy on Heroku - failed!
23:37I can. I logged in.
23:39Okay, let's do that then.
23:41But I won't be I won't be walking you
23:43through it. Okay, well.
23:44And so again, for for those who joined,
23:46uh the reason why we're deploying with
23:47Heroku is that we didn't want to
23:50spoil any of our AWS credentials
23:53using the AWS gateway.
23:54secret secret secrets. Okay.
23:56So, I don't really know what to do in
23:58Heroku, but I feel like it's pretty
24:00self-explanatory once we get into it.
24:02So, if there's any Heroku experts in
24:03there, please feel free to chime in.
24:06Uh
24:08I'm just going to create a new thingy.
24:09Okay, new app they call them.
24:13Uh what is this? Exploratory videos?
24:15Yep.
24:18API. Okay, so I'm not adding it Wait, I
24:21yeah.
24:22Dashes. Okay.
24:24Exploratory videos API.
24:27Available.
24:29Create app.
24:31Okay, good. We have
24:32Heroku experts.
24:35See, now you can actually connect to
24:36GitHub.
24:38Deploy.
24:39Like here?
24:40Yeah. Okay, so under the
24:43I'm under the deploy tab, connect to
24:44GitHub.
24:46Am I going to leak secrets?
24:48What was it? Live stream? Yep.
24:51Demo.
24:53If you just type live stream and click
24:55search, it should find it, right?
24:58In case it's Oh, it found it. Okay.
24:59It's behind my head, but uh
25:01let me pull this up. I
25:07Uh okay, okay.
25:11Uh connect. Mhm.
25:16Okay.
25:19Enable automatic deploys from GitHub
25:21from main because we're pushing directly
25:22to main. That's probably
25:24risky, but let's go ahead and
25:26automatically deploy.
25:28We don't have any tests yet, so we don't
25:30need to wait for CI to deploy.
25:34Deploy branch.
25:35Yep.
25:36Is it going to pull the or is it going
25:38to understand what to do with the NPM?
25:42Uh if it has the proper I think it does
25:45have the proper
25:46script, no? Start script, build script?
25:48like it. I didn't look to see if there
25:50was a build script in the server
25:52generated code.
25:53Okay. It's doing stuff. It's doing
25:55stuff. What happened? What happened?
25:56That's you.
25:58Okay, successfully deployed. View. It
26:00went through all these steps. It went
26:02ching ching ching.
26:03View.
26:04I not found.
26:06That's fine cuz that's the that's the
26:08root. It's not a website we deployed.
26:10It's an API.
26:11Yeah, but
26:13Okay.
26:13So, there's probably nothing at the
26:15roots, but if you do {slash} videos
26:17Should we do this in Postman?
26:20I just want to make sure that it's
26:21running. Oh, so it might not have
26:23worked.
26:24Not found. I Yeah.
26:27So, let's just take a look at what we
26:28deployed first of all. I didn't even
26:30look at that. Let's look at the I think
26:32the package.json.
26:38So, not that. Is there another? It's the
26:41start server.js. Server.js.
26:51Yeah, so you have or the Postman snippet
26:55generates like the alternative if you
26:57don't specify. So, the I I've deployed
26:59one thing on Heroku within the last like
27:01month, and I had to put in some
27:04variables.
27:06But I don't think any is needed. Oh.
27:10Yeah, cuz it switches between it it
27:13allows either the local host or
27:16something Yep. designated. Yeah, it
27:18shouldn't appear. Okay, that's fine. Um
27:21I can just send you a a URL for it.
27:24Okay. Let me just find it cuz All right,
27:27if anyone knows how to fix this on
27:28Heroku, let us know.
27:31Um
27:32Oh, Procfile.
27:35Uh-huh. I didn't need a Procfile for
27:39the lat- Well, maybe actually I just
27:41deployed something else that I didn't
27:42look at, so maybe it had a Procfile
27:43already in it.
27:47Um let me do
27:50Yes, that's still running, and then
28:03Add a star.
28:05So, we're getting some suggestions for
28:10getting started. Yeah, I'm sending you
28:13um
28:13a URL.
28:15Okay.
28:16That's what we're going to use for the
28:18ngrok.
28:19So, what I've done uh
28:21for anyone that's watching, all I have
28:23is I have the same code running on my
28:24PC,
28:25uh and I've just used ngrok to create a
28:27tunnel between
28:29the outside world and my PC. So, now
28:32uh we have that code running, and it's
28:34it's deployed. So, deploy tick even
28:36though we haven't used a full-on like
28:39Postman feature of the
28:40cloud provider. Yeah.
28:41Yeah.
28:42Um
28:44Now we need to test. So, we have that
28:45running. So, let's go let's go back to
28:47Postman.
28:49Do you want me to put the base URL
28:50somewhere?
28:51Yeah, so that's what that's what we're
28:53going to do now. So, first we'll uh
28:55You can go back to full screen, I think.
28:58Oh.
28:59Yeah. Okay.
Generate a collection from the OpenAPI
29:00And go back to the definition.
29:02So,
29:04what we know is that we have this exact
29:06definition that is deployed, right?
29:09So, two options here. Either you create
29:11a collection manually, you read through
29:13your definition, you create an endpoint
29:15for each of them, etc. Uh or you
29:18generate a collection to test.
29:20Yes, let's generate.
29:22Let's just generate. Oh, what if the
29:24rest of the stream was me manually like
29:26looking back and forth?
29:28Okay, so let's generate. This will be
29:31Oops.
29:38Um is it
29:39documentation or is it tests? Oh, sorry.
29:43Tests.
29:44Okay, so we categorize it as test the
29:47API.
29:49And then I wasn't paying attention to
29:51what you were saying. Okay. So I'm going
29:52to generate a collection
29:54from the schema and it's been generated.
29:56View and edit the collection in the
29:58sidebar. That was behind our heads so I
29:59just read it out loud. Yeah. And now so
30:01you don't actually have to go all the
30:02way up. Stay stay in API.
30:05Oh over here? No, no, no. Stay stay in
30:07the in the tab on the left. Yep. Okay,
30:09I'm here.
30:10Yeah. And see this carrot next to V1? I
30:14And that's your collection that's here
30:15as well. That's the one.
30:15Associated with that. Yeah. Yeah.
30:17I did talk to somebody I did talk to
30:19somebody that was confused and they were
30:21like, is this a different collection
30:22than this one? The one on the
30:24collections.
30:25Yeah. It is the same one. It's just a
30:26different way to access it.
30:27a pointer. Yeah.
30:28Um you can also see it in the test tab
30:29where you were going to go
30:31um
30:32on the right.
30:34Yeah.
30:35So I'm in the builder on the schema and
30:37then it's
30:38have it here.
30:39Here. Oh, no runs yet. Oh, I
30:41I'm going to it I'm going to look
30:43forward to using this part. Okay.
30:46Okay. So let's go to the collection and
30:47add some tests.
30:49Okay.
Add tests to the collection
30:50For example, um
30:52look at the variables as well actually.
30:56Local host.
30:56base URL which is local host. It's not
30:58that anymore. It's the the one that I
31:00sent to you so you can replace that with
31:02the
31:04Okay. So should I replace both values?
31:08Uh you can replace just current. Okay.
31:11And I'll save.
31:11we're going to use. When we do when we
31:13do the monitor which runs on the cloud
31:15we need to replace the initial.
31:16Okay. Um I mean you can pass this now if
31:19if it's the same thing.
31:20Okay. I'll forget later. Yeah.
31:23Okay. So let's go on the first endpoint.
31:24Just make sure it works. Okay. So get
31:26list all videos. Get request list all
31:29videos. Base URLs has the ngrok. It has
31:32the initial and current value.
31:35Going to /videos/all.
31:38Should I just hit send? Let's see if
31:39that works. Okay.
31:42Okay.
31:42That works. Yes.
31:45Even though obviously it's it's using
31:47like mocked data, right? Like we've not
31:49uh
31:51It is not my home IP.
31:54Um cuz we have we using that. Um
31:58Yeah. So it's using mock data. I've not
32:00coded the whole back end etc. Um
32:03we have a seven bullet eight and all it
32:05does is returning the examples that are
32:07saved in the API definition.
32:09Uh so that's working.
32:10I look in the definition would I see
32:12some of this mocked data?
32:15Well, you can actually click on the
32:15three issues there at the top.
32:19And it says, if we compare it to at the
32:22definition,
32:23um it's meant to be an array but you
32:25only have one.
32:26Um and it's meant to be
32:29um there's meant to be a video ID which
32:32is not finding here.
32:33Um
32:35I don't know what happened. Uh where was
32:37I? Issues. Yeah. Okay.
32:40Um so it's telling you it compares what
32:42you sent with the schema
32:44and says like what's not working.
32:46Um but yeah, you would see the same
32:48thing. Actually you can you can go and
32:49explore it from uh from the definition
32:51tab then on the left.
32:54Again. Yep.
32:56And if you go and scroll down you can
32:58see videos all
32:59uh response.
33:02Yep. You scroll.
33:03Videos all?
33:04Yep. So this one
33:07responses is type array of items.
33:10And this item if you sc- can you scroll
33:12just a bit more cuz it's behind our
33:13faces. Yep.
33:15It's an array of videos. So now you can
33:17scroll back to the components at the
33:18bottom.
33:21What?
33:22definition.
33:23Components?
33:24Yep. And we have a video
33:26which is name, URL, and views.
33:31Okay. So you're defining what the data
33:34should come back as and then Postman has
33:38Oh, what tab was it on this one? This
33:40one, yeah. When we make the call it's
33:42saying, okay, here's what would come
33:43back. Okay. Yep.
33:45Uh cool. So what do we want to test
33:47here? We probably want to test that it's
33:49uh first it's working so it's 200 okay.
33:51Um
33:53What else we can
33:53share the ngrok with others? Is that
33:55dangerous?
33:56I mean no, it's not.
33:59Let me Should we post
34:00I'll I'll put it in the
34:01put it in the chat for everyone.
34:03Um
34:05And I'll send it. Shuvank, don't DDoS
34:08us, please. Otherwise this will bring us
34:11This will make
34:12Me?
34:12It's ngrok. I don't think.
34:15It's not it's not going to hit like my
34:17uh
34:18my PC directly.
34:22Um
34:24Okay. So let's go in the tests tab.
34:27Okay. So I'm in the request under tests.
34:32And we'll just add um
34:34let's add a
34:35um
34:36response is 200 uh snippet.
34:39Okay. Should we do that to the
34:40collection?
34:42Oh, we could actually do it at the
34:43collection level, yeah. Okay. Because I
34:45assume we want the same 200 back from
34:47this get request. So let's just add that
34:49here.
34:51So I just selected the collection that's
34:53beneath the schema. This is kind of like
34:55weird. I I'm not used to seeing it
34:57nested under here but it's nice to see
34:58them all associated with the API. So I'm
35:01in the collection and under tests
35:04I'm going to add a collection level test
35:06by again
35:08not writing code
35:09but inserting the snippet. So this is
35:11going to check
35:12that the response has a status code of
35:15200 after every request in this
35:17collection. I'll save. Okay.
35:20Yep. And then um we could do list all
35:23videos again but this time got the
35:25request level.
35:27And we'd have a more personalized test
35:28and we can test like that. Uh for
35:30example,
35:31the response contains uh a name, a URL,
35:35and a
35:38Okay. Let me look for a similar Is there
35:40a similar one?
35:41Uh Contains
35:42There is a few. Well, yeah but you're
35:44going compare it to to a string which is
35:46Yeah, we'll change that. But body
35:49contains properties
35:51is what we want to say, right?
35:53Yep.
35:55So PM.expect
35:57I'll say
35:59PM.response.
36:02json
36:03to include
36:07two
36:07think is it is it does it JSON value
36:10check if you want I think. Okay. In the
36:12snippets you mean? Yeah.
36:16This one?
36:17Yeah. Let's replace that with
36:20response body
36:22JSON value check.
36:26Uh so we're going to
36:31Won't this um error if it's not there?
36:34Is that the whole point? Yeah. It should
36:36So you should always have um a name that
36:39for now is string. You should always
36:40have a URL which is string and views
36:42that is number. Does that make sense?
36:46Yeah but in You mean like JSON data
36:50name? dot name?
36:53Yeah.
36:53To equal name?
36:55To equal string. Ah. Not to equal
36:57string.
36:58I see. I see.
37:00Is this how you write it though?
37:04Should we look up the Chai JS docs?
37:07Oh I mean you can you can you can try it
37:09and send it here. So replace the 100
37:11with like a string
37:13which says string.
37:15Okay.
37:15And with the
37:17things on the side. Just like it is in
37:18the in the JSON response.
37:23Okay. To equal
37:26Like literally what is in the
37:28the value. Yeah.
37:30Okay. Now if you send that
37:32Okay. So we're not saying we're just
37:33saying that we're parsing the response
37:36object and checking the value. Yep.
37:38Okay. Try it.
37:40Yeah. Let's see.
37:43Okay. Okay. So status code is 200.
37:45That's the collection level test and
37:47then this one that we
37:49called your test name
37:51is passing.
37:53So what we could do now is take a look
37:55at our expected body
37:57and just say
38:00Oh yeah, we could compare the
38:01all of our properties.
38:03So URL should equal once again string.
38:06We're trying to assert that it's there
38:09in JSON data to equal
38:13number.
38:16And then we'll call this um
38:19data types are correct.
38:23Like this is not a good test name I'm
38:25sure.
38:27If you have better ideas, let me know.
38:29And then
38:30save. Save.
38:31a
38:32Yeah. We have a question about um
38:35is it possible to do it with CI/CD? Yes,
38:38it is.
38:39Uh and we'll go through that after after
38:41we've done that.
38:42But we'll Give us a Give us a few
38:44minutes.
38:46Um cool.
38:49We've added some tests.
38:52They pass for now.
38:55But because they pass at
38:57this instant T doesn't mean it's going
38:59to always pass. So now we just want to
39:00we want to monitor that API
39:02and we want to make sure it's always the
39:03case.
39:05And we can leverage that same
39:06collection.
39:07So now if you um click So go back to
39:11your
39:12uh API definition. So the first tab that
39:14you have.
39:18And go in the monitoring
39:20tab. Okay. So I'm in the API under the
39:23tabs monitoring. Oh, this is where that
39:24new In case you missed it we talked Oh,
39:26look at all of them. There's so many.
39:29Yeah. So for now we just create a
Add a monitor to run the tests from Postman cloud
39:32uh add monitor to the right there. Okay.
39:34A Postman monitor. Yeah. A Postman
39:36monitor. Okay.
39:38And we do
39:39we can uh create a new monitor. Yep.
39:41Okay. Cuz I don't have an existing one
39:43here yet. And we can use an existing
39:45collection and we can use the one that
39:47we
39:48Okay. have just created with tests. Yep.
39:50Tests. Okay.
39:52Yep. So we're going to be scheduling
39:54these tests to run on Postman Cloud.
39:57Yep.
40:00What do we call it?
40:03Exploratory
40:05monitor.
40:07Health check.
40:09You like that?
40:10like I like that. Okay.
40:12Uh there's no environment. Uh you can
40:14run it
40:15um whenever.
40:18Every 5 minutes. Yeah. Let Let's do that
40:21for now cuz then we can see like running
40:22a few times.
40:25Uh yep, that's fine.
40:26me just uncheck that.
40:29I don't want to receive notifications,
40:30but I mean if this was like a real
40:32example, I probably would.
40:33Yeah. All right. Automatically select
40:35region. I'm fine with that.
40:37Yep. Create monitor.
40:43Okay, so now we have a monitor and we
40:44can go in the left-hand side in the
40:46monitors.
40:48Okay.
40:49Uh click on your uh monitor. Health
40:53check.
40:55And then run it. Uh we could wait 5
40:58minutes, but I mean we already way over
41:00time. That would be an amazing live
41:02stream if we just waited for a monitor
41:04to kick in.
41:06Okay, so it looks green. And if I want
41:10to see what happened, I can click on
41:12that run and say, "Okay, here's that
41:14call. Pass, pass, pass." So the status
41:17code is 200 at the collection level,
41:18which we said is going to run for every
41:20request in that collection. Yep. And
41:22then this is the one that we just wrote
41:24that is geniusly named data types are
41:26correct.
41:28Yeah. Now let's try to run it again and
41:30see what happens.
41:31Okay. Run it again.
41:33We're manually triggering it.
41:38Obviously that would
41:39Processing.
41:41Every 5 minutes usually. What happened?
41:43What happened?
41:45I don't know. Let's have a look.
41:46Okay.
41:47Fail, fail, fail.
41:49Ah, maybe the service is down.
41:53So I took it down.
41:53do that? Okay.
41:55I did.
41:56Just wanted to prove that uh it was
41:58working. And now um now if you try again
42:01So if I had that email um alert set up,
42:03I would have received a beautiful email
42:06about it. Okay, so do it again. You turn
42:07it back on theoretically or I don't
42:09know. Who knows? Is it on or off?
42:12it's Postman Cloud that runs the
42:13monitors test. Yeah, so the the the
42:15collection runs in the
42:17in the Postman world. Okay.
42:19Um surprisingly enough, this is telling
42:22you it's working.
42:24maybe I changed the wrong one.
42:27Too many N Groks. It is working. You can
42:30clearly see.
42:34Yeah, let's try again.
42:37I really want to break it, but yeah.
42:38Okay, so I'm running it again. Who knows
42:40what we'll get. This is just the dice
42:42roll.
42:44Fail.
42:44Ah.
42:45Not completely failed though. Okay, so
42:47we got status code is 200, but then the
42:49fail. So let's filter on this because
42:52Okay, so there's this one data types are
42:54correct. If I had any log statements,
42:56which I don't think we wrote a single
42:58log statement, we could look under here.
43:01Oh, but we could see the errors.
43:02Yeah, and you can actually see that it
43:04expected
43:06not string to deeply equal string.
43:10So what did you do? I just replaced the
43:12string by not string. Oh.
43:16That's what I did. Okay. So Okay.
43:19Agreed. Uh
43:21we Dave
43:23Dave's had to see failed test. And yeah,
43:25you hate to see it, but also
43:27would you rather
43:28not see it
43:31and need to happen anyway?
43:32Or would you rather see it and then you
43:34can
43:35actually fix it
43:36and see why it's not working.
43:38Yeah. The um great Valentine Despa
43:41always says, "Make sure you write tests
43:43that can fail, otherwise you're why even
43:45write tests?" Yeah, exactly.
43:48Um cool.
43:50So I think we've done and I'm looking
43:51again, we've deployed.
43:53We've tested and we've monitored. Um
43:56I'm really we're probably not if we had
43:58to do like code coverage
44:00we don't have 100% code coverage.
44:03Um
44:05but we have some tests and we have some
44:08a Brazilian more tests if we wanted to.
44:10Yeah, and now um
44:12I think we can go into
44:14Uh first I I do want to I do want to
44:16play to the question about the
44:17integration with CI/CD. So if you go
44:20back to your
44:21um
44:21before we leave that real quick,
44:23somebody had asked about like how do you
44:25test a 429 here? So I thought that was
44:28interesting cuz I I just worked on
44:29something related to that. So 429 is too
44:32many requests.
44:33Um and so if you get rate limited, um
44:36how do you test that your rate limits
44:38are actually working? And you could sit
44:40there and ping ping ping ping ping ping
44:41ping if you wanted to and hit the rate
44:43limit and you're like, "Yep, it's
44:44working." Um but a lot of times in more
44:47sophisticated test suites, your
44:49developers are going to be angry if you
44:51keep um you know, hitting the rate
44:53limits intentionally. And so of course
44:56you want to check to make sure the rate
44:57limits are working, but then in broader
44:59flows, you also want to check to make
45:01you want to um
45:03you can use a mock server to return a
45:05429 response without actually invoking a
45:08429 or in eliciting a 429 on your
45:12production servers. So that's a that's a
45:14good question.
45:15Sorry, you were saying CI/CD, Arlemi.
45:17Yeah, CI/CD. So if you go back to the V1
45:20tab.
45:22Yep, so you can see there's a Oh, look
45:25at this. Oh, that is cool. It's like a
45:27Christmas candy cane.
45:29remember seeing that. Yeah, this is the
45:31screenshot you showed us in case you
45:33missed it. Yeah, I mean that was
45:34released this morning, so that's
45:35probably why I didn't see it before. I
45:37see. Look at that. Oh, there's nice
45:38metrics and stuff. Okay.
45:42We work for Postman, we promise.
45:46What's brand new? It's brand new as of
45:47this morning. It is brand new.
45:49Uh let's Okay, let's go back to the to
45:51this part. Let's just quickly go to uh
45:53deployment.
45:55Okay, this side? Yep. Okay, so tab
45:58deployment.
45:58Uh no, sorry. Uh the Is it in test? I
46:01think it's in test.
46:03Yeah, this one. Um
46:05so yeah, the question was about CI/CD,
46:06so you can also
46:08uh that test collection could be part of
46:09your um
46:11CI/CD pipeline.
46:13Um it's using uh whichever like
46:16CircleCI or TravisCI
46:19whatever they're running in.
46:20Um runs the collection, if it fails
46:23your pipeline fails,
46:25the deploy doesn't happen.
46:27Um
46:29I don't know if you have an account.
46:31I do have an account, but um I've done
46:33the CircleCI I've done the CircleCI
46:34integration. What you need to do is have
46:36a pipeline, clearly. Have a pipeline and
46:39then you'll need to drop your token in
46:40here. Um
46:42I can click through and generate one,
46:44but I
46:45don't want to
46:45But then you would need to be using
46:46CircleCI to deploy, which we are not.
46:48Yeah. Yeah.
46:50Um okay, so let's go back to the cool
46:52bar graph cuz I think that's pretty
46:54cool.
46:55Uh which was here in monitoring.
46:58So there's also this little like Oh, one
Run tests using collection runner
47:00thing we didn't do actually, you can go
47:01in tests. Oh, yeah, yeah, yeah.
47:04Yeah, and here you can see there's like
47:06um a run test to the right when you
47:08hover on it.
47:10Okay.
47:11So you can trigger the the test from
47:12here. All it does it doesn't use the the
47:15monitor, it just runs it um
47:17locally.
47:18And then now you have the if you go back
47:20to your
47:21um
47:22So you can see what failed or didn't.
47:24And here you can see, "Oh, last run
47:26results uh one of three failed."
47:29And uh yeah, it's
47:32a
47:32you can see you can see your test runs
47:35under test locally and you can see it
47:37says source Postman collection runner,
47:39helpful. And then under monitoring, you
47:42can see your test runs on Postman Cloud.
47:45Does it say source Postman Cloud? No,
47:47but I mean it's a Postman monitor. So
47:49you just kind of have to know that
47:51monitors run on Postman Cloud.
47:53Okay, and now we could connect this one
Connect monitor with third-party monitoring tools, like Slack
47:55with other ones. Let's see. So there's
47:56an add button now.
47:59Add monitor?
48:01No, next to connected with. Yeah. Apps
48:03configured. Okay, so connect the monitor
48:06with
48:08more monitoring tools. Yeah.
48:12Any any one that you're interested in?
48:16Uh well, I don't use all of these tools,
48:18clearly, but I have logins for
48:21I feel like New Relic's really popular.
48:23I don't have a login for that, but we
48:25can always create an account. Release
48:27saying Slack. Slackety Slack. Will I
48:30leak secrets though? Um I can actually
48:33So you're in a team workspace, right?
48:35Right now, yes. So I could join and link
48:38it to my personal Slack. Yes. Guys,
48:41let's be slacking stuff to Arlemi's.
48:43Let's have Arlemi leak secrets. And
48:45let's do um
48:47let's prove the power of collaboration
48:48as well cuz I'm going to just jump in
48:50yours. And that that's actually also
48:52allow me allowing me to cover how I
48:55changed the not string thing. One one
48:57thing I will say is like, "Well, why do
48:59you have other monitoring tools? Um like
49:01you're monitoring with Postman already
49:03on Postman Cloud." But you know, like
49:07a lot of these tools you're already
49:08using for other projects. There's more
49:10visibility. Um this is an entire
49:12platform solely for monitoring. Um
49:15Postman engineering, we use Slack quite
49:17a bit. So SlackOps they call it. Uh we
49:20have a lot of our failures piped in
49:21through Slack. I know a lot of people do
49:23PagerDuty. Um I do have a login for
49:25PagerDuty if you wanted me to use that,
49:27but it's you know, I don't think they
49:29use pagers anymore. Do they? Do you know
49:31what a pager is, Arlemi?
49:33I know what a pager is, yes.
49:34Okay, okay.
49:35So are you going to share your screen or
49:37do you want me to just
49:38I can I can share my screen.
49:39good.
49:42Cool. Um
49:43that's just like So, let's first quickly
49:46say someone asked like where did I
49:47change the not string? Actually, I have
49:49the That's the app running on my PC. So,
49:51you can see like whenever um the monitor
49:54or Joyce was calling the the endpoint, I
49:56would see it here. And all I've done is
49:58just changing it here.
49:59We started the app and uh that's that's
50:02about it. So, let's go to
50:07this one.
50:07Wait, sorry. Can you go back one more
50:09time? Oop.
50:10Sorry. That's a really good point cuz I
50:12was confused about like where is this
50:13data coming from? It's generated from
50:15the Postman boilerplate. And you can see
50:18on row What is that? 90 or whatever var
50:21data? I can't see the row number, but 92
50:25It's it's a hard-coded object. This is
50:28going to be our uh schema, if you will,
50:30that is being returned. But, you would
50:32obviously want to swap it in with your
50:34actual business logic. Like maybe you
50:36have a query to your database or maybe
50:39you have a you're invoking some sort of
50:41like serverless function or like
50:42whatever. Yeah.
50:43It's hard-coded that variable that JSON
50:46object um var data, but it would
50:49actually be probably a database query.
50:52And uh the the server-side code
50:54generation tells you where you need to
50:56implement the logic actually, like right
50:57here.
50:58Um
51:00will this live stream be available to
51:01rewatch? Yes. Uh you just come back to
51:03the same place uh once we're done, it
51:06will be there waiting for you. Uh do we
51:08have this app repo shared with us
51:10somewhere? Yes. Um actually, so Joyce
51:13posted it on
51:15um
51:17on GitHub. What's your
51:21Joyce Efer? Oh, Loop Delicious on
51:23GitHub? I can drop a link in the here.
51:27We'll drop a link in the in the chat for
51:29you.
51:29Oh, wait. Can I do it?
51:31Yeah, you should be able to.
51:32All the power.
51:33Yeah.
51:33So, now let's go and you called your
51:35workspace
51:37um
51:38It's our team workspace. It is a team
51:40workspace, so what's the name of it?
51:41Live stream demo.
51:45We're good. Dash demo.
51:49Superb explanation.
51:53Okay, so we can see uh
51:55what Joyce created prior.
51:57Um I can actually see the monitor here.
51:59Can see it's failing.
52:01Um I can see the collection here for
52:03tests. Uh the different um variables
52:06etc. What we wanted to do was connect to
52:09Slack. So, let's go in monitoring and
52:11add a new app. So, let's see what it
52:13asks for. I actually don't know.
52:15Um Slack.
52:18Okay.
52:20So, I do not want to connect to the
52:23Postman Slack. I want to connect to the
52:24Allen E one. That's better.
52:27Um
52:29it will be able to view the content info
52:30about me.
52:32And
52:34it will post to general.
52:41Okay. Ooh, can I make something fail
52:43on my end or are you going to
52:44Uh let me go to my Slack first.
52:48Let me actually just
52:49open it here just in case.
52:54Okay, cool. It's fine. It's nothing
52:55there. So, that's my um
52:58it's my personal Slack instance. I just
52:59use it for testing. As you can see, it's
53:00just like random things etc. Uh but now
53:04So, Joyce, do you want to just start the
53:06Click monitor run? Yeah. Click on
53:09monitor run.
53:09failing unless you fixed it. It should
53:11be failing, yeah. It should be.
53:14I didn't fix it on my end. Okay. So, I
53:16just trigger I just triggered it. Do you
53:19know how real time it is though?
53:21I do not know.
53:23Um Let me see if it ran actually.
53:27Okay, it ran.
53:35Not seeing it.
53:36you can see it. You can look at the
53:37results in the
53:37go uh Oh, I think I didn't finish the
53:40integration. That's my bad. I had to
53:43had to configure some stuff on the
53:44Postman side again. So, let's do it
53:46again. Slack. Continue. Oh, yeah.
53:50Connect to this one. General.
53:53Allow.
53:54And then, I'm authorized, but I need to
53:56go back here
53:58and say Finish setting it up. Okay.
54:00alerts.
54:02I need to choose the monitor.
54:04Um
54:05notify for all completed or notify for
54:07three failures and then first success.
54:09No.
54:09Everything. I want
54:10Well, that's nice that you have the
54:11option though, so it's not too
54:12All of them notifications. And now, ooh,
54:15that is nice.
54:15Ooh, I like that. Should I trigger it
54:17again? Little double hashtag there. Uh
54:20we need to
54:23Um I'll trigger it, so then we can see
54:25actually like both.
54:26Okay.
54:28Ah, can I get the run?
54:32Run.
54:37Haha.
54:38but yeah. Haha. It failed.
54:41Yay! Congrats, everyone. It failed.
54:43Failure.
54:45Uh what can we see?
54:47I have a link to the monitor. Link to
54:49the collection. Uh
54:52two requests run and one test failed.
54:54One test. We need to correct that.
54:57Um
54:59failed test pass two of three.
55:02Uh it's cool.
55:03Yeah, so that's a So, Willie Garrett is
55:06saying that is saying comp in a
55:09complimentary fashion, I believe, um
55:11that there's a lot of test res uh test
55:14result details.
55:15Do you know if we can customize that
55:17output?
55:18You mean this one? Yeah, like what gets
55:21shown displayed in Slack?
55:24Uh the options I had were
55:28Let's see.
55:29No, I think that's all you can do. So,
55:32the the general monitoring alerting
55:35notification is um
55:37a default It looks like it's a default
55:39display, but in the in the Postman
55:41office, we constantly use the Slack
55:43webhook. I think it's called inbound
55:46webhook, if I'm not mistaken. We
55:47constantly use that in a collection to
55:50run our tests and then it like you can
55:53customize it. Like you could put a
55:54picture of your face on there, like
55:56whatever you want.
55:58Yep.
55:59Um cool. We could connect more. We could
56:02connect all of them, if you had the
56:03time,
56:04but I think we also want to do Yeah, we
56:07want to do the drawing, too.
56:09We do want to do uh the drawing. So,
56:12and I think I mean, likely, a lot of
56:15people are here for that.
56:16Just to know who's won.
56:18Should we should we go for it? You think
General Q&A
56:20so? You think people are here for the
56:21drawing or do they want to hear more
56:23about integrations? Do we want to set up
56:25a
56:26New Relic?
56:29See, I mean, if you feel like it.
56:33I don't know. Okay, let's keep going.
56:35Um
56:37We did have a question.
56:39Uh somebody is really needs some help.
56:41Um
56:42Oh, let's see.
56:43Uh Mahesh is saying,
56:45"Does Postman support two body types in
56:47the same request? I don't think so.
56:50Um I'm trying to send XML and an image.
56:52This is working in SoapUI. Uh please
56:55guide help." So, when you create a
56:57request here, let's see this one,
57:00um
57:02I'm guessing if you're using form data,
57:05you could have this one send
57:07a file
57:09and you put your image here.
57:11So, for example, that image. And then
57:12here, you could have text
57:14any other type of
57:16um
57:17your other type of uh data.
57:21So, I don't know. Maybe uh XML and here
57:24you put your
57:27XML data.
57:31I have no clue if that works.
57:34Um I'm just thinking that's one way that
57:36you can send two different stuff uh
57:37through
57:39through requests. Um
57:43Yeah. That would be that would be my
57:45answer. I'm going to cancel all this cuz
57:47I do not want to save that.
57:49Um
57:52"I didn't know this channel existed. Um
57:55great content. Thank you.
57:56Any future NPM wider packages support?"
57:59Cesar, we're here every week. Stop by in
58:02the future.
58:03I'm not sure which
58:06um
58:07Are you talking about using different
58:09libraries in the in the test, for
58:11example?
58:13Um
58:15I don't have any direct answer to that.
58:17My guess is yes, we'll add more um as
58:21time passes by, but I can't tell you
58:23we're going to add that one at that
58:24date.
58:25We also have
58:27Yeah, go for it. We also have um like
58:29Newman and a ton of other NPM um
58:31projects. So, if that's what you were
58:34asking, let us know.
58:35No, I think yeah, it was
58:37Oh, it's in the sandbox. Okay. Yeah. Uh
58:39yeah, we've had a
58:40So, we have some examples of using um
58:43using external libraries. If you if you
58:45do not want to wait for them to be
58:46supported, uh if you look at
58:51There's a um
58:53It's been one of the
58:54one of the commonly asked questions and
58:56I have it saved here.
59:00Oop.
59:03Yeah, so there's this question that is
59:04seen a lot on the community forum. Uh
59:07and there's a few examples in there of
59:08how to add external libraries. So, I'm
59:10going to
59:12put that in the
59:13There's one in 30 days of Postman, too.
59:14I'll pull that link.
59:16But yeah, um
59:18there's options to do it even if it's
59:20not like uh directly supported. So, you
59:22and you can add Crypto.js with that
59:24uh without any real any issues.
59:28Okay, let's see if you have any any more
59:29questions.
59:31Hey Shiva, it's been a it's been a
59:32while.
59:35Look at the ad blocker, yeah. I'm I'm
59:36using an ad blocker.
59:39There is a Postman community.
59:41Tons of questions coming in now.
59:43Uh
59:43Postman community is
59:46community.postman.com.
59:48Uh and you can log in so if you have a
59:49Postman account,
59:51you can log in using your Postman
59:52account. Um and yeah, there's like tons
59:55of stuff in here.
59:56You can showcase your work. You can ask
59:58questions. Um we usually like whenever
1:00:01we do a live stream or webinar today, I
1:00:03will advertise it there.
1:00:06Um
1:00:07yeah, and then there's some private
1:00:08stuff at the bottom I'm not going to
1:00:10show.
1:00:11Actually, it says we're live on Twitch.
1:00:13So whenever we're live, there's this
1:00:14little banner that we built on the
1:00:16stream
1:00:17uh that shows that we're live.
1:00:20It runs on a monitor, right? Yeah, it
1:00:22runs on a monitor. It checks every 5
1:00:23minutes if the stream is up and if the
1:00:25stream is up, it adds that to the
1:00:27to the forum.
1:00:29Uh cool. All right.
1:00:31Postman questions.
1:00:32time.
1:00:33time. Let's have a look.
1:00:35Um
1:00:37Let's have a look. Let's have a look. I
1:00:38think I have it here.
1:00:41So we did a um
1:00:44we did a drawing. Was it a month back
1:00:46for the end of the year?
1:00:48I want to say. Uh yeah, it was um
1:00:52we had a full month. This is the last
1:00:54day well, day of the month that we
1:00:56expecting people to to write that link
1:00:58somewhere?
1:00:59I dropped this but it doesn't post in
1:01:01LinkedIn so I wasn't sure if somebody
1:01:03wanted to see it. I don't know.
1:01:04I can I can post it on LinkedIn. Okay,
1:01:05okay.
1:01:06Uh can you send it to me on the private
1:01:08chat? Yes.
1:01:12Uh yeah, so we had like almost 30 days.
Create a random picker with the Twitter API
1:01:15Um I asked a bunch of Postmanauts, what
1:01:17is your favorite feature?
1:01:19Um and you know, some people had really
1:01:20good favorite features and other people
1:01:22are like, I can't I can't decide between
1:01:25these two or whatever. So we created a
1:01:27little montage of Postmanauts saying
1:01:29what their favorite things were and then
1:01:31we asked everyone else, what is your
1:01:33favorite thing? And if you tweeted using
1:01:36there's still time, by the way. There's
1:01:38still time to tweet. It's a
1:01:39beautiful
1:01:40Cutting it close but um if you tweet
1:01:42using the #postmanfavorites
1:01:45hashtag
1:01:47uh and tell us what your favorite um
1:01:49Postman feature is, we're about to
1:01:51select the winners.
1:01:53Um and it really depends so I think.
1:01:56So JW Banning, you need to tweet.
1:01:59You need to tweet to qualify. So you can
1:02:02Caesar like if you're welcome to tell us
1:02:04here but to qualify for the drawing, you
1:02:06need a tweet with that hashtag. I'm just
1:02:08going to put it out there. This is not
1:02:09open for Postmanauts.
1:02:11You know?
1:02:12It's only FOR NON-POSTMANAUTS.
1:02:16THOUGHT WE NEEDED TO SAY. BRUTAL.
1:02:20Um So you're going to be using the
1:02:23Twitter API. That's why we can't we
1:02:24can't pull it from just random people
1:02:27telling us on the street. You're going
1:02:28to be
1:02:29doing some coding, maybe.
1:02:31Um because we just said it again, I will
1:02:34I want to give people
1:02:35uh 1 1 minute to do it and we had
1:02:37another question about why don't we have
1:02:40a YouTube channel to post all this? We
1:02:41do have a YouTube channel.
1:02:42Who is asking that why didn't we have a
1:02:44YouTube?
1:02:45one to find cuz it's just
1:02:46youtube.com/postman.
1:02:48Postman.
1:02:50And here you see us. We're live right
1:02:52now. I'm not going to click on it cuz
1:02:53then it's going to be
1:02:54it. Echo. Echo.
1:02:55No, I'm not Yeah, I'm not going to click
1:02:56on it.
1:02:57There's everything. There's
1:02:59a podcast that we do. There's longer
1:03:00version videos of how to do things in
1:03:03Postman and the replays of the live
1:03:05streams uh here. Exactly. So the live
1:03:09stream from today will be there as well.
1:03:10Yeah, like John's work alias was
1:03:12changing my light earlier and um
1:03:14mentioned I didn't even remember which
1:03:16live stream it was but uh take your kids
1:03:18to work day, we show people how to
1:03:20change the color of the light in my
1:03:21kitchen which you can barely see anymore
1:03:23cuz the sun has risen.
1:03:26Um play the video. Which which video? He
1:03:29wants to hear the squeals. Oh, he was
1:03:32No, I'm not going to play the video.
1:03:33Um
1:03:37have so many new people. Thank you new
1:03:39people for joining.
1:03:40Thank you.
1:03:41Accolades. Thanks, Mike.
1:03:42Okay, let's do that.
1:03:44Um so
1:03:45Chippity chop. Let's see. We So last
1:03:48time we tweeted it was using the Postman
1:03:50live
1:03:52um hashtag so we want to change that.
1:03:55Let's see. Where is that? So that's
1:03:56here.
1:03:58Um I want to see if the query can do and
1:04:02cuz like one thing that we noticed is
1:04:03that even though we try to be as clear
1:04:06as possible in the
1:04:08uh in the rules that it needs to use
1:04:09that the Postman favorites and the
1:04:11American spelling of it. It's American
1:04:13spelling, yes. I think some people may
1:04:15have used another spelling. So I'm going
1:04:17to do
1:04:18just so you know,
1:04:19I'm going to run it a couple times. I'm
1:04:20going to do some tryouts. Uh
1:04:23it's not going to say who's winning.
1:04:25Yeah. The official winner will say it
1:04:27before. We'll say this time
1:04:29whoever we pick is the winner. So let us
1:04:31first try
1:04:33um
1:04:34Postman.
1:04:35While you're working on that, uh
1:04:36Tanmayo asked about pausing deleting
1:04:39running monitors for 30 days of Postman
1:04:41challenge or keep them running. So um I
1:04:44would recommend you can pause it. So if
1:04:46you delete it, it goes away forever. You
1:04:47can't see what what you did and how you
1:04:49set it up but just pause it. There's an
1:04:52option in the UI to pause it.
1:04:55Go ahead.
1:04:55Okay.
1:04:56So I'm getting some results. That's
1:04:58great. Some people that have tweeted me
1:05:00that one. I want to see here.
1:05:03Huh.
1:05:04So it's search for tweets in the last 7
1:05:05days. Can you drop a link to this
1:05:08collection? I can drop a link. And then
1:05:10people can do their own drawings that
1:05:12win nothing.
1:05:16But you know, if they want to follow
1:05:17along.
1:05:18on monitor in Postman cloud?
1:05:21Um what do you mean the timing?
1:05:27It does the Twitter API support scam it
1:05:28as well. Let's see. Yeah, it does cuz I
1:05:30can see
1:05:31and I this might will be your tweet
1:05:33actually
1:05:34um which is
1:05:36um
1:05:37test every X minute. So um the timing is
1:05:40from 5 minutes to So to from every 5
1:05:43minutes to every
1:05:45um
1:05:46every once a
1:05:48week or once a month, I don't know.
1:05:50yeah. Yeah. As frequently as every 5
1:05:53minutes.
1:05:54Yeah.
1:05:55Um
1:05:57Okay, CI/CD pipeline. So that's just all
1:05:59the results.
1:06:01Currently works spaces. Somebody said
1:06:03their favorite was CI/CD pipeline.
1:06:05Uh
1:06:07I love Newman and how he does this to
1:06:09run my collection from the terminal or
1:06:11from my CI/CD pipeline.
1:06:14Uh test automation through the
1:06:15collection runner.
1:06:16Uh I lose my to monitor the APIs by
1:06:19connecting to entities. Ooh, that's a
1:06:22That's a retweet.
1:06:25Where is that going to go?
1:06:26I love how APIs can be designed using
1:06:28open API.
1:06:30Documentation.
1:06:32We have
1:06:33That's one of the first stream where we
1:06:34go through the whole like
1:06:36API build flow and don't use
1:06:38documentations.
1:06:41We could have easily added
1:06:42documentation. There's still time.
1:06:44Stopped you. I I automatically started
1:06:47making documentation and you're like,
1:06:48no, no, no, we're testing.
1:06:50Uh I love that Postman that allows to
1:06:52monitor the API by connecting to
1:06:53entities. Okay, so that's a
1:06:55It's behind your head.
1:06:57Oh, sorry. Yeah. Yep. Uh web sockets.
1:07:00Ooh, have you heard that Postman now
1:07:02supports web sockets?
1:07:04Because it supports
1:07:05Are you talking to me? I'm
1:07:07talking to everyone out there. We
1:07:09support web sockets but also gRPC. So if
1:07:12you're doing either of them,
1:07:13uh go for them and try it out.
1:07:15Yeah, let us know how you're using like
1:07:17how it's coming along. So both of them
1:07:18were under the beta tag so the
1:07:20engineering team is actively collecting
1:07:21feedback um about use cases and
1:07:23scenarios and different types of uh um
1:07:27stories. So yeah, let us know.
1:07:29Um I love it how Postman describes a
1:07:32response. You can view status code,
1:07:34response sizes and response time. That
1:07:35is very true cuz you can see uh look at
1:07:38that
1:07:38Pretty or raw.
1:07:40response size here.
1:07:43And
1:07:43so meta. You're reading
1:07:45response the response about Yeah.
1:07:49You can even choose to view response
1:07:50body in pretty or raw view. Yeah, you
1:07:52can. Look. We can look at in preview.
1:07:55It's just the HTML. So if there was any
1:07:56HTML in the response body, So beautiful.
1:07:59or raw which is just like full on text.
1:08:02But the pretty pretty view is is the
1:08:04best. Okay, cool. Um
1:08:06So this works. We can pull up the the
1:08:08latest tweets.
1:08:09Let's look at the test that I wrote the
1:08:11last time.
1:08:12Um
1:08:15Beta is just another term for production
1:08:17ready.
1:08:18Uh
1:08:20Live it on the edge.
1:08:22Um so my test um
1:08:25I create a new
1:08:27I think that's an array of tweets. So
1:08:30whatever this data goes into this array,
1:08:33then I do
1:08:34a random pick
1:08:36from one of them and then we in the
1:08:38console, so here. And again,
1:08:41this one did not win. This did not
1:08:42count. Going to clear the console. Clear
1:08:44it. Clear it. Wait, so do retweets count
1:08:48or don't count? They are included here.
1:08:50If we get the retweet uh can I remove
1:08:52the retweets? Let's see.
1:08:54Then it would make it easier. I'm
1:08:55curious. I'm Can you tell me how many
1:08:58people tweeted? Can you find the length
1:09:00of the array before you choose a winner?
1:09:02Sorry. This will determine
1:09:05something.
1:09:06Well, I can do Oh, what what will it
1:09:08determine?
1:09:10What? This So the thing is
1:09:12this only pulls the last 7 days. It's
1:09:15the recent tweets.
1:09:16Oh, you need to paginate or you need to
1:09:18set the parameter of the dates then.
1:09:20Start
1:09:21Um There's a parameter.
1:09:23It's start time. Yeah. Oh. Pull this
1:09:26from us. It's the whole month earlier
1:09:28me. From which the tweets will be
1:09:30provided.
1:09:33Ooh, you can use moment JS on the
1:09:35pre-request script probably.
1:09:37Um
1:09:39I'm just thinking if I'll have to run it
1:09:40several times.
1:09:43Because it limits it? It limits the
1:09:45response.
1:09:467 days. Hmm.
1:09:49Push it on to an array.
1:09:52I'm going to do
1:09:54here.
1:09:57New hashtag Postman. Oh, this is
1:09:59exciting.
1:10:03Obviously there's like Postman ones.
1:10:06There's not a lot of them.
1:10:10Ah, okay.
1:10:13We actually have
1:10:15quite a few.
1:10:15Okay.
1:10:17But we have these people. So I think
1:10:19See, I don't want to exclude the ones
1:10:20that did it before.
1:10:22Um
1:10:23And we have like 1 2 3 4 5 6 7.
1:10:27So what I'm going to do
1:10:30Hear me out.
1:10:32I'm going to call that once. And I'm
1:10:34going to get an array.
1:10:36To this array, I'm going to add these
1:10:37people.
1:10:38And then we'll do the random on the on
1:10:40the total Does that make sense? Who Who
1:10:43is the population that you're adding?
1:10:45I'm adding
1:10:471 2 How come they're not included there?
1:10:50Because this endpoint is only on the
1:10:52last 7 days.
1:10:53Okay. So only seven people
1:10:56tweeted before the last 7 days is what
1:10:58you're saying. With the correct hashtag,
1:11:00yes.
1:11:01Okay.
1:11:02Okay, I'm getting some confirmation from
1:11:04the chat. Cool.
1:11:05So let me do
1:11:07It's just like get to the drawing.
1:11:11Let's do a test where I go and do this.
1:11:14I'm going to comment that.
1:11:16I can see it's an array of objects.
1:11:19Cool. That's fine.
1:11:21So what I can do is do
1:11:25tweets.
1:11:27I can create I'll just do tweets too.
1:11:30Whoosh.
1:11:31And I can add
1:11:34Um
1:11:36Um
1:11:37author
1:11:38They're not going to be like exactly the
1:11:40same way, but
1:11:42It's fine so long as it's an object.
1:11:45Yeah, I can actually I can
1:11:46just do
1:11:48tweet actually.
1:11:51We have this one.
1:11:55Copy link address.
1:11:59Um well, I can just push the different
1:12:01checks.
1:12:04And I push an array into
1:12:10Would that work?
1:12:19Oh, you're manually doing it?
1:12:21Oh, yeah. I need to
1:12:23yeah.
1:12:26Now you can see the struggle of
1:12:29uh
1:12:31of me trying to do things automated, but
1:12:34when there's a limit to the
1:12:36Oh, yeah.
1:12:37So we have uh okay. Okay.
1:12:42You're not part of it. Do I need I'm
1:12:44sorry.
1:12:45You're a you're Postman employee.
1:12:48Can't count you in.
1:12:54Okay.
1:12:56I've a J.
1:13:02And then
1:13:05That's it cuz that's 7 days ago, right?
1:13:08We have a suggestion.
1:13:09You should automate it and spend 8 hours
1:13:11doing it instead of manually copying the
1:13:12data. Yes, we totally should.
Debugging the picker
1:13:16Cool. All right.
1:13:17Um let's try that. I just want to make
1:13:19sure that I don't have Okay, I have
1:13:20Jeremy.
1:13:21Oh, that's double entry.
1:13:25No. Okay. Okay.
1:13:26I need to do it once.
1:13:29Oh, that did not work.
1:13:32Why did that not work?
1:13:37Because I'm console logging it.
1:13:47So I need to do it in several ones.
1:13:50Unfortunately.
1:13:52I think instead of push you can use a
1:13:53different method, right? Um to
1:13:56Concatenate or something like that?
1:13:57Yeah.
1:13:59Concat
1:14:01uh array
1:14:01You tell me. Who knows how to
1:14:05If you create an array of objects Oh, me
1:14:08or some Oh, yes. Caesar says concat.
1:14:11Yes.
1:14:11Okay. So I replace push with
1:14:14Yep.
1:14:15Okay.
1:14:17And it's an array, right?
1:14:22Well, it is an array, right?
1:14:24An array of objects.
1:14:26Yeah, it should be.
1:14:29It's not working.
1:14:34Still have 10 people. Okay, let's find a
1:14:36different function.
1:14:40How to add a an array?
1:14:48I wonder what the type of that array is.
1:14:50Do we need to like
1:14:53JSON Do we need to encode it or
1:14:56something?
1:14:57Know what I mean?
1:14:59Hmm.
1:15:00I think Do I need to put them in
1:15:03So I have tweets. Then I have
1:15:06um
1:15:09tweets two.
1:15:11Right?
1:15:12And then I do
1:15:15let results
1:15:17equal
1:15:19um
1:15:23Hmm.
1:15:25Tweets concat
1:15:27concat
1:15:29of tweets two.
1:15:32And then
1:15:33I console log the results.
1:15:34And type of tweets two is array. Ah,
1:15:37wait.
1:15:39Nice.
1:15:40Um
1:15:41So now
1:15:43we do the winner based on
1:15:45the results.
1:15:49Is random really random?
1:15:53And you
1:15:54even ever do
1:15:57only random?
1:15:58Uh oh, actually yeah, we had someone
1:16:01giving the
1:16:02um
1:16:03Okay. Well, we did it.
1:16:06We did it before.
1:16:06We did it.
1:16:08Um are we ready?
1:16:11Hmm. Okay, so it's picking one winner.
1:16:13Or do we want to try it once?
1:16:17Okay, let's try it once before we pick
1:16:19the real winner. We try it.
1:16:21Just to make sure.
1:16:23is not the real one. Yeah.
1:16:25Okay, it was the retweet anyway, so
1:16:27good.
1:16:28But it works.
1:16:30So if we draw a Postman person, then we
1:16:33just throw them out and we draw again,
1:16:35right? Okay. So guys
1:16:39for this
1:16:41All that for this. I just I like
1:16:44Okay. Well, I guess let's do this. Let's
Picking the winners of sweet Postman swag
1:16:47do it.
1:16:52Okay, that was someone that I added at
1:16:54the end. Uh
1:16:57Let's see Let's see.
1:16:58Wait, I think they have my favorite one.
1:17:01Postman console. Yes.
1:17:05What what?
1:17:07Well, that was
1:17:08I remember them. So they said console.
1:17:10So
1:17:11lucky winner um
1:17:14Wavin
1:17:15Yeah.
1:17:16The Postman console wins as well. And to
1:17:18be fair, when we see how much we had to
1:17:20use it to build this
1:17:23Fair enough. Wow, that's serendipitous
1:17:26that you used the console, right, to
1:17:28choose the console. Okay, let's do one
1:17:30more drawing. We can I have some
1:17:33What? Let's do one more drawing. Extra
1:17:35swag? Yeah, yeah, yeah.
1:17:37Wait, can you see that? We have these
1:17:39Wait wait wait. Let me
1:17:42I Can you see that? Yeah, some Postman
1:17:44sunglasses.
1:17:45Postman sunglasses.
1:17:46I might have some extra like
1:17:49something little to send out. Let's pick
1:17:51a second winner, second place winner.
1:17:52Okay, second winner. Yeah. Uh I'll I'll
1:17:54go back to drawing.
1:17:56Postman glasses. Yes.
1:18:00Okay, we go again.
1:18:02Wait, clear it. Clear it so we can see
1:18:04it clearly.
1:18:05I need to make sure Okay, I have it open
1:18:06so I know. Okay. A rumba, yes. Then the
1:18:10next thing is a rumba.
1:18:12Okay, clear it.
1:18:14Send.
1:18:17Jeremy wins.
1:18:18Jeremy wins. Yay! What was their
1:18:20favorite? Uh let's see.
1:18:29Interceptor. Ooh, yes. We've not talked
1:18:32about Interceptor in a while. And
1:18:33there's some changes to it. So
1:18:35The Interceptor is real slick. Yep.
1:18:38I remember that tweet, too.
1:18:40Okay, do any more swag?
1:18:43Okay, do one more. I have socks or a
1:18:45t-shirt or something. Wait here. Yes,
1:18:47you won.
1:18:48Hey, console console. You get this.
1:18:52We've got a So just FYI,
1:18:54we'll get in touch with any of the
1:18:56winners through Twitter DMs and we'll
1:18:58ask you for all like sending details,
1:19:00etc.
1:19:01Yes. You said one more? One more.
1:19:04Okay. I'm feeling very generous today.
1:19:12Ah, it's always It's always the ones
1:19:14from the It's a I wonder if it's rigged.
1:19:17It might be rigged.
1:19:18Wait, what was their favorite?
1:19:20Uh let's see.
1:19:25Fever give us the Postman monitors which
1:19:27we used
1:19:28those today.
1:19:29And I guess Fever guess the guess the
1:19:31third one.
1:19:33Congrats. We have we have all three
1:19:35winners.
1:19:35Yes, we have three winners. Three out of
1:19:37one cuz it was meant to be only one
1:19:39person but we get three.
1:19:41Um, yeah, we'd be
1:19:43um, actually Fever has been pretty
1:19:44active with us on on Twitter lately so
1:19:46that's pretty cool. Um, let's
1:19:49um,
1:19:50I'll save you here. I'll be in touch in
1:19:52the
1:19:54in the next couple of hours through
1:19:56Twitter. Um, and then we'll we'll
1:19:58arrange that. But yeah, I think that's
Summary and wrap up
1:20:01uh
1:20:02started for today.
1:20:05Um, I feel like we covered a lot. We
1:20:07could have covered a lot more. People
1:20:09had really good questions and um
1:20:11Yeah. I feel like it was a good meaty
1:20:14stream. The drawing was fun.
1:20:19favorite thing these bobble heads.
1:20:22Um
1:20:23I don't even have one. Just so people
1:20:25know this is so exclusive even Postman
1:20:28employees don't have it. Did you enter
1:20:30the drawing?
1:20:31I did not cuz I'm a Postman employee.
1:20:35We'll find for a future stream we'll
1:20:37find a way for you to win one of these.
1:20:39Don't worry. We'll set up a special
1:20:40challenge just for you and then you can
1:20:42have one. You've only me as a
1:20:44participant.
1:20:45Well, it'll be a challenge. You'll have
1:20:47to earn it. You won't win it. Yeah.
1:20:49Cool. Uh, cool. Thank you everyone. Uh,
1:20:52yeah, we did a lot. We did the let me
1:20:54read at the title again. Yeah, we did a
1:20:57a monitor. Uh, we deployed first, right?
1:20:59Like we went on GitHub um, created an
1:21:02empty repo then sync that with uh with
1:21:04Postman.
1:21:05Um, put our API definition there. Then
1:21:08we generated the server code from
1:21:10Postman, uh, deployed it using uh we
1:21:12tried using Heroku, did not work. So we
1:21:14just deployed uh locally and then used
1:21:17NGROK to make the connection.
1:21:18Once we had that running, we wrote some
1:21:20tests.
1:21:21Uh, once the test were tested, not
1:21:26always working but as in like they could
1:21:27fail. Um, we monitored it so we used
1:21:30these tests
1:21:31uh and run them through a monitor to run
1:21:34every 5 minutes.
1:21:35And then we added the Slack notification
1:21:38on top of that so whenever the monitor
1:21:39would fail uh it would send a Slack
1:21:41notification and let us know, oh, this
1:21:43failed. Go and have a look. Uh, then we
1:21:45jumped into
1:21:47um
1:21:47series of questions cuz why not? And we
1:21:50did the giveaway and apparently I need
1:21:51like a lot of people are very happy with
1:21:53the with the giveaways that's that's
1:21:54pretty cool.
1:21:56Yeah, we have three winners instead of
1:21:57one.
1:21:59And uh and yeah, that's it. I think
1:22:02um
1:22:03we'll see you next week. We haven't yet
1:22:06announced all the live streams for next
1:22:08month.
1:22:09Uh, but I think next week it's me again
1:22:12with some people from MongoDB if I'm not
1:22:14mistaken or not at all.
1:22:18I don't remember. I know I have a um
1:22:20stream coming up soon. Not hopefully not
1:22:22next week. Uh, but it's with Twilio.
1:22:24We're going to be working on some
1:22:25real-time I think we're going to be
1:22:27working on some real-time stuff so
1:22:28that's going to be exciting and very
1:22:31nerve-wracking for me so hopefully we
1:22:33get to Do you do you know what's next?
1:22:36Uh, I think it is MongoDB um
1:22:39next week. But it's not been announced
1:22:40yet so yeah, for things that not
1:22:42announced, well, you're already here on
1:22:44our either LinkedIn, Twitch or um or
1:22:47YouTube. If you want to if you want to
1:22:49know when we're going live etc. I think
1:22:51Twitter
1:22:52uh is probably the easiest. We always we
1:22:54always post a message there. Um, you may
1:22:56also follow
1:22:58um
1:23:00I always get it confused. Joyce
1:23:03or me.
1:23:05Um, if you want to be aware of it, we
1:23:08we'll tweet either way about the about
1:23:10whatever event is coming up. Um, it's
1:23:13also a good way to be aware of giveaways
1:23:15that happened cuz we're the ones
1:23:17organizing it. Uh, is there a calendar I
1:23:19can subscribe to? We had that going for
1:23:21a while and we kind of sunset it. The
1:23:24best way to know uh that is let me
1:23:29get that link for you.
1:23:31I'm really excited about the MongoDB. We
1:23:33don't do enough like um
1:23:35we don't do a enough database uh
1:23:37streams. Secondly, the SQL no SQL is
1:23:39actually really um
1:23:41an interesting debate and I feel like we
1:23:43could be using no SQL for a lot of the
1:23:46types of streams that we do.
1:23:48So that'll be good. You'll be our
1:23:49resident MongoDB expert.
1:23:51So two things uh when you want to be
1:23:53aware of events, I'm sending first link
1:23:55which is So that's the home page of our
1:23:57uh learning center and there's an
1:23:59upcoming Postman event section. So
1:24:00whenever there's an event uh it's posted
1:24:02there, you have a link to see more
1:24:03details etc.
1:24:05Um
1:24:06and I'll bring it here. So it's
1:24:08learning.postman.com/
1:24:10um #upcoming-events.
1:24:13And
1:24:14um
1:24:15a clickable link so that would be the
1:24:17one.
1:24:18Uh, there's also uh obviously the
1:24:22GetPostman Twitter.
1:24:25Sign now.
1:24:29Oh, all right.
1:24:31I have one thing I want to tell one
1:24:33thing is uh
1:24:35is the Lost in Space puzzle. Uh, people
1:24:38have been solving this cool escape room
1:24:40situation thing going on and a lot of
1:24:42people are working alone which I'm like,
1:24:44holy cow, you must be really good at
1:24:45puzzles. But what I recommend is not to
1:24:48solve it on your own cuz it's really
1:24:49really hard. Uh, it's not really really
1:24:51hard but it can be very very tough. And
1:24:53so collect some friends and like work on
1:24:56it together. It should be like pretty
1:24:58easy to do if you're working with
1:25:00friends.
1:25:02But yeah, hard is pretty alone is pretty
1:25:05hard. Like I don't know.
1:25:06Alone is hard, yes.
1:25:08All right. Uh, thank you everyone for
1:25:09joining. We'll see you again in next
1:25:12event. Uh, if you're on Twitch, I see
1:25:14there was a lot of people joining from
1:25:15Twitch today.
1:25:16Uh, follow the channel just to get
1:25:17notified when we go live. It's once a
1:25:19week around the same time every time so
1:25:218:00 a.m. uh Pacific time.
1:25:24So yeah, we'll see you again around here
1:25:26or on another platform where we do
1:25:29events. Bye everyone. Goodbye.
1:26:37Yeah.