none
Using the same configuration in multiple activities in an OIP RRS feed

  • Question

  • I am new to developing activities but I can successfully build an activity configuration in one activity but I cannot seem to figure out how to use that same activity configuration in another activity. Is there some example code out there to help me with this problem?
    Saturday, February 18, 2017 3:23 PM

All replies

  • Hi,

    you can copy the configured Activity and paste it another or the same Runbook.

    Regards,

    Stefan


    Visit go2azure.eu and my blog at www.sc-orchestrator.eu !

    Sunday, February 19, 2017 11:15 AM
    Answerer
  • Actually this is in Visual Studio when I am writing custom activity. If I specify a few activities and bundle them up in the same OIP I would like to use the same configuration across all of the activities. When I specify [ActvityConfiguration] in another .cs file that I am bundling I have to setup a configuration for each activity to use in the runbook designer. Essentially I need to be able to use the below once and have all activities in the bundled OIP use the same class but that eludes me.

    Example code at the bottom:

    https://msdn.microsoft.com/en-us/library/microsoft.systemcenter.orchestrator.integration.activityconfigurationattribute.aspx

    Monday, February 20, 2017 2:11 PM
  • You are on the right track using Orchestrator configuration.

    First you need a class to create the configuration.  This one stores two properties "Server Name" and "Polling Interval"

    using Microsoft.SystemCenter.Orchestrator.Integration;
    
    namespace My.Orchestrator.ServiceManager.Ext
    {
        [ActivityData("My Service Manager Tool Settings")]
        public class ServiceManagerSettings
        {
            [ActivityInput("Server Name")]
            public string ServerName
            {
                set;
                get;
            }
            [ActivityInput("Polling Interval")]
            public int PollingInterval
            {
                set;
                get;
            }
        }
    }

    Next in each of your activities you need to initialize an instance of this class.  Class declaration and Design section shown for context.

       [Activity("Get Child WorkItems")]
        public class GetChildWorkItems : IActivity
        {
    
            [ActivityConfiguration]
            public ServiceManagerSettings Settings
            {
                set;
                get;
            }
            public void Design(IActivityDesigner designer)
            {
    


    In the activity you can access the configuration with:

     Settings.ServerName and Settings.PollingInterval.

                EnterpriseManagementGroup emg = MPUtilities.GetManagementGroupConnection(Settings.ServerName);

    Bundle into an OIP and deploy as normal to the runbook designer AND the server it is connected to.  You will see the configuration choices in the top menu of the runbook designer.

    Hope this helps.

    btw.  Does anyone know how to access the configuration in the MS branded SCSM OIPs?  be nice not to have to deploy my own.

    Thanks

    Rod Marten

    • Proposed as answer by RodMarten Wednesday, December 13, 2017 4:41 PM
    Wednesday, December 13, 2017 4:41 PM