This page contains examples of provider match and function scripts for some common providers.
...
This sample Bitbucket function script manages FlexDeploy builds and project streams with the assumption it will be triggered from a Bitbucket push event.
Info |
---|
Bitbucket does not send changed files in the push event, but that information is available via the diffstat API. The getChangeLogs function will use that API and as such requires a valid user/password to make the api call. It is recommended that BITBUCKET_USER and BITBUCKET_PASSWORD provider properties are created for passing to this function. |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//Execute FLEXDEPLOY functions on an incoming webhook message def functionName = "BitbucketBuild"; LOG.info("Running function: ${functionName}"); //Find and build projects from the payload //If the QUERY_PARAMS include a projectId that single project will be built instead //The 3rd argument indicates to create any missing streams on the projects //The last two arguments are for additional Bitbucket API calls to get change log information BITBUCKET.buildProjects(PAYLOAD, null, true, BITBUCKET_USER ,BITBUCKET_PASSWORD); |
...
This function finds projects affected by a push from Azure Repos, gets the change logs, and builds relevant projects. The Azure push event includes branch created/deleted events, but Azure allows filtering webhooks to send by branch. In this case, webhooks will be received from Azure only for push events from main branches.
Info |
---|
Azure Repos does not send changed files in the push event, but that information is available via their commits API. The getChangeLogs function will use that API and as such requires a valid user/personal access token to make the API call. It is recommended that provider properties are created for passing to this function. |
Info | ||
---|---|---|
| ||
the AZURE object also includes a simplified buildProjects method like the other providers above which can be used in replacement of the below sample. |
...
Microsoft Teams Incoming Webhooks are validated and processed Synchronously. Behind the scenes, the JWT token is validated and the message is checked for unauthorized modification. The user that clicked the button is matched to a FlexDeploy user account behind the scenes using the JWT Token found in the HTTP Headers. If the matched user is authorized to approve/reject the linked FlexDeploy task, the task is approved or rejected and the card is updated to indicate that the task was processed.
...
Code Block | ||
---|---|---|
| ||
MICROSOFTTEAMS.updateTask(QUERY_PARAMS,HTTP_HEADERS,"<Teams Messaging Integration Account Code>"); |
...