youngmon/atlassian-qna huggingface dataset:
Bamboo Specs and the reuse of tasks
Asked by J?rg Lang:

Hi there,

I'm starting right now to switch from manuelly clicked Build Plans and Deployment Projects to Bamboo Specs.

Especially for the Deployment Projects I have often:

* multiple environments
* same tasks for each environment
* different variable values

Im wondering, if there is any best practise to make the "tasks" reusable because I don't expect that it is the right approach to code the same list of tasks for every environment.

Thanks for given me an hint.

Cheers

Joerg


Answers:
author: Alexey Chystoprudov
body: Depending of your language of choice Java or YAML it will be different

If we talk about Java, put your tasks to some array and then reuse it

If you plan to use YAML, it has some limitation on repetitive elements usage, but look at <https://docs.atlassian.com/bamboo-specs-docs/7.2.4/specs.html?yaml#includes>

comments: author: J?rg Lang
body: Hey Alexey,  
thanks for you quick answer.

We plan to use Java to avoid any limitation.

Can you please provide a small nippet as an example?

Thanks

Joerg


author: Alexey Chystoprudov
body: ```
private static MavenTask maven3Task(String label) {
    return new MavenTask()
            .version3()
            .executableLabel(label);
}

public Plan plan() {
   return new Plan(new Project().key("Test")).stages(new Stage("Default stage")
.jobs(new Job("Default job", "JOB1").tasks(
   maven3Task("Maven 3.0").goal("clean install"),
   maven3Task("mvnvm").goal("test")
 )));
}
```


author: J?rg Lang
body: Hey Alexey,  
I'm very sorry, but I don't "understand" your solution snippet :/

As an example, the deployment has following tasks

* ScriptTask() "Stop Service"
* ScriptTask() "Stop Website"
* ScriptTask() "Deploy Backend"
* ScriptTask() "Start Service"
* ScriptTask() "Start Website"

These 5 tasks belong togehter and need to happen on each of the environments.

Please suggest, thanks.

Joerg


author: Alexey Chystoprudov
body: ```
Deployment deployment = new Deployment(new PlanIdentifier("TEST", "TEST"), "My deployment");
Task[] tasks = new Task[] {
        new ScriptTask().description("Stop Service").inlineBody("echo 'stop service'"),
        new ScriptTask().description("Stop Website").inlineBody("echo 'stop Website'"),
        new ScriptTask().description("Deploy Backend").inlineBody("echo 'Deploy Backend'"),
        new ScriptTask().description("Start Service").inlineBody("echo 'Start Service'"),
        new ScriptTask().description("Start Website").inlineBody("echo 'Start Website'"),
};

deployment.environments(
        new Environment("Env 1").tasks(tasks),
        new Environment("Env 3").tasks(tasks)
);
```


author: J?rg Lang
body: And Bamboo says:

```
cannot find symbol [ERROR]   symbol:   class Task
```


author: Alexey Chystoprudov
body: You need to have

```
import com.atlassian.bamboo.specs.api.builders.task.Task;
```

at the top of your class, next to other imports like ScriptTask, Deployment, PlanIdentifier etc


author: J?rg Lang
body: Thanks a lot, that worked now.

For any reason, the IntelliJ has stopped intellisense and import suggestion.


Tags: java

spec
Docker Runner Detached Environment?
Asked by Marais van Zyl:

We created a docker image that will serve as a docker runner. We installed a few tools that should be available and then added the installation path of the tools to the path. As an Example:  

ENV PATH="$PATH:/root/.dotnet/tools:/opt/tool-1/"

When we then run a build on the image in Bamboo, the build would fail because it can't find the tool installed in the /root/.dotnet/tools folder.

Does this mean that bamboo runs the image in a detached manner so the the profile is not loaded and we need to inject these ourselves?


Answers:
author: Marais van Zyl
body: This ended up me having a path variable wrong. Fixing that fixed my issue.
Enable/ disable jobs in stage dynamically?
Asked by Pawan Shrestha:

Is there a way to enable or disable job dynamically in runtime in Bamboo just like conditional tasks?


Answers:
author: Pawan Shrestha
body: One of the dirty solutions I am thinking is to create a wrapper build plan that would read the parameters/variables and based on the variables (e.g enableJob1, enableJob2... enableJob3 - these would be true or false), do followings:

1) create java spec in run time

2) push the spec and create (or update) the plan itself

3) run the updated plan

Not sure I am overthinking or is there any other good way to solve this.

comments: author: Suvradip Paul
body: Yes, I understand Plan within Plan to tackle it. Your purpose would be solved but this solution would not be a good practice to follow.


author: Pawan Shrestha
body: [@Suvradip Paul](/t5/user/viewprofilepage/user-id/4461672) ,

Thank you for the reply. I am using Bamboo 7.2.3 deployed in a local vm. Unfortunately the link you have shared is not what I am looking for.

Let me try to explain it more. I have a bamboo plan that has a number of jobs within a stage and each job has a number of tasks. The reason to have a number of jobs is to run them in parallel when required. Based on our need, we manually enable / disable the jobs before we execute the plan.

I want to move away from this behaviour and provide conditional execution of jobs. My thought was to use java spec and do one of the following:

i) either populate job (.Stage.jobs(job1, job2, ... jobN)

or

ii) enable/disable job (job1.enable(false), job2.enable(true).. and so on)

I am almost reaching to a conclusion that this is not possible as I cannot read variable outside task.

Not sure if there is another way to do it. I dont want to use conditional tasks as this will require to run stage even if i have to skip all the tasks (assuming i wanted to disable the sage).

Hope this makes it clear.

-Pawan


author: Suvradip Paul
body: Hi [@Pawan Shrestha](/t5/user/viewprofilepage/user-id/4215135) ,

Thanks for posting this in community.

I am not sure which version you are using, but I think this would solve your query (i.e. stopping an active job build) - <https://confluence.atlassian.com/bamboo/stopping-an-active-build-289276913.html>

Please accept the answer if it solves your query else please respond an allow others to share input.

Stay safe and healthy.

Cheers

Suvradip

comments: author: Pawan Shrestha
body: [@Suvradip Paul](/t5/user/viewprofilepage/user-id/4461672) ,

Sorry for super late reply but this is not what i am looking for. I dont want the build to be stopped but to selectively run jobs within a build.


Tags: job
How to use bamboo-artifactory-plugin with Bamboo YAML Specs
Asked by Ronald Nelson:

I am trying to use the [Bamboo Artifactory Plugin](https://github.com/jfrog/bamboo-artifactory-plugin) for accessing Artifactory with credentials.

I am able to manually create tasks that successfully upload and download artifacts, but when I try to convert the pipeline to use [Bamboo YAML Specs](https://confluence.atlassian.com/bamboo/bamboo-yaml-938844479.html) the generated YAML output is missing all of the necessary information.

For example, configuration is empty:

```
 - any-task:
plugin-key: org.jfrog.bamboo.bamboo-artifactory-plugin:artifactoryGenericTask
configuration: {}
```

This is not a Java project and I am not using maven or any similar tools, so I don't want to use Java Specs.

I am just zipping up a bunch of files and then pushing that artifact to the repo.

I have not been able to locate any documentation that has examples of how to code this task in YAML.

I'm hoping someone has solved a similar problem and can shed some light.

Thanks


Answers:
author: Marck
body: Have a look here:

<https://confluence.atlassian.com/bamkb/how-to-generate-yaml-specs-for-any-task-configurations-1052641946.html>


Tags: devops

spec

yaml
Proper format for using bamboo variables in a call to Jira REST API 2.0
Asked by james.mckean:

I am trying to add a new comment to an existing Jira issue that I have full rights to. If I hard code the values I want, it works, but the bamboo variable substitution is not working.

I should note that I am using the variables in a couple of different ways. In the URL, for authentication and some injected variables in the comment body.

I have tried ${bamboo.variable_name}, $BAMBOO_VARIABLE_NAME and $bamboo_variable_name, all of which are suggested in different posts.

Here is a sanitized version of my code which it in an inline script in a Bamboo task.

Can someone show me what I am doing wrong?

---

#! /bin/sh

curl --fail \\  
--request POST \\  
--url '<https://MyComapny.atlassian.net/rest/api/2/issue/$BAMBOO_ISSUE_KEY/comment>' \\  
--user '$BAMBOO_EMAIL:$BAMBOO_JIRA_TOKEN' \\  
--header 'Accept: application/json' \\  
--header 'Content-Type: application/json' \\  
--data '{  
"body": "MY STUFF HERE including $BAMBOO_INJECT_COMMENT_STUFF."  
}'


Answers:
author: james.mckean
body: I found it. The usual format (ie ${bamboo.variable}) works, but the URL needs to be "double quoted" not 'single quoted'. I also double quoted the authorization line, although not sure if I needed to. Anyway, it works.


Tags: jira

rest-api

variable
How to access networked drives through a Bamboo Task
Asked by Utsab Das [X]:

Hello! I am trying to add a Capability that uses an executable in a networked location on my Bamboo Remote Agent, but it is unable to find that path. Is this something that Bamboo can do? What am I missing?


Answers:
author: Utsab Das [X]
body: I was able to use the Remote folder rather than the local drive, but I need to be able to use the local path that's created. Is there a way to do this?
Resize logo for Status Page
Asked by Emily Moore:

I am tasked with updating our Statuspage to the new branding. I have inputted the logo, but it is too large for the container in the header. I have attempted to resize it, utilizing suggestions in your Knowledge Base, but have not been successful. Assistance is appreciated.

![Screen Shot 2020-12-28 at 3.20.49 PM.png](/t5/image/serverpage/image-id/123625i243C68F828B2E2F7/image-size/large?v=v2&px=999 "Screen Shot 2020-12-28 at 3.20.49 PM.png")


Answers:
author: Brant Schroeder
body: You can use custom CSS to make an adjustment to the logo. If you inspect the element and share the HTML with me I can provide some CSS for you to use. You can learn more about custom CSS here: <https://support.atlassian.com/statuspage/docs/use-custom-css-on-a-status-page/>
Removing components from resolved incidents
Asked by Jibin Mohammed:

Is it possible to remove the components from resolved incidents? Suppose I selected A and B component but later need to remove B from it.


Answers:
author: Nikola
body: Hi Jibin,

While it is not possible to edit affected components from past incidents directly in the UI, you could alternatively delete the incident using our API, and then use *Backfill an incident* feature from the UI to choose the components that better match the incident.

I hope this helped!

Cheers
How to change the duration of a scheduled maintenance?
Asked by Kwok_ Stephen:

Hi,

After scheduling a maintenance, I need to change it from 1 hour to 2 but I'm not sure how. Can someone please help? I can click on a "maintenance" and then the pencil icon, and change the starting time, but I don't see anywhere to change the duration.

Thank you,

skwok


Answers:
author: chare
body: It appears you can't do that in the web interface. It may be possible to do it using the API, but honestly I didn't try it.
Create incident template with custom fields Statuspage
Asked by Nagaraja JB:

Is it possible to create an incident template with custom fields?


Answers:
author: Mark Campbell-Vincent
body: Hi [@Nagaraja JB](/t5/user/viewprofilepage/user-id/4194515) -

Welcome to the Statuspage community! Creating incident templates currently only give you the option to use the provided fields. If you create a ticket with[Statuspage Support](https://support.atlassian.com/statuspage/) , we can add this as a feature request if a ticket is not already created.

Hope this helps!


Tags: cloud
Status Page Slack Integration
Asked by cleyte:

We currently have two Slack Channels internally within our organization to communicate platform issues. The yellow alert channel is used for issues that minor and the red alert channel is used for issues resulting in a platform outage. Is there a way to triage the severity of the status so that it goes to the appropriate Slack channel when creating a status update?


Answers:
author: Mark Campbell-Vincent
body: Hi [@cleyte](/t5/user/viewprofilepage/user-id/3712354) -

Triaging by the severity of the status to the appropriate Slack channel currently isn't a feature with the Slack integration. The Slack integration can only filter by components for a channel, not by status updates.

Hope this helps!
Are their limits on the number of components in the non-Free tiers of Statuspage?
Asked by Shane Kerschtien:

The description of the free tier is very clear, Statuspage Free tier allows for 25 components to be created. What's not clear, in any of the pricing schemes, is how many components are possible in the paid plans. Are they all unlimited number of components?


Answers:
author: Connor Eyles
body: Hey [@Shane Kerschtien](/t5/user/viewprofilepage/user-id/457518)   

On the trial license, you can have a maximum of 25 components per page. For paid plans, the limit is 1100.  

Thanks,  
Connor


Tags: cloud
uptime API without uptime historical chart
Asked by Ioan Stoita:

Hi,

I need to use the uptime API, but my team does not want to see the historical uptime chart. Is there any way I can use the uptime API without checking the historical uptime chart, or any way to hide the historical uptime chart from the UI?


Answers:
author: Zach
body: Hey loan

You can hide the uptime showcase on the component itself by selecting components from the left hand nav in the management console \> edit \> then disable 'Display the historical status of this component on my status page'


Tags: uptime
Create incidents by component major outage
Asked by Robin Sundstr?m:

Hi! Is there a way to automate the creating of an incident if a given component have the status: Major outage ? We have setup a automation email which checks the health for one of our services and i would like to create an incident if that components receives the "DOWN" signal.


Answers:
author: chare
body: What you are looking for is the Statuspage API. You can find it here:

<https://developer.statuspage.io>

Specifically, you want to look at the [create an incident section](https://developer.statuspage.io/#operation/postPagesPageIdIncidents). You can use the sameple curl command on the page, or build your own automation to create the incident.

Incidentally, the automation email does not check the status of your component. it is how you tell statuspage that your component has changed status. So when you detect your component is "DOWN", you send an email to the component automation address with the subject DOWN, and statuspage adjusts the browser view. When you see it is back up, you send an email with the subject UP.

There is no "intelligence" behind the browser view to evaluate the state of the endpoint. Hope this helps.

Chris

comments: author: Robin Sundstr?m
body: What i meant was that we monitor one of our services and then send a signal to the component mail. I was just wondering if there was a way inside Statuspage to make a rule which creates an incident when a certain component have the status - major outage. You have none the less answered the question i had so thank you!


author: chare
body: There are some good examples on that page like this one using CURL

```
curl https://api.statuspage.io/v1/pages/{page_id}/component-groups \
-H "Authorization: OAuth your-api-key-goes-here" \
-X POST \
-d "component_group[components][]=your-id" \
-d "component_group[name]=string"
```

I created a python script that checks the endpoints and when I get a specific number of down or degraded performance events, I automatically create an incident with \[AUTO\] in the title. If the service returns to operational and there is an incident for the component with \[AUTO\] in the name, then the script can resolve it. If \[AUTO\] is not in the name, then the script bypasses it as a human created it.


author: Robin Sundstr?m
body: That was a nice solution, i will definitely take a closer look on how to implement something like that for our environment.

Thanks!


author: Carmen Nadeau
body: I'm not sure if what you want to do is this but I encourage you to check this page:

<https://support.atlassian.com/statuspage/docs/get-started-with-email-automation/>


Tags: cloud
How to reach a Salesteam Member of Statuspage ?
Asked by Jonathan Ott:

Hi,

Does anyone know how to reach a Statuspage Salesteam Member ?

I have opened four Quote Requests for an annual subscription but I have no reply.

Thank you very much for your help.

Regards

![Atlassian.png](/t5/image/serverpage/image-id/120389iC1DF85E6A0934627/image-size/large?v=v2&px=999 "Atlassian.png")


Answers:
author: Mark Campbell-Vincent
body: Hi [@Jonathan Ott](/t5/user/viewprofilepage/user-id/1469614) -

My apologies for the delay in response regarding this. I've reached out to one of my colleagues from the Sales team to further assist.

comments: author: Jonathan Ott
body: Hi [@Mark Campbell-Vincent](/t5/user/viewprofilepage/user-id/2365445)

Thank you very much help. I can confirm that one ouf your colleagues has contacted me.

Regards,

Jonathan


Tags: cloud
How to start migration?
Asked by Hoc:

Hello,

Im trying to start a migration but I can't see anywhere how you'd do that?

I'm reading this document here

<https://support.atlassian.com/statuspage/docs/learn-the-basics-of-the-migration-process/>

It says that I should receive an email notifcation but don't I need to start it first? Doesn't provide info on how to start it?

Thanks!


Answers:
author: chare
body: So, there is nothing to start. Statuspage assumes your components are operational and report that every day unless (a) you change the status on the console, or (b) use the API either with CURL or your favorite programming language to change the status, open/close incidents, etc.

to see what I mean, go to your public statuspage and click on "subscribe to updates". once you have confirmed your subscription, go back to your management console and create an incident or change the status of a component to something other than operational. You will then get an email.

If you want the status to change automatically based upon say response time, or lack of response, you will need to develop your own automation; Statuspage doesn't do that.

HTH,

Chris


Tags: cloud
Can I create multiple statuspages ?
Asked by julien.tanay:

Hi,

Can I create multiple status pages under my Atlassian org ?

Thanks.


Answers:
author: Carmen Nadeau
body: You can create them directly from your StatusPage:

![image.png](https://community.atlassian.com/t5/image/serverpage/image-id/120368iC7B7F82A06AAECCA/image-size/large?v=v2&px=999 "image.png")

comments: author: julien.tanay
body: Thanks. I can't see this. I'm still using a trial, is this related ?


author: julien.tanay
body: Here is what I see, without any "Add another page" link :

![Capture d?e?cran 2020-12-03 a? 18.53.11.png](https://community.atlassian.com/t5/image/serverpage/image-id/120731i8D1A530A833718CE/image-size/large?v=v2&px=999 "Capture d?e?cran 2020-12-03 a? 18.53.11.png")


author: Carmen Nadeau
body: You need to be an administrator to add a page


author: julien.tanay
body: Thank you


Tags: cloud
Just Installed Statuspage What's Next?
Asked by Tim Tidmarsh:

I tried to login but it's telling me my account doesn't exist.


Answers:
author: Nikola
body: Hi Tim,

Thanks for posting this question. Since we already replied to your question in the support ticket, I suggest that we continue our correspondence there.

<br />

Regards,

comments: author: Tim Tidmarsh
body: Thanks, it now appears in Admin under Application Settings and I was able to walk thru the wizard. Looks like I'm set. Thanks.


Tags: cloud
Where do i find statuspage API and the stauspageID?
Asked by LIndsay Kiefer:

For On-Prem Datacenter where would i find statuspage API and the stauspageID? Following <https://support.atlassian.com/statuspage/docs/set-up-a-jira-service-management-integration/> i do not have an Avatar in the bottom left to give me the API and PageID.


Answers:
author: chare
body: you can get the API docs for statuspage at [https://developer.statuspage.io/#section/Basics.](https://developer.statuspage.io/#section/Basics?)

the API needs your API key, which you can get by following the instructions at:

<https://developer.statuspage.io/#section/Authentication>

if you log into statuspage, mouse over your user avatar in the bottom left and it will show a menu option for "API Info". This will show your API key and your page id.

Chris

![Screen Shot 2020-12-03 at 12.07.39 PM.png](https://community.atlassian.com/t5/image/serverpage/image-id/120734i981AB393862A3876/image-size/large?v=v2&px=999 "Screen Shot 2020-12-03 at 12.07.39 PM.png")

comments: author: LIndsay Kiefer
body: [@chare](/t5/user/viewprofilepage/user-id/3791762)How can i have status page set up in a completely on-prem environment that does not reach out to the internet at any point?


author: chare
body: As far as I know, statuspage doesn't have an on-premise hosting option. You can create private statuspages, if you have a paid plan. That way only the users who can authenticate can see your statuspage.

HTH

Chris


author: LIndsay Kiefer
body: [@chare](/t5/user/viewprofilepage/user-id/3791762)Thank you !!!


Tags: data-center
Audience Specific Pages - Broad-Impact Messages
Asked by Ed Brooks:

We're deploying a single instance, multi-tenant B2B service at AWS. We need audience-specific pages to enable a unique service health dashboard for each tenant.

We do not want to provide any public, non-authenticated access.

But some communications - incidents and well as maintenance notifications - need to go to **all** subscribers. How is this accomplished using Audience-specific pages without having to post the same content to each audience's page?

Thanks in advance!!


Answers:
author: Carmen Nadeau
body: A component can be associated to many groups. But you seem to be talking about an event that must be seen by everybody no matter the component ?


Tags: user
Collapse Past Incidents? - is it possible?
Asked by Mathias T?ndering:

Hello whould anyone be able to answer or guide us to where information about options to collapse the past incidents?

We want to make our site more simple and this would help us a lot in this project


Answers:
author: Nikola
body: Hi Mathias,

Although the Statuspage team is unable to help with customizations, we have compiled frequently used CSS Customizations on this Page that might be helpful for your case:

[https://support.atlassian.com/statuspage/docs/css-and-javascript-snippets-for-customizations/](https://support.atlassian.com/statuspage/docs/css-and-javascript-snippets-for-customizations/?)

Although the ability to collapse past incidents is not covered here, there are some similar snippets that you can use to show fewer days of history or remove the link completely.

Regards,


Tags: app

cloud

expand

incident
Migrating Status page
Asked by kelly_clayton:

How long should the migration for Status page take? My screen has said Migration in Progress for hours now. When should I be concerned?


Answers:
author: Carmen Nadeau
body: I took us less then 5 minutes for the migration. We just started our page and have maybe 30 components but we don't have a lot of subscribers yet and 10 "admin"

comments: author: kelly_clayton
body: Thank you! It never did t "finish" but all appears to have completed. I reached out to support to make sure. Thanks for taking the time to respond!


Tags: cloud